Ubuntu22.04 + ROS2 Humble配置Moveit2环境
文章目录
Ubuntu22.04 + ROS2 Humble配置Moveit2环境1.Ubuntu22.04配置ROS22.二进制安装Moveit23.配置Moveit的官方教程3.1安装rosdep3.2下载moveit的tutorials3.3安装中间件Middleware 4.启动测试用例Reference
环境配置:
ubuntu 22.04ROS2 humblemoveit21.Ubuntu22.04配置ROS2
配置Ubuntu22.04 + ROS2 Humble这里就不再介绍了,详细可以参考这篇Ubuntu22.04 + ROS2 Humble的环境配置
2.二进制安装Moveit2
其实安装moveit2只需要一句话
sudo apt install ros-humble-moveit
运行不报错即代表安装成功
3.配置Moveit的官方教程
3.1安装rosdep
打开一个新的terminal
source /opt/ros/humble/setup.bashsudo apt install python3-rosdep
然后初始化rosdep,并更新环境的依赖
sudo rosdep initrosdep updatesudo apt updatesudo apt dist-upgrade
使用mixin构建环境
sudo apt install python3-colcon-common-extensionssudo apt install python3-colcon-mixincolcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yamlcolcon mixin update default
安装vcstool
sudo apt install python3-vcstool
3.2下载moveit的tutorials
首先创建一个工作空间
mkdir -p ~/ws_moveit2/srccd ~/ws_moveit2/srcgit clone --branch humble https://github.com/ros-planning/moveit2_tutorials
可以在ws_moveit2/src/moveit2_tutorials
文件夹下找到moveit2_tutorials.repos
文件,该文件的内容如下:
repositories: launch_param_builder: type: git url: https://github.com/PickNikRobotics/launch_param_builder version: main moveit2: type: git url: https://github.com/ros-planning/moveit2 version: humble moveit_resources: type: git url: https://github.com/ros-planning/moveit_resources version: humble moveit_task_constructor: type: git url: https://github.com/ros-planning/moveit_task_constructor.git version: humble moveit_visual_tools: type: git url: https://github.com/ros-planning/moveit_visual_tools version: ros2 rosparam_shortcuts: type: git url: https://github.com/PickNikRobotics/rosparam_shortcuts version: ros2 srdfdom: type: git url: https://github.com/ros-planning/srdfdom.git version: ros2
这个文件里包含了moveit2的及其相关依赖的源码,我们还需要将这些仓库和对应分支的代码克隆下来,
vcs import < moveit2_tutorials/moveit2_tutorials.repos
如果克隆失败,repos
文件中的https://github.com/
前都加上前缀https://ghproxy.com/
,然后再克隆一次,如果成功会出现如下的信息
=== ./launch_param_builder (git) ===Cloning into '.'...=== ./moveit2 (git) ===Cloning into '.'...=== ./moveit_resources (git) ===Cloning into '.'...=== ./moveit_task_constructor (git) ===Cloning into '.'...=== ./moveit_visual_tools (git) ===Cloning into '.'...=== ./rosparam_shortcuts (git) ===Cloning into '.'...=== ./srdfdom (git) ===Cloning into '.'...
然后安装剩余的依赖
sudo apt update && rosdep install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y
出下如下的结果则成功
Unpacking ros-humble-forward-command-controller (2.34.0-1jammy.20240404.132907) ...Selecting previously unselected package ros-humble-position-controllers.Preparing to unpack .../ros-humble-position-controllers_2.34.0-1jammy.20240404.133529_amd64.deb ...Unpacking ros-humble-position-controllers (2.34.0-1jammy.20240404.133529) ...Setting up ros-humble-forward-command-controller (2.34.0-1jammy.20240404.132907) ...Setting up ros-humble-position-controllers (2.34.0-1jammy.20240404.133529) ...#All required rosdeps installed successfully
最后我们可以进入工作空间然后开始编译了
cd ~/ws_moveit2colcon build --mixin release
这个编译的时间可能会很久,请耐心等待。
3.3安装中间件Middleware
官方推荐使用Cyclone DDS作为中间件的解决方案
sudo apt install ros-humble-rmw-cyclonedds-cpp
截至 2022 年 9 月 26 日,默认的 ROS 2 中间件 (RMW) 实现存在问题。 作为解决方法,请切换到 Cyclone DDS。所以我们需要在~/.bashrc
文件中添加这样一句话
# You may want to add this to ~/.bashrc to source it automatically# >>> moveit2 Cyclone DDS <<<export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
4.启动测试用例
进入我们的工作空间
cd ~/ws_moveit2/srcsource install/setup.bash
然后直接启动
ros2 launch moveit2_tutorials demo.launch.py rviz_config:=panda_moveit_config_demo_empty.rviz
然后会出现一个空白的rviz2
的界面
然后选择Add > MotionPlanning
就会出现一个机械臂的模型,接下来就可以安装官方的教程开始学习了。
Reference
[1]MoveIt 2 Binary Install
[2]MoveIt Quickstart in RViz
[3]《动手学Moveit2》3.安装Moveit2测试