Ubuntu18.04安装Moveit框架

简介

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

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

一、更新功能包版本

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

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

二、下载依赖文件

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

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

三、创建工作区和软件源

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

mkdir ~/ws_moveit
cd ~/ws_moveit 

四、加载必要的环境变量

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

  • melodic版本选择:
source /opt/ros/melodic/setup.bash
  • kinetic版本选择:
source /opt/ros/kinetic/setup.bash

五、下载源代码

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

注意:

  • “wstool update -t src”步骤可能会因为网络问题漏掉某些软件包,若有下载失败的软件包需要重复执行该命令。一共有9个包:geometric_shapes,  moveit,  moveit_msgs,  moveit_resources,  moveit_tutorials,  moveit_visual_tools,  panda_moveit_config,  rviz_visual_tools,  srdfdom
  • “rosdep install -y --from-paths src --ignore-src --rosdistro ${ROS_DISTRO}”中的$ {ROS_DISTRO}变量将会从已配置好的环境变量中选取

可能遇到问题:缺少依赖

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
moveit_resources_dual_panda_moveit_config: Cannot locate rosdep definition for [joint_state_publisher_gui]
panda_moveit_config: Cannot locate rosdep definition for [franka_description]
moveit_resources_panda_moveit_config: Cannot locate rosdep definition for [joint_state_publisher_gui]
moveit_tutorials: Cannot locate rosdep definition for [joy]
pilz_industrial_motion_planner: Cannot locate rosdep definition for [code_coverage]
moveit_servo: Cannot locate rosdep definition for [rosparam_shortcuts]

解决方法:sudo apt-get install ros-你的ROS版本-你缺少的东西

例如上述错误:

sudo apt-get install ros-melodic-joint-state-publisher-gui
sudo apt-get install ros-melodic-joy
sudo apt-get install ros-melodic-rosparam-shortcuts

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

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

安装ccache:

sudo apt-get install ccache

安装后需要对ccache进行一系列的配置,要在所有受支持的编译器中自动使用ccache,需要将/ usr / lib / ccache目录放在PATH之前。

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

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

ccache --show-stats

七、编译Moveit

catkin build

可能遇到问题:

  • 缺少包

解决方法:

sudo apt-get install ros-melodic-包名

注:报错中缺少的包名中的“_"改为"-"

八、配置Catkin工作区环境变量

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

九、安装Moveit

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

十、更新环境变量

source /opt/ros/melodic/setup.bash

十一、检测安装是否成功

首先打开roscore

roscore

然后启动Moveit-Setup-Assistant:

roslaunch moveit_setup_assistant setup_assistant.launch

启动成功后出现如下界面,恭喜你已经成功安装Moveit!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新品首发 | HP1011:高性能双相交错 PFC 数字控制器

随着PFC技术的发展,不断有新型PFC拓扑结构提出,如单相PFC、交错并联 PFC、传统无桥PFC、图腾柱无桥 PFC等。交错Boost PFC系统不仅具有并联系统的所有优点,还能减少输入电流纹波,降低开关管的电流应力。在中大功率场所通常采用工作…

复杂数据统计与R语言程序设计实验二

1、创建一个对象,并进行数据类型的转换、判别等操作,步骤如下。 ①使用命令清空工作空间,创建一个对象x,内含元素为序列:1,3,5,6,8。 ②判断对象x是否为数值型数据。 ③…

防抖-节流-深拷贝-事件总线

一、防抖与节流 1.认识防抖与节流函数 防抖和节流的概念其实最早并不是出现在软件工程中,防抖是出现在电子元件中,节流出现在流体流动中 而JavaScript是事件驱动的,大量的操作会触发事件,加入到事件队列中处理。而对于某些频繁…

C语言变量与常量

跟着肯哥(不是我)学C语言的变量和常量、跨文件访问、栈空间 栈空间还不清楚,期待明天的课程内容 C变量 变量(Variable)是用于存储和表示数据值的名称。 主要包括四个环节:定义、初始化、声明、使用 在我刚…

代码随想录算法训练营第三十八天【动态规划part01】 | 动态规划理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯

动态规划理论基础 什么是动态规划 动态规划 (Dynamic Programming, DP),是求解决策过程最优化的过程。 如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪…

metinfo 5.0.4 文件包含漏洞复现

metinfo 5.0.4 文件包含漏洞 漏洞环境 metinfo cms 版本 5.0.4 代码审计 在metinfo下的about/index.php代码中发现动态调用 上面没有赋值但是是有具体值的说明在上一个文件包含赋值了 查看这个文件的源代码 可以看到这里做了初始化但是是在fmodule不等于7的时候那假设等…

有关编译器的科普

Clang和GCC的主要区别如下所示: Clang比GCC编译用的时间更短,包括预处理、语法分析、解析、语义分析、抽象语法树生成的时间。Clang比GCC的内存占用更小。Clang生成的中间产物比GCC更小。Clang的错误提示比GCC更加友好。Clang有静态分析,GCC…

批量替换WordPress文章内图片链接

在WordPress使用过程中,如果中途更换了域名,原先文章内的图片使用的是原来的域名,就会造成文章页里面的图片链接无法显示。如果从后台文章挨个修改就比较麻烦。可以通过数据库进行批量替换即可。 使用 PHPMyadmin 打开 数据库,登…

【DevOps】Git 图文详解(二):Git 安装及配置

Git 图文详解(二):Git 安装及配置 1.Git 的配置文件2.配置 - 初始化用户3.配置 - 忽略.gitignore Git 官网:https://www.git-scm.com/ 下载安装包进行安装。Git 的使用有两种方式: 命令行:Git 的命令通过系…

挑战视觉边界,探索图形验证码背后的黑科技

在日常生活中,我们登录网站或者其他平台时,在填写完账号密码之后,还会让我们填写4或6位的数字或者英文字母等,填写正确才能请求登录。这个其实是防止某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,如下…

23111705[含文档+PPT+源码等]计算机毕业设计SSM框架美妆商城全套电商购物

文章目录 **软件开发环境及开发工具:****项目功能介绍:****论文截图:****实现:****代码片段:** 编程技术交流、源码分享、模板分享、网课教程 🐧裙:776871563 软件开发环境及开发工具&#xff…

接口自动化测试实战:JMeter+Ant+Jenkins+钉钉机器人群通知完美结合

前言 一、本地JAVA环境安装配置,安装JAVA8和JAVA17 二、安装和配置Jmeter 三、安装和配置ant 四、jmeter + ant配置 五、jenkins安装和配置持续构建项目 六、jenkins配置流程 前言 搭建jmeter+ant+jenkins环境有些前提条件,那就是要先配置好java环境,本地java环境…