【ROS2】ROS2-MoveIt2-Jazzy环境搭建

环境版本

  • Ubuntu: 24.04 (noble)

  • ROS2: Jazzy

  • MoveIt2: Jazzy

Linux常用工具

1
2
# linux工具
sudo apt install tar bzip2 wget curl vim -y

安装ROS2

检查编码 uft8

1
2
3
4
5
6
7
8
# 查看当前编码(如果是utf8,跳过以下命令)
locale

# 设置编码为utf-8(如果当前编码不是utf-8,需要执行以下命令)
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

添加仓库源

1
2
sudo apt install software-properties-common
sudo add-apt-repository universe

安装deb包(推荐手动下载安装)

1
2
3
4
5
6
7
8
9
10
11
12
13
# 官方命令(访问github有可能下载失败)
export ROS_APT_SOURCE_VERSION=$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest | grep -F "tag_name" | awk -F'"' '{print $4}')
curl -L -o /tmp/ros2-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release && echo ${UBUNTU_CODENAME:-${VERSION_CODENAME}})_all.deb"
sudo dpkg -i /tmp/ros2-apt-source.deb

# 手动下载deb包(推荐,根据官方命令分析的步骤)
# 手动访问:https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest,找tag_name字段(2026年9月7日,版本为:1.2.0)
# 手动下载(真实1.2.0地址):https://github.com/ros-infrastructure/ros-apt-source/releases/download/1.2.0/ros2-apt-source_1.2.0.noble_all.deb
# 下载放进Ubuntu某目录下,如 /opt/ros2-apt-source_1.2.0.noble_all.deb
cd /opt
wget https://github.com/ros-infrastructure/ros-apt-source/releases/download/1.2.0/ros2-apt-source_1.2.0.noble_all.deb
sudo chmod +x /opt/ros2-apt-source_1.2.0.noble_all.deb
sudo dpkg -i /opt/ros2-apt-source_1.2.0.noble_all.deb

开发工具包(可选)

开发工具包安装

ros-dev-tools:内置了colcon,rosdep,vsc等开发工具

1
2
3
4
5
6
7
8
9
10
11
12
# 注意!!!,必须检查,否则会依赖冲突
# 安装前 grep Suites /etc/apt/sources.list.d/ubuntu.sources
# 查看下有无 noble-updates noble-backports
grep Suites /etc/apt/sources.list.d/ubuntu.sources
# 没有的话 修改 /etc/apt/sources.list.d/ubuntu.sources 文件
# Suites 行 修改为:Suites: noble noble-updates noble-backports 保存
sudo vim /etc/apt/sources.list.d/ubuntu.sources
# 修改完后执行:
sudo apt clean && sudo apt update && sudo apt full-upgrade -y

# 继续执行安装 ros-dev-tools
sudo apt update && sudo apt install ros-dev-tools -y

开发工具包常用工具

colcon使用说明

1
2
3
4
5
6
7
8
9
10
11
12
# 编译全部包
colcon build

# 编译选择的包
colcon build --packages-select my_package1 my_package2

# 软连接到 install,不需要每次 build
# 不支持c++,开发时使用,生产环境禁止使用!!!
colcon build --symlink-install

# 加入 ~/.bashrc 中 colcon 自动tab补全
source /usr/share/colcon_argcomplete/hook/colcon-argcomplete.bash

rosdep使用说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 初始化
sudo rosdep init

# 更新 ROS包 与 系统包名 的依赖映射表
rosdep update

# 查看 ros包 映射的 系统包
rosdep resolve <key>

# 扫描 src/ 下所有包的 package.xml 安装它们的系统级依赖,跳过 src/ 里的源码包(自己创建源码包之间可能互相依赖,跳过这种源码包的安装),针对 ROS Jazzy 发行版
# (加 -r 参数会让 rosdep 遇到单个包安装失败继续跑,最后只警告不阻断)
rosdep install --from-paths src --ignore-src --rosdistro jazzy -y -r
# 或者 $ROS_DISTRO 是版本代号环境变量
rosdep install --from-paths src --ignore-src --rosdistro $ROS_DISTRO -y -r
init update 报错

地址被墙: https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list

设置代理(代理工具自行准备)

1
2
3
4
5
6
7
8
# 设置终端代理
export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
export all_proxy="socks5://127.0.0.1:7891" # 若Clash开了socks5端口可加

# 加 -E 保留 sudu终端环境变量
sudo -E rosdep init
rosdep update

安装ROS库

1
2
3
4
5
6
7
8
sudo apt update
sudo apt upgrade

# 桌面版本(ros-base,桌面工具(RViz、调试工具包、演示示例包等),适合开发环境)
sudo apt install ros-jazzy-desktop -y

# 基础版本(ROS核心,通信库,无图形界面,适合生产环境)
sudo apt install ros-jazzy-ros-base -y

环境变量配置

1
2
echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
source ~/.bashrc

安装成功检查

随便选一个方法检测

方法1:运行命令,出现小乌龟窗口,说明安装成功!

1
ros2 run turtlesim turtlesim_node

方法2:打开两个终端运行以下命令,一个发送,一个接收,能看到收发结果,说明安装成功!

1
2
3
4
# 运行 demo节点 发送消息(c++)
ros2 run demo_nodes_cpp talker
# 运行 demo节点 接收消息(python)
ros2 run demo_nodes_py listener

安装MoveIt2

安装MoveIt2功能包

1
2
# MoveIt2 功能包
sudo apt install ros-jazzy-moveit -y

运行图形界面设置助手(可选)

用来生成配置文件包,能够启动成功说明MoveIt2功能包安装成功

1
2
3
4
5
6
# xcb模式启动,也可以把 QT_QPA_PLATFORM=xcb 加到环境变量中
# 在 ~/.bashrc 中加入 export QT_QPA_PLATFORM=xcb 或者直接在终端中运行
QT_QPA_PLATFORM=xcb ros2 launch moveit_setup_assistant setup_assistant.launch.py

# 常规启动选择urdf会出现卡死情况
ros2 launch moveit_setup_assistant setup_assistant.launch.py

安装运行MoveIt2资源库(可选)

用于测试演示MoveIt功能(panda模型)

1
2
3
4
# 安装
sudo apt install ros-jazzy-moveit-resources-panda-moveit-config
# 运行示例
ros2 launch moveit_resources_panda_moveit_config demo.launch.py

如果出现 RvizVisualToolsGui 面板报错,安装 ros-jazzy-rviz-visual-tools 库

1
sudo apt install ros-jazzy-rviz-visual-tools

Gazebo(可选)

https://gazebosim.org/docs/harmonic/install_ubuntu/

1
2
3
4
5
6
7
8
9
10
11
12
# 前置库安装
sudo apt-get update
sudo apt-get install curl lsb-release gnupg

# 安装 Gazebo
sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] https://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
sudo apt-get update
sudo apt-get install gz-harmonic

# 卸载
sudo apt remove gz-harmonic && sudo apt autoremove
1
2
3
4
5
6
7
# 安装 Gazebo 与 ROS桥接包
sudo apt install ros-jazzy-ros-gz -y
# 机器人控制插件 ros2_control 对接 Gazebo
sudo apt install ros-jazzy-gz-ros2-control -y

# 使用 ros2命令 启动运行
ros2 launch ros_gz_sim gz_sim.launch.py