.. _microros_subscriber_performance_test: Microros Subscriber功能测试 ============================================== 概述 ------ subscriber例子展示了microros的节点通过XRCE-Client进行消息订阅功能。 硬件设置 ------------ - 准备一台装有ros2 foxy版本的ubuntu主机 - 使用USB转串口将主机与开发板相连,开发板使用的串口号,见board.h 环境设置 ------------ ros2 foxy版本的安装: 1. 可见[https://docs.ros.org/en/foxy/Installation/Alternatives/Ubuntu-Development-Setup.html],根据官网步骤进行安装。 2. 也可通过apt进行安装(如有需要,请更换源) .. code-block:: bash sudo apt update sudo apt install ros-foxy-desktop 安装完毕ros2 foxy后,需要安装主机端的agent,这里通过docker安装。 .. code-block:: bash docker run -it --rm --net=host -v /dev/shm:/dev/shm -v /dev:/dev --privileged microros/micro-ros-agent:foxy serial --dev ${serial} 如果遇到打不开串口的情况,请给串口改变权限 .. code-block:: bash chmod -R 777 ${serial} 运行agent后,复位板子,主机和板子之间建立通信。 .. note:: - 目前microros链接的静态库是由GCC 11.1.0编译,Andes Toolchain v520编译 运行现象 ------------ 新开一个终端 .. code-block:: bash source /opt/ros/foxy/setup.bash - 输入 `ros2 node list` 可以看到“subscriber”节点。 - 输入 `ros2 topic list` 可以看到/int32_subscriber话题名称。 - 输入 `ros2 node info /subscriber` 可以查询节点的功能以及消息类型。 - 输入 `ros2 topic echo /int32_subscriber` 可以打印出订阅的/int32_subscriber消息。 新开一个终端 输入 .. code-block:: bash source /opt/ros/foxy/setup.bash ros2 topic pub /int32_subscriber std_msgs/msg/Int32 "{data: 1234}" agent开始发布/int32_subscribe话题下的消息,可以看到订阅/int32_subscribe话题的节点打印出 .. code-block:: bash data: 1234 --- data: 1234 --- data: 1234 --- data: 1234 --- data: 1234 ---