wiki中使用ros-foxy的桌面,官网维护周期是2020.5-2023.5,ubuntu22.04暂时不支持;所以现在使用比较新的ros版本:Humble
操作平台是neardi设备LKD3588
- 检查语言环境能否支持UTF-8:
neardi@LPA3588:~$ locale # check for UTF-8
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
若没有则下载更新:
`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
locale # verify settings`
- 将ROS2 apt仓库添加到系统:
sudo apt install software-properties-common
sudo add-apt-repository universe
添加ROS2 安装包信息:
sudo apt update && sudo apt install curl gnupg lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
更新系统source.list:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
更新系统并安装桌面:
sudo apt update && sudo apt upgrade
sudo apt install ros-humble-desktop
配置环境以便每次启动终端自动加载ROS2:
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
开启两个终端模拟测试:
ros2 run demo_nodes_cpp talker
ros2 run demo_nodes_py listener
运行结果如下:
一方发送
neardi@LPA3588:~$ ros2 run demo_nodes_cpp talker
[INFO] [1672131270.256481314] [talker]: Publishing: 'Hello World: 1'
[INFO] [1672131271.256501645] [talker]: Publishing: 'Hello World: 2'
[INFO] [1672131272.256387812] [talker]: Publishing: 'Hello World: 3'
[INFO] [1672131273.256458682] [talker]: Publishing: 'Hello World: 4'
[INFO] [1672131274.256557592] [talker]: Publishing: 'Hello World: 5'
[INFO] [1672131275.256358218] [talker]: Publishing: 'Hello World: 6'
一方接收
neardi@LPA3588:~$ ros2 run demo_nodes_py listener
[INFO] [1672131270.308648992] [listener]: I heard: [Hello World: 1]
[INFO] [1672131271.259757148] [listener]: I heard: [Hello World: 2]
[INFO] [1672131272.259962390] [listener]: I heard: [Hello World: 3]
[INFO] [1672131273.259896764] [listener]: I heard: [Hello World: 4]
[INFO] [1672131274.260288792] [listener]: I heard: [Hello World: 5]
[INFO] [1672131275.262437902] [listener]: I heard: [Hello World: 6]