安装ROS2
前言
由于导师发现ROS1的roscore不稳定,加上自己感兴趣,所以学习使用ROS2。但是网上实在没有什么教程,所以只能自己读文档摸索了。
写的时候默认读者已经有ROS1的学习基础了。
和ROS1的区别
这篇博客有详细的介绍
安装ROS2
确定安装版本
ubuntu20.04安装foxy还是galactic
考虑到长期支持,还是选择foxy(到2023.5),galactic只到2022.11(已经结束了)
安装foxy
设置语言地区(locale)
跳过
设置源
sudo apt update && sudo apt install curl gnupg2 lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
然后添加仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
安装ROS2 packages
sudo apt update
sudo apt upgrade
完整版
sudo apt install ros-foxy-desktop python3-argcomplete
无GUI版
sudo apt install ros-foxy-ros-base python3-argcomplete
环境设置
source /opt/ros/foxy/setup.bash
注意
不能同时source ros1和ros2,如果是用vscode终端安装的,安装后在vsocde新开终端会可能会出现提示
ROS_DISTRO was set to 'noetic' before. Please make sure that the environment does not mix paths from different distributions.
但是不影响使用,关掉vscode重开就解决了。
测试
新开两个终端
ros2 run demo_nodes_cpp talker
ros2 run demo_nodes_py listener
现象
[INFO] [1667811256.885478358] [talker]: Publishing: 'Hello World: 1'
[INFO] [1667811257.885437462] [talker]: Publishing: 'Hello World: 2'
[INFO] [1667811258.885454229] [talker]: Publishing: 'Hello World: 3'
[INFO] [1667811256.899925804] [listener]: I heard: [Hello World: 1]
[INFO] [1667811257.886460933] [listener]: I heard: [Hello World: 2]
[INFO] [1667811258.886560598] [listener]: I heard: [Hello World: 3]
即安装完成。