这里主要对照的是moveit官方的学习文档的中文汉化版本进行学习,里面对moveit的各种API接口都写的相当细致,对刚上手的同学比较友好,不过环境的配置方面就会出现很多坑了,这里仅记录本人学习过程中踩到的坑
入门 — moveit_tutorials Noetic 文档 (decyzy.github.io)
入门
强调:1.很多BUG都是因为没有认真对照环境进行配置导致的错误,所以很多没办法解决的BUG最好重新对照教程配置。
2.要想安装源码Moveit!首先需要卸载ROS自带的Moveit!,注意一定要把opt/ros/noetic/lib和share目录下相关内容全部清干净,要不然使用命令栏 apt update 和 apt upgrade时只会在原本的包上进行更新,这样更新命令是无法对其进行覆盖的。
sudo apt-get remove ros-melodic-moveit-*
碰到以上问题,解决方法是安装鱼香ROS提供的ros更新包,这样更新命令就改为了rosdepc update
创建一个 Catkin 工作空间以及下载 MoveIt 源码
这里因为网络原因和本机与git的连接问题经常容易断掉,所以解决办法就是多次运行执行或者手动在git源地址下载后放在根目录下
1.启动Demo
roslaunch panda_moveit_config demo.launch rviz_tutorial:=true
启动demo后,报错
2.移动moveit_group群的c++接口
中间还碰到错误的引路贴,让我把move_base删掉,结果删掉之后导航的包也没法启动了,无论我怎么反复重装navigation包都没法成功编译,最后考虑过恢复删除文件的方法都没有成功,直到命令行弹出如下命令,这就说明缺少文件,最后只能把相关的move_base文件全部删除再重新安装navigation包才有效,
sudo apt remove ros-noetic-move-base
这提醒了我两点:
- navigation安装后move_base可以直接使用,但使用命令行删除却并不一定能够完全将navigation的相关组件全部删干净
- ros软件包删除和重装一定需要把之前装过的内容彻底清空
- 尽信书不如无书,网上的经验很多都是片面的零碎的,要仔细甄别后再考虑采纳
碰到无法编译的问题,python版本有冲突,导致动态编译库无法链接,报错如下:
发现应该是我的conda环境和base环境下的python版本存在冲突,最后解决办法是启动anaconda环境,在该环境下使用python3的编译语句最后解决
conda activate detectron2
catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3
目前打算把csdn当各种技术的学习过程的在线笔记,所以在写的很多内容写的比较简单和凌乱,后续经过完整的学习后再重新整理成体系的文章发布出来。