• Ubuntu22.04 + ROS2 Humble配置Moveit2环境


    Ubuntu22.04 + ROS2 Humble配置Moveit2环境

    环境配置

    • ubuntu 22.04
    • ROS2 humble
    • moveit2

    1.Ubuntu22.04配置ROS2

    配置Ubuntu22.04 + ROS2 Humble这里就不再介绍了,详细可以参考这篇Ubuntu22.04 + ROS2 Humble的环境配置

    2.二进制安装Moveit2

    其实安装moveit2只需要一句话

    sudo apt install ros-humble-moveit
    
    • 1

    运行不报错即代表安装成功

    3.配置Moveit的官方教程

    3.1安装rosdep

    打开一个新的terminal

    source /opt/ros/humble/setup.bash
    sudo apt install python3-rosdep
    
    • 1
    • 2

    然后初始化rosdep,并更新环境的依赖

    sudo rosdep init
    rosdep update
    sudo apt update
    sudo apt dist-upgrade
    
    • 1
    • 2
    • 3
    • 4

    使用mixin构建环境

    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 update default
    
    • 1
    • 2
    • 3
    • 4

    安装vcstool

    sudo apt install python3-vcstool
    
    • 1

    3.2下载moveit的tutorials

    首先创建一个工作空间

    mkdir -p ~/ws_moveit2/src
    cd ~/ws_moveit2/src
    git clone --branch humble https://github.com/ros-planning/moveit2_tutorials
    
    • 1
    • 2
    • 3

    可以在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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    这个文件里包含了moveit2的及其相关依赖的源码,我们还需要将这些仓库和对应分支的代码克隆下来,

    vcs import < moveit2_tutorials/moveit2_tutorials.repos
    
    • 1

    如果克隆失败,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 '.'...
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    然后安装剩余的依赖

    sudo apt update && rosdep install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y
    
    • 1

    出下如下的结果则成功

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    最后我们可以进入工作空间然后开始编译了

    cd ~/ws_moveit2
    colcon build --mixin release
    
    • 1
    • 2

    这个编译的时间可能会很久,请耐心等待。

    3.3安装中间件Middleware

    官方推荐使用Cyclone DDS作为中间件的解决方案

    sudo apt install ros-humble-rmw-cyclonedds-cpp
    
    • 1

    截至 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
    
    • 1
    • 2
    • 3

    4.启动测试用例

    进入我们的工作空间

    cd ~/ws_moveit2/src
    source intsall/setup.bash
    
    • 1
    • 2

    然后直接启动

    ros2 launch moveit2_tutorials demo.launch.py rviz_config:=panda_moveit_config_demo_empty.rviz
    
    • 1

    然后会出现一个空白的rviz2的界面

    Image

    然后选择Add > MotionPlanning就会出现一个机械臂的模型,接下来就可以安装官方的教程开始学习了。

    Image

    Reference

    [1]MoveIt 2 Binary Install

    [2]MoveIt Quickstart in RViz

    [3]《动手学Moveit2》3.安装Moveit2测试

  • 相关阅读:
    cmake笔记
    赵章光:只要用心去做,一切都不难
    Mybatis源码详解
    spring security(二)--授权
    66从零开始学Java之集合中的Collection体系
    VMware Workstation中安装FusionCompute 6.5.1_CNA
    【linux】Linux 查看内存使用情况的几种方法汇总
    C# --- WinForm基本知识与绘图(上)
    Unity的配置文件在安卓路径下使用的方法
    安卓播放解码后的byte字节视频
  • 原文地址:https://blog.csdn.net/qq_44940689/article/details/137968166