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!

相关文章:
Ubuntu18.04安装Moveit框架
简介 Moveit是一个由一系列移动操作的功能包组成的集成化开发平台,提供友好的GUI,是目前ROS社区中使用度排名前三的功能包,Moveit包含以下三大核心功能,并集成了大量的优秀算法接口: 运动学:KDL,Trac-IK,IKFast...路径规划:OMPL,CHMOP,SBPL..碰撞检测:FCL,PCD... 一、更新功…...
MongoDB——文档增删改查命令使用
MongoDB 文档增删改查 命令操作描述db.collection.insert() db.collection.insert()将单个文档或多个文档插入到集合中db.collection.insertOne()插入文档,3.2 版中的新功能db.collection.insertMany()插入多个文档,3.2 版中的新功能db.collection.update更新或替…...
【日常总结】Swagger-ui 导入 showdoc (优雅升级Swagger 2 升至 3.0)
一、场景 环境: 二、存在问题 三、解决方案 四、实战 - Swagger 2 升至 3.0 (Open API 3.0) Stage 1:引入Maven依赖 Stage 2:Swagger 配置类 Stage 3:访问 Swagger 3.0 Stage 4:获取 js…...
OpenCV C++ 图像 批处理 (批量调整尺寸、批量重命名)
文章目录 图像 批处理(调整尺寸、重命名)图像 批处理(调整尺寸、重命名) 拿着棋盘格,对着相机变换不同的方角度,采集十张以上(以10~20张为宜);或者棋盘格放到桌上,拿着相机从不同角度一通拍摄。 以棋盘格,第一个内焦点为坐标原点,便于计算世界坐标系下三维坐标; …...
RT-DETR手把手教程,注意力机制如何添加在网络的不同位置进行创新优化
💡💡💡本文独家改进:本文首先复现了将EMA引入到RT-DETR中,并跟不同模块进行结合创新;1)Rep C3结合;2)直接作为注意力机制放在网络不同位置;3)高效…...
qt treeview 删除节点
Qt 中,要删除 QTreeView 中的节点,可以通过操作其模型(QAbstractItemModel)来实现。以下是一个简单的示例,展示如何从 QTreeView 中删除节点。 假设你有一个 QTreeView,它使用了 QStandardItemModel 作为模…...
【单词】【2019】
...
Java自动化驱动浏览器搜索稻香
下载最新的Chrome浏览器 查看chrome版本,在浏览器地址栏输入:chrome://version/ 下载对应的浏览器驱动,将其放到一个目录中,我放到了D:/chromedriver-win64 导入对应的依赖【注意:不要导入最新的版本,最…...
php聊天室通讯系统常用的接口对接函数 curl、file_get_contents()、WebSocket、消息队列
方法有: 1、HTTP请求,可以通过PHP的curl库或者file_get_contents()函数发送HTTP请求来与聊天室接口进行通信; 2、WebSocket协议,可以使用PHP的WebSocket库或者第三方库来与聊天室接口进行对接; 3、使用这些SDK或者包装…...
SQL基础理论篇(九):存储过程
文章目录 简介存储过程的形式定义一个存储过程使用delimiter定义语句结束符存储过程中的三种参数类型流控制语句 存储过程的优缺点参考文献 简介 存储过程Stored Procedure,SQL中的另一个重要应用。 前面说的视图,只能勉强跟编程中的函数相似ÿ…...
申银万国期货通过ZStack Cube信创超融合一体机打造金融信创平台
信创是数字中国建设的重要组成部分,也是数字经济发展的关键推动力量。作为云基础软件企业,云轴科技ZStack产品矩阵全面覆盖数据中心云基础设施,ZStack信创云首批通过可信云《一云多芯IaaS平台能力要求》先进级,是其中唯一兼容四种…...
SquareCTF-2023 Web Writeups
官方wp:CTFtime.org / Square CTF 2023 tasks and writeups sandbox Description: I “made” “a” “python” “sandbox” “”“” nc 184.72.87.9 8008 先nc连上看看,只允许一个单词,空格之后的直接无效了。 flag就在当…...
Docker-compose 安装mysql8
1、编写docker-compose.yml文件 version: 3.8 services:mysql:container_name: mysql8image: mysql:8.0.18restart: alwaysports:- 3306:3306privileged: truevolumes:- $PWD/log:/var/log/mysql- $PWD/conf/my.cnf:/etc/mysql/my.cnf- $PWD/data:/var/lib/mysqlenvironment:M…...
分布式锁实现对比
1、对比 tairzookeper性能高 低可靠性低 高 2、zookeper实现分布式锁 特点: Zookeeper能保证数据的强一致性,用户任何时候都可以相信集群中每个节点的数据都是相同的。 加锁 客户端在ZooKeeper一个特定的节点下创建临时顺序节点&…...
Ubuntu 系统上使用 QQ 邮箱的 SMTP 服务器发送邮件,msmtp(已验证)
安装 msmtp sudo apt-get update sudo apt-get install msmtp2 .配置 msmtp nano ~/.msmtprcdefaults auth on tls on tls_starttls on tls_trust_file /etc/ssl/certs/ca-certificates.crt logfile ~/.msmtp.logaccount qq host …...
笔记54:门控循环单元 GRU
本地笔记地址:D:\work_file\DeepLearning_Learning\03_个人笔记\3.循环神经网络\第9章:动手学深度学习~现代循环神经网络 a a a a a a a...
数据仓库高级面试题
数仓高内聚低耦合是怎么做的 定义 高内聚:强调模块内部的相对独立性,要求模块内部的元素尽可能的完成一个功能,不混杂其他功能,从而使模块保持简洁,易于理解和管理。 低耦合:模块之间的耦合度要尽可能的…...
【OpenGauss源码学习 —— 列存储(ColumnTableSample)】
执行算子(ColumnTableSample) 概述ColumnTableSample 类ColumnTableSample::ColumnTableSample 构造函数ColumnTableSample::~ColumnTableSample 析构函数ExecCStoreScan 函数ColumnTableSample::scanVecSample 函数ColumnTableSample::getMaxOffset 函数…...
【开源】基于JAVA的校园二手交易系统
项目编号: S 009 ,文末获取源码。 \color{red}{项目编号:S009,文末获取源码。} 项目编号:S009,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 二手商品档案管理模…...
C 语言结构体(struct)
C 语言结构体(struct) 在本教程中,您将学习C语言编程中的结构类型。您将借助示例学习定义和使用结构。 在C语言编程中,有时需要存储实体的多个属性。 实体不必仅具有一种类型的所有信息。 它可以具有不同数据类型的不同属性。 C 数组允许定义可存储相…...
CANN/pypto按位异或操作API文档
# pypto.bitwise_xor 【免费下载链接】pypto PyPTO(发音: pai p-t-o):Parallel Tensor/Tile Operation编程范式。 项目地址: https://gitcode.com/cann/pypto 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√Atla…...
从零构建自主可控AI智能体:NanoFleet Agent部署与实战指南
1. 项目概述:构建一个自主可控的AI智能体运行时 如果你和我一样,对当前市面上那些要么绑定特定云服务、要么功能封闭的AI Agent框架感到厌倦,那么NanoFleet Agent的出现,就像在满是套件的工具箱里发现了一把瑞士军刀。它不是一个…...
从PointNet到Point Transformer:3D点云处理演进中的那些‘坑’与最佳实践
从PointNet到Point Transformer:3D点云处理演进中的那些‘坑’与最佳实践 当你在深夜调试PointNet的FPS采样代码时,是否曾对着飘红的mIoU指标陷入沉思?三年前第一次接触点云分割项目时,我绝不会想到这个看似简单的"点集处理&…...
基于TwoAI框架构建多智能体对话系统:原理、配置与实战
1. 项目概述:当两个AI开始对话最近在折腾AI应用开发的朋友,可能都遇到过类似的场景:你想测试一个智能客服的对话流,或者想模拟用户与AI助手的多轮交互,但总是一个人扮演两个角色,在同一个聊天窗口里自问自答…...
泰山派3M-RK3576-镜像烧录-成品镜像烧录
【立创泰山派3-RK3576开发板】成品镜像烧录 什么是成品镜像 简单来说就是一个 .img 就是完整的系统镜像,烧录这一个就可以完整的运行系统,这样的镜像叫做成品镜像。 这样的镜像体积都比较大,但胜在烧录方便。 例如:update.img…...
保姆级避坑指南:在Ubuntu 20.04上搞定PX4 v1.12.3 + Gazebo仿真环境(解决克隆失败、屏幕旋转)
保姆级避坑指南:在Ubuntu 20.04上搞定PX4 v1.12.3 Gazebo仿真环境 最近在折腾PX4无人机仿真环境时,发现网上大多数教程都只讲"理想情况"下的配置流程,对实际部署中可能遇到的坑点要么一笔带过,要么干脆避而不谈。作为一…...
Dream-Creator:模块化AI绘画工作流平台,从原理到实战全解析
1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目,叫“Dream-Creator”。光看这个名字,你可能会联想到AI绘画或者创意生成工具。没错,这确实是一个与AI图像生成相关的项目,但它并非一个简单的模型调用脚本,…...
AI加速器硬件软件协同设计优化实践
1. 硬件软件协同设计概述在AI加速器领域,硬件软件协同设计已成为突破性能瓶颈的关键策略。传统AI加速器设计往往将硬件和软件视为独立部分,导致计算单元与数据流之间出现严重不匹配。这种割裂的设计方式会造成两个主要问题:计算单元因等待数据…...
ncmToMp3:打破音乐平台枷锁,让你的网易云音乐真正自由播放
ncmToMp3:打破音乐平台枷锁,让你的网易云音乐真正自由播放 【免费下载链接】ncmToMp3 网易云vip的ncm文件转mp3/flac - ncm file to mp3 or flac 项目地址: https://gitcode.com/gh_mirrors/nc/ncmToMp3 你是否曾为下载的网易云VIP音乐只能在特定…...
React作品集模板全解析:从技术栈选型到性能优化实战
1. 项目概述:一个为开发者量身定制的React个人作品集模板在技术社区里,我们经常看到一些令人眼前一亮的个人作品集网站,它们不仅是开发者技能的展示窗口,更是个人品牌和专业形象的核心载体。然而,从零开始构建一个既美…...

