ROS 安装与使用
TB-RK3588X预置debian11固件内可直接支持ROS1/ROS2功能。
ROS安装
ROS1安装命令
#安装ros1
toybrick-install.sh ros1
#查看帮助命令
toybrick-install.sh --help
ROS2安装命令
#安装ros2-foxy
sudo apt -y install ros2-foxy
#安装辅助软件包
ros2.sh prebuild
ROS2通信测试
-
依次打开两个新的终端运行如下命令:
#终端1 listener
ros2 run demo_nodes_cpp listener
#终端2 talker
ros2 run demo_nodes_py talker -
若两个终端能正常通信,显示如下日志,则说明编译成功:
#终端1 listener
[INFO] [1642061058.658442093] [listener]: I heard: [Hello World: 1]
[INFO] [1642061059.638045379] [listener]: I heard: [Hello World: 2]
[INFO] [1642061060.638299705] [listener]: I heard: [Hello World: 3]
[INFO] [1642061061.638672438] [listener]: I heard: [Hello World: 4]
[INFO] [1642061062.639527715] [listener]: I heard: [Hello World: 5]
[INFO] [1642061063.639907756] [listener]: I heard: [Hello World: 6]
[INFO] [1642061064.640647545] [listener]: I heard: [Hello World: 7]
[INFO] [1642061065.640954641] [listener]: I heard: [Hello World: 8]
[INFO] [1642061066.641028633] [listener]: I heard: [Hello World: 9]
#终端2 talker
[INFO] [1642061058.636212156] [talker]: Publishing: 'Hello World: 1'
[INFO] [1642061059.635725887] [talker]: Publishing: 'Hello World: 2'
[INFO] [1642061060.635657118] [talker]: Publishing: 'Hello World: 3'
[INFO] [1642061061.635704049] [talker]: Publishing: 'Hello World: 4'
[INFO] [1642061062.635686631] [talker]: Publishing: 'Hello World: 5'
[INFO] [1642061063.635791621] [talker]: Publishing: 'Hello World: 6'
[INFO] [1642061064.635742135] [talker]: Publishing: 'Hello World: 7'
[INFO] [1642061065.635865475] [talker]: Publishing: 'Hello World: 8'
[INFO] [1642061066.635945009] [talker]: Publishing: 'Hello World: 9'
说明
编译生成的软件包安装在/opt/ros2_foxy目录下
音量控制C++ Demo
-
下载sample:
sudo apt -y install ros2-foxy-sample
-
将sample拷贝到home目录下:
sudo cp /opt/ros2-foxy/sample ~/sample
chown -R toybrick:toybrick ~/sample/ -
编译service,源码实现在sample/src/volume_control目录下:
cd ~/sample
colcon build --packages-select volume_control -
测试service,若能在屏幕上看到正确控制音量图标,则说明运行正常:
#终端1:server
source /opt/ros2-foxy/envsetup
source ~/sample/install/setup.sh
#运行server
ros2 run volume_control server
#终端2:client
source /opt/ros2-foxy/envsetup
source ~/sample/install/setup.sh
#控制音量+
ros2 run volume_control client 1
#控制音量-
ros2 run volume_control client 0
音量控制python Demo
-
下载sample:
sudo apt -y install ros2-foxy-sample
-
将sample拷贝到home目录下:
sudo cp /opt/ros2-foxy/sample ~/sample
chown -R toybrick:toybrick ~/sample/ -
编译service,源码实现在sample/src/py_volume_control目录下:
cd ~/sample
colcon build --packages-select py_volume_control -
分别打开两个终端运行节点,可以在桌面上看到已经成功控制音量加减图标:
#终端1:server
source /opt/ros2-foxy/envsetup
source ~/sample/install/setup.sh
#运行server
ros2 run py_volume_control server
#终端2:client
source /opt/ros2-foxy/envsetup
source ~/sample/install/setup.sh
#控制音量+
ros2 run py_volume_control client 1
#控制音量-
ros2 run py_volume_control client 0