ROS noetic,ROS melodic 安装 MoveIt 并运行

news2024/12/28 20:06:23

ROS noetic,ROS melodic 安装 MoveIt 并运行

  • 前言
  • 更新功能包版本
  • 下载依赖文件
  • 创建工作区和软件源
  • 下载源代码
  • 安装编译器缓存(可选环节)
  • 编译Moveit!
  • 安装Moveit!
  • 检测是否安装成功

前言

在安装过程中我也碰壁过很多次,尤其实在很多教程中说直接运行: sudo apt-get install ros-noetic-moveit就可以安装成功,但是试过就知道,ROS melodic版本(包括 noetic 版本)下的Moveit需要首先下载Moveit源码并成功编译后才能够安装成功,否则无法运行roslaunch moveit_setup_assistant setup_assistant.launch

更新功能包版本

首先需要确保已安装的软件包为最新版本:

rosdep update
sudo apt-get update
sudo apt-get dist-upgrade 

下载依赖文件

Moveit源代码安装需要wstool,catkin_tools和可选的clang三类文件:

sudo apt-get install python3-wstool python3-catkin-tools clang-format-13

创建工作区和软件源

首先创建一个名为ws_moveit的工作区,在该工作区中执行安装操作:

mkdir ~/ws_moveit
cd ~/ws_moveit 

注意:下列命令行代码均在 ws_moveit 文件夹中完成。

下载源代码

下载所需的存储库,并从catkin工作区的根目录中进行构建:

wstool init src
wstool merge -t src https://raw.githubusercontent.com/ros-planning/moveit/master/moveit.rosinstall
wstool update -t src
rosdep install -y --from-paths src --ignore-src --rosdistro ${ROS_DISTRO}
catkin config --extend /opt/ros/${ROS_DISTRO} --cmake-args -DCMAKE_BUILD_TYPE=Release 

注意:本步骤中的下载可能会因为网络问题漏掉某些软件包,每一步执行完毕后需要注意,若某个命令下有下载失败的软件包需要重复执行该命令

安装编译器缓存(可选环节)

从源代码构建全部甚至部分MoveIt可能需要一个小时。 编译器缓存可以防止重新编译未更改的文件,从而可以将此时间减少到几分钟。 最常用的编译器缓存是适用于gcc和其他类似编译器的ccache。

安装ccache:

sudo apt-get install ccache

安装后需要对ccache进行一系列的配置,要在所有受支持的编译器中自动使用ccache,需要将/ usr / lib / ccache目录放在PATH之前(对于Debian或Ubuntu以外的系统,此目录可能有所不同)

echo 'export PATH=/usr/lib/ccache:$PATH' >> $HOME/.bashrc
source $HOME/.bashrc 

使用以下命令,可以利用ccache查看build过程中命中率和缓存使用情况的统计信息:

ccache --show-stats

大致效果如下:
在这里插入图片描述

编译Moveit!

catkin build

在该步骤中需要耗费较长时间(若成功配置ccache可能会缩短部分时间,根据电脑性能决定)
成功编译后的提示如下:
在这里插入图片描述

如果出现下面类似存在警告或失败的功能包提示,再次运行编译命令即可:
在这里插入图片描述

配置Catkin工作区环境变量:

source devel/setup.bash

安装Moveit!

执行完以上步骤后,运行以下命令即可安装Ros noetic版本下的Moveit!

sudo apt-get install ros-noetic-moveit

如果是ROS melodic,则运行 sudo apt-get install ros-melodic-moveit

更新环境变量:

source /opt/ros/noetic/setup.bash

检测是否安装成功

启动Moveit-Setup-Assistant:

roslaunch moveit_setup_assistant setup_assistant.launch

启动成功后出现如下界面,恭喜你已经成功安装Ros Melodic下的Moveit!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/787819.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[算法通关村] 1.3 链表的删除

上一节我们谈到了链表的头插、尾插、中间插入的方法,忘记的小伙伴可以复习一下: [算法通关村] 1.2 链表的插入 接下来,完成链表的删除工作,我们在上一节的学习中,分别在链表的开头、中间和结尾插入了节点,…

【USACO OPEN12铜组】岛屿

【USACO OPEN12铜组】岛屿 文章目录 【USACO OPEN12铜组】岛屿题目描述输入格式输出格式数据范围输入样例:输出样例: 思路code 2014. 岛 - AcWing题库 题目描述 每当下雨时,农夫约翰的田地总是被洪水淹没。 由于田地不是完全水平的&#xf…

Cesium态势标绘专题-扇形(标绘+编辑)

标绘专题介绍:态势标绘专题介绍_总要学点什么的博客-CSDN博客 入口文件:Cesium态势标绘专题-入口_总要学点什么的博客-CSDN博客 辅助文件:Cesium态势标绘专题-辅助文件_总要学点什么的博客-CSDN博客 本专题没有废话,只有代码,代码中涉及到的引入文件方法,从上面三个链…

(五)FLUX中的数据类型

以下内容来自 尚硅谷,写这一系列的文章,主要是为了方便后续自己的查看,不用带着个PDF找来找去的,太麻烦! 第 5 章 FLUX中的数据类型 5.1 10 个基本数据类型 5.1.1 Boolean (布尔型) 5.1.1.1 …

Pytorch学习笔记 | 利用线性回归实现最简单的梯度下降 | 含代码和数据

代码 import torch import numpy as np import matplotlib.pyplot as plt import pandas as pddef make_linear_regression_data():x = np.linspace(start=10

IIC通讯故障纠错一例

1.问题描述 IIC在既有的工作中,用来协调两个外围芯片。一个芯片扩展IO,一个处理显示。仔细核对了IIC的种种配置,并且最终测量了输出的时钟和数据波形,最终的时钟线波形是这样的: 单片机master模式,输出前面…

ES6基础知识八:你是怎么理解ES6中Proxy的?使用场景?

一、介绍 定义: 用于定义基本操作的自定义行为 本质: 修改的是程序默认形为,就形同于在编程语言层面上做修改,属于元编程(meta programming) 元编程(Metaprogramming,又译超编程,是指某类计算…

【Java练习题汇总】《第一行代码JAVA》异常处理篇,汇总Java练习题——异常的概念及处理标准格式(try、catch、finally、throws、throw)、断言机制 Assertion ~

Java练习题 异常处理篇 1️⃣ 异常处理篇 1️⃣ 异常处理篇 一、填空题 Throwable 下的两个子类是______________ 、______________ 。ArthmeticException 类表示______________ 异常, ArraysIndexOutOfBoundsException 表示______________ 异常。一个 try 代码后…

Linux内核提权漏洞(Dirty-pipe)复现

前言:CVE-2022-0847 是存在于 Linux内核 5.8 及之后版本中的本地提权漏洞。攻击者通过利用此漏洞,可覆盖重写任意可读文件中的数据,从而可将普通权限的用户提升到特权 root。 CVE-2022-0847 的漏洞原理类似于 CVE-2016-5195 脏牛漏洞&#xf…

Vue入门项目——WebApi

Vue入门——WebApi vue3项目搭建组合式API响应式APIreactive()ref() 生命周期钩子computed计算属性函数watch监听函数父子通信模板引用组合选项 vue3项目搭建 简单看下Vue3的优势吧 下载安装npm及node.js16.0以上版本(确保安装成功可用如下代码检查版本&#xff0…

YOLOX-PAI 论文学习

1. 解决了什么问题? 对 YOLOX 做加速,在单张 Tesla V100 上取得了 42.8 42.8 42.8mAP,推理速度为 1 毫秒。 2. 提出了什么方法? 2.1 主干网络 YOLOv6 和 PP-YOLOE 都将主干网络从 CSPNet 切换到了 RepVGG。RepVGG 在推理时&a…

PHP在线相册--【强撸项目】

强撸项目系列总目录在000集 PHP要怎么学–【思维导图知识范围】 文章目录 本系列校训本项目使用技术 上效果图phpStudy 设置导数据库项目目录如图:代码部分:主页 配套资源作业: 本系列校训 用免费公开视频,卷飞培训班哈人&…

【深度学习】【Image Inpainting】Free-Form Image Inpainting with Gated Convolution

模型:DeepFillv2 (CVPR’2019) 论文:https://arxiv.org/abs/1806.03589 代码:https://github.com/JiahuiYu/generative_inpainting 文章目录 效果AbstractIntroductionRelated WorkAutomatic Image InpaintingGuided Image Inpainting and Sy…

KaiwuDB 资深解决方案专家周幸骏:打造核心时序引擎,释放数据新价值

以下为浪潮 KaiwuDB 资深解决方案专家周幸骏受邀于7月4日在京举行的可信数据库发展大会发表演讲的实录摘要,欢迎大家点赞、收藏、关注! 01 聚焦“时序” 据 IDC 等权威数据统计,预估 2025 年物联网设备产生的数据可达到 79.4ZB ;…

ubuntu与windows之间的文件共享

最近在做项目,需要用到ubuntu进行代码编译生成可执行文件,但是我个人阅读和编写代码喜欢用source insight这个软件IDE。安利一下这个软件,阅读代码和编辑代码真的很棒啊,谁用谁知道吧! 由于在ubuntu中安装source insig…

ShardingJDBC - 学习笔记

一、简介 官网:Apache ShardingSphere 下载地址:下载 :: ShardingSphere 快速入门:ShardingSphere-JDBC :: ShardingSphere 分库分表框架 ShardingSphere包括Sharding-JDBC、Sharding-Proxy、Sharding-Sidecar三个开源分布式数据库中间件解…

每月被攻击4000万次,全球最不安全的关键基础设施实锤了

在当今不确定的地缘政治环境中,无论是个人还是企业都高度关注潜在的网络攻击。而这其中最令人担忧的是对关键基础设施和工业资产的攻击。 关键基础设施中尤其是电力、交通、通信、金融等系统均在现代社会中发挥着至关重要的作用,因此关键基础设施一直是…

程序员如何向老板提加薪?

今天的问题不仅适用于程序员,对于其他职业同样适用。如果你认为自己所做的工作应该得到更多的报酬,并且想为此做点什么,你有两个选择:找一个新的高薪工作或要求加薪。 这两种选择都会带来新的焦虑,但它们都会带来新的…

【框架篇】Spring Boot 配置文件(详细教程)

Spring Boot 配置文件 一,配置文件的用途 配置文件在Spring Boot项目中的地位是比较重要,其功能可主要归纳为以下几个: 进行配置程序属性:配置文件允许设置应用程序的各种属性,如数据库连接、端口号、日志级别、缓存…

多态及其原理

文章目录 构成多态的条件虚函数作用:完成重写 重写重载 重写 隐藏为什么析构函数要搞成符合多态?原理预热对于基类指针或引用指向父类或者子类的成员函数是如何调用不同的函数呢? 一个类如果是基类,它的析构函数最好加上virtual 构成多态的条…