@TOC
1. 配置ros2环境
1.1 明确系统环境及ros2版本
本人有两个虚拟机环境分别对应:ubuntu22.04 ros2 hubmle以及ubuntu20.04 ros2 galactic
下面涉及版本的地方统一用$ROS_DISTRO代替(默认ros2已安装),使用时替换自己的ros2版本
可在/opt/ros/下查看自己的版本
受网络影响,以下参考鱼香ros的指令进行替换
1.2 更换系统源
要想富,先修路,国内源将大幅度提高安装效率及成功概率。
先下载小鱼的一键安装指令,若还没有装ros2也可使用此方法安装,傻瓜操作,小鱼真厉害!
wget http://fishros.com/install -O fishros&&. fishros
然后选择【5-一键配置:系统源】->【2-更换系统源并清理第三方源】->【1-添加ROS/ROS2源】
1.3 安装rosdep
moveit2需要用到该指令,但国内下载一直不成功,因此依旧使用小鱼的一键安装指令,指令同上,选择【3-一键安装:rosdep】
与原指令不同的是,所有的rosdep指令要换成rosdepc,如下载之后源指令要运行
sudo rosdep init
rosdep update
小鱼的指令要替换成
sudo rosdepc init
rosdepc update
简单方便!!!
1.4 安装mixin colcon
sudo apt install python3-colcon-common-extensions
sudo apt install python3-colcon-mixin
colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
colcon mixin up
1.5 安装vcstool
sudo apt install python3-vcstool
若该语句安装失败,尝试使用
pip3 install vcstool
若pip3报错则尝试更新pip版本。
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py # 运行安装脚本
1.6 更新源和相应其他配置
sudo apt update
sudo apt dist-upgrade
2 安装moveit2
此环节正式进入漫长的试错环节。
2.1 安装MoveIt2
使用下面命令,用ros2版本名称替代$ROS_DISTRO
sudo apt-get install ros-$ROS_DISTRO-moveit
2.2 安装MoveIt2_tutorial (能访问github)
1.建立工作空间,来存放MoveIt2_tutorial包含的packages
mkdir -p ~/ws_moveit2/src
2.定位到src文件夹下
cd ~/ws_moveit2/src
3.从github拉取所需文件
git clone https://github.com/ros-planning/moveit2_tutorials.git -b $ROS_DISTRO
4.继续从仓库拉取所需文件
vcs import < moveit2_tutorials/moveit2_tutorials.repos
可能会失败,需要多次重复尝试,可以不删除src中已经下载的文件继续重复执行。
5.安装必要的依赖
sudo apt update && rosdepc install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y
注意,上面指令用的是rosdepc,若你下载的是rosdep需要替换。
若使用上述方法成功换源,则该环节直接会通过。否则会报错,主要表现在安装不全。此时的解决方法是使用如下指令手动安装。若报错为file_name,则执行
sudo apt-get install ros-$ROS_DISTRO-file-name
若所有文件安装成功后(上述指令返回已安装),rosdepc指令依旧报错,则不需要处理,向下执行即可。
6.编译
注意要在ws_moveit2文件夹下编译,不要在src目录下编译
cd ~/ws_moveit2
colcon build --mixin release
若报错与release相关,则运行以下指令
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
7.配置环境文件
source install/setup.bash
为了不用每次打开终端都source,可以修改.bashrc
echo 'source ~/ws_moveit2/install/setup.bash' >> ~/.bashrc
到这里就完成MoveIt2的安装工作。
3 测试
至此,在工作目录下打开终端,并运行示例程序
ros2 launch moveit2_tutorials demo.launch.py rviz_tutorial:=true
就可以看见界面了,后续机器人操作可参考以下连接。