ROS noetic,ROS melodic 安装 MoveIt 并运行

news/2024/7/5 4:29:41

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://lihuaxi.xjx100.cn/news/1375194.html

相关文章

RecyclerView 一次性加载大量数据时(2000条音频数据),导致UI线程卡顿,频繁GC的问题

问题描述: 公司项目有这么一个需求,扫描sdCard或U盘的音频数据,并分类展示出来,当数据量比较大时(2000多条数据以上),显示列表慢和滑动列表会很卡。 问题的寻找过程: 当时想的就是…

spring6——概述

文章目录 概述Spring 是什么?Spring 的狭义与广义Spring Framework特点Spring模块组成 概述 Spring 是什么? Spring 是一款主流的 Java EE 轻量级开源框架 ,Spring 由“Spring 之父”Rod Johnson 提出并创立,其目的是用于简化 J…

利用FME实现批量提取图斑特征点、关键界址点提取、图斑拐点抽稀,解决出界址点成果表时点数过多问题的方法

目录 一、实现效果 二、实现过程 1.提取图斑界址点 2.计算各界址点的角度 3.筛选提取关键界址点 三、总结 对于范围较大的图斑,界址点数目较大,在出界址点成果表前,往往需要对界址点进行处理,提取出关键特征点作为出界址点成…

SIGIR 2023 | 语音让对话推荐更easy,火山语音联合新加坡科学研究院发布业内首个语音对话推荐数据集

近年来,推荐系统在工业界取得了巨大成功,甚至成为互联网发展中不可或缺的增长引擎,基于此研究者们也在积极探索推荐系统的新形态,其中对话推荐系统(Conversational Recommender System,简称CRS)…

利用 trait 实现多态

我在书上看到基于 std::io::Write 的示例,它是一个 trait 类型,内部声明了一些方法。和 go 语言不同,rust 中类型必须明确实现 trait 类型,而 go 语言属于 duck 模式。 std::io::Write下面的例子中调用 write_all 方式来演示&…

01 矩阵(力扣)多源广度优先搜索 JAVA

给定一个由 0 和 1 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 输入:mat [[0,0,0],[0,1,0],[0,0,0]] 输出:[[0,0,0],[0,1,0],[0,0,0]] 输入…

2023百强县名单出炉!千亿县达54个

作为国民经济发展中的基本单元,县域经济发挥着重要作用。 赛迪顾问25日发布的《2023中国县域经济百强研究》(下称“报告”)显示,千亿县达54个,百强县前10名中江苏省独占6席。 在百强县前10名中,江苏省占席最…

如何在3ds max中创建可用于真人场景的巨型机器人:第 1部分

推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 创建主体 步骤 1 打开 3ds Max。 打开 3ds Max 步骤 2 在左侧视口中,按键盘上的 Alt-B 键。它 打开视口配置窗口。 打开“锁定缩放/平移”和“匹配位图”选项。单击“文件”并转到参考 …