基本环境安装#
推荐在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