基本环境安装#

推荐在Ubuntu 22.04.4 LTS上搭配环境,以及推荐使用ros2-humble。

(注意:需要安装官方ros2_control包,再正式编译duco功能包)

ros2基础安装#

下面对ROS2(humble)的过程详细阐述:

1.打开shell窗口

1locale  # check for UTF-8
2
3sudo apt update && sudo apt install locales
4sudo locale-gen en_US en_US.UTF-8
5sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
6export LANG=en_US.UTF-8
7
8locale  # verify settings

2.设置源

1sudo apt install software-properties-common
2sudo add-apt-repository universe
3sudo apt update && sudo apt install curl -y
4sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
5echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

3.安装ROS2

1sudo apt update
2sudo apt upgrade
3sudo apt install ros-humble-desktop

4.最后安装dev工具

1sudo apt install ros-dev-tools

下面对ros2_control的安装过程详细阐述:

1.首先source ROS2的资源

1source /opt/ros/humble/setup.bash

2.创建ros2_control工作空间,下载资源

1mkdir -p ~/ros2_control_ws/
2cd ~/ros2_control_ws/

创建好之后,将duco的src文件放入此目录中。

然后开始下载资源:

1wget https://raw.githubusercontent.com/ros-controls/ros2_control_ci/master/ros_controls.humble.repos
2vcs import src < ros_controls.humble.repos

如果网络不行,需要切换软件源再重新下载资源:

1# 设置软件源
2sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2.list'
3
4# 添加密钥
5sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys F42ED6FBAB17C654
6sudo apt update

rosdep#

安装依赖包:

1sudo rosdep init
2rosdep update --rosdistro=$ROS_DISTRO
3sudo apt-get update
4rosdep install --from-paths src --ignore-src -r -y

编译ros2_control:

1. /opt/ros/humble/setup.sh

补充安装colcon#

如若colcon缺失,补充安装colcon。没有缺失colcon文件,则可接着去安装下面的Moveit。

1# 安装必要组件
2sudo apt update
3sudo apt install python3-colcon-common-extensions
4
5# 确保 pip 版安装(系统级安装)
6pip3 install --upgrade colcon-common-extensions

Moveit#

安装完整 MoveIt 套件(针对 Humble)

1sudo apt install ros-humble-moveit ros-humble-moveit-ros-planning-interface

验证安装:

1ros2 pkg prefix moveit_ros_planning_interface

安装环境配置包:#

安装test-msgs包:

1sudo apt install ros-humble-test-msgs

安装control-toolbox:

1sudo apt install ros-humble-filters ros-humble-control-toolbox
2
3colcon build --symlink-install --packages-select control_toolbox
4source install/setup.bash
5
6colcon build --symlink-install --packages-up-to hardware_interface

安装ackermann-msgs包:

1# 官方 ROS 2 ackermann-msgs 包
2sudo apt install ros-humble-ackermann-msgs
3
4# 验证安装
5ros2 pkg list | grep ackermann_msgs

完成后,重置环境:

1# 重置环境变量
2unset AMENT_PREFIX_PATH
3unset CMAKE_PREFIX_PATH
4
5# 设置基础 ROS 环境
6source /opt/ros/humble/setup.bash
7
8# 手动指定ackermann_msgs路径
9export ackermann_msgs_DIR=~/ackermann_ws/install/ackermann_msgs/share/ackermann_msgs/cmake

进行最终编译:

 1cd ~/ros2_control_ws
 2
 3# 1. 清除所有构建文件
 4rm -rf build install log
 5
 6# 2. 首先单独编译消息包
 7colcon build --symlink-install --packages-select duco_msg
 8
 9# 3. 加载系统ROS和刚刚编译的消息包环境
10source /opt/ros/humble/setup.bash
11source install/setup.bash  # 关键: 加载刚编译的duco_msg
12
13# 4. 编译其他所有包(允许覆盖必要的消息)
14colcon build --symlink-install --allow-overriding ackermann_msgs,control_msgs