Ubuntu18.04+Ros Melodic安装Moveit

Ubuntu18.04+Ros Melodic安装Moveit框架

感谢Robot_Tiger_原文https://blog.csdn.net/CH_monsy/article/details/108001875
  • 一、Moveit框架介绍
  • 二、安装准备工作
  • 三、安装Moveit源码
    • 更新功能包版本
    • 下载依赖文件
    • 创建工作区和软件源
    • 下载源代码
    • 安装编译器缓存(可选环节)
    • 编译Moveit!
  • 四、安装Moveit!
  • 五、检测安装是否成功

一、Moveit框架介绍

Moveit是一个由一系列移动操作的功能包组成的集成化开发平台,提供友好的GUI,是目前ROS社区中使用度排名前三的功能包,Moveit包含以下三大核心功能,并集成了大量的优秀算法接口:

1.运动学:KDL,Trac-IK,IKFast...
2.路径规划:OMPL,CHMOP,SBPL..
3.碰撞检测:FCL,PCD...

  
    
    
    
    
  
    
    
    
    
  • 1
  • 2
  • 3

同时针对ROS的不同版本(如Kinetic,Indigo,Melodic),Moveit的安装方式有所不同,其中因为Moveit在Melodic版本下开源较晚,在ROS Melodic版本下安装会遇到各类问题,现为读者提供一类能够在ROS Melodic下完整安装Moveit的教程:

二、安装准备工作

在安装前,一定要保证自己的软件源已经选择最优软件源,否则后续大量的下载任务会慢到怀疑人生
打开 [软件和更新]–>点击[下载自]–>[选择最佳服务器]–>更新并退出
Ubuntu18.04+Ros Melodic安装Moveit_第1张图片

三、安装Moveit源码

若还未成功安装Ros Melodic,可参考文章:Ubuntu18.04+Ros Melodic安装及环境配置+Ros安装常见问题解决方法

更新功能包版本

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

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

 
   
   
   
   
 
   
   
   
   
  • 1
  • 2
  • 3

下载依赖文件

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

 sudo apt-get install python-wstool python-catkin-tools clang-format-3.9 

 
   
   
   
   
 
   
   
   
   
  • 1

创建工作区和软件源

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

mkdir ~/ws_moveit
cd ~/ws_moveit 

 
   
   
   
   
 
   
   
   
   
  • 1
  • 2

接下来,根据安装的ROS版本,为ROS工作区提供源以加载必要的环境变量:

查看自己的ROS先在终端输入roscore,如下 * /rosdistro: melodic
melodic版本选择:
source /opt/ros/melodic/setup.bash
kinetic版本选择:
source /opt/ros/kinetic/setup.bash 


 
   
   
   
   
 
   
   
   
   
  • 1
  • 2
  • 3
  • 4

下一步中所需的$ {ROS_DISTRO}变量将会从已配置好的环境变量中选取

下载源代码

下拉所需的存储库,并从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 

 
   
   
   
   
 
   
   
   
   
  • 1
  • 2
  • 3
  • 4
  • 5

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

!!!!! 如果出现missing这个不要怕,在所在文件夹下,把这个几个文件夹创建就好了

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

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

安装ccache:

sudo apt-get install ccache

 
   
   
   
   
 
   
   
   
   
  • 1

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

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

 
   
   
   
   
 
   
   
   
   
  • 1
  • 2

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

ccache --show-stats

 
   
   
   
   
 
   
   
   
   
  • 1

大致效果如下:
Ubuntu18.04+Ros Melodic安装Moveit_第2张图片

编译Moveit!

catkin build

 
   
   
   
   
 
   
   
   
   
  • 1

在该步骤中需要耗费较长时间(若成功配置ccache可能会缩短部分时间,根据电脑性能决定)
成功编译后的提示如下:
在这里插入图片描述如果出现下面类似存在警告或失败的功能包提示,再次运行编译命令即可。
Ubuntu18.04+Ros Melodic安装Moveit_第3张图片
配置Catkin工作区环境变量:

source ~/ws_moveit/devel/setup.bash # or .zsh, depending on your shell

 
   
   
   
   
 
   
   
   
   
  • 1

四、安装Moveit!

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

sudo apt-get install ros-melodic-moveit

 
   
   
   
   
 
   
   
   
   
  • 1

可选:(安装PR2的MoveIt相关的包)

sudo apt-get install ros-melodic-moveit-pr2

 
   
   
   
   
 
   
   
   
   
  • 1

更新环境变量:

source /opt/ros/melodic/setup.bash

 
   
   
   
   
 
   
   
   
   
  • 1

特别说明:
在安装过程中我也碰壁过很多次,尤其实在很多教程中说直接运行
sudo apt-get install ros-melodic-moveit就可以安装成功,但是试过就知道,Ros Melodic版本下的Moveit需要首先下载Moveit源码并成功编译后才能够安装成功,否则会出现

   下列软件包有未满足的依赖关系:
    ros-melodic-moveit-full : 依赖:xxxxx 但是它将不会被安装
  E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

  
    
    
    
    
  
    
    
    
    
  • 1
  • 2
  • 3

的软件依赖问题,解决起来很棘手,一旦成功编译Moveit源码后,即可解决Ros Melodic直接安装Moveit产生 软件依赖问题。

五、检测安装是否成功

尝试运行配置助手(Setup Assistant):
首先打开roscore

roscore

 
   
   
   
   
 
   
   
   
   
  • 1

然后启动Moveit-Setup-Assistant:

roslaunch moveit_setup_assistant setup_assistant.launch

 
   
   
   
   
 
   
   
   
   
  • 1

启动成功后出现如下界面,恭喜你已经成功安装Ros Melodic下的Moveit!
在这里插入图片描述关于如何导入机械臂模型以及如何在机械臂模型中运行moveit相关算法在后续的文章中会持续更新。

Ubuntu18.04+Ros Melodic安装Moveit_第4张图片

你可能感兴趣的:(ubuntu18.04-ROS,python)