跳到主要内容

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