ro2:RO2的安装与简单测试 2024-04-24 22:44:43 0 0 ROS2已经出了好几个版本,本文尝试安装最新的版本并跑通一个简单的测试 1. 安装ROS2 我们直接按照官方的文档使用安装包安装(我们修改了使用国内的源加快安装速度)# http://wiki.ros.org/ROS/Installation/UbuntuMirrorssudo sh -c 'echo "deb https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu/ focal main" > /etc/apt/sources.list.d/ros-latest.list'sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654sudo apt-get updateROS_DISTRO=galacticsudo apt-get -y --allow-unauthenticated install ros-${ROS_DISTRO}-ros-base 2. 测试 官方的文档提供了直接可以跑的talker和listener的demo, 我们自己编译运行测试下cd ~git clone https://gitee.com/pibot/ros2_tutorials.gitsource /opt/ros/galactic/setup.bashsudo apt-get install ros-galactic-example-interfaces python3-colcon-common-extensionscolcon build --symlink-install 编译有点慢,输出如下➜ ros2_tutorials git:(master) colcon build --symlink-install Starting >>> cpp_parametersStarting >>> cpp_pubsubStarting >>> cpp_srvcliStarting >>> more_interfacesFinished <<< cpp_srvcli [22.4s] Starting >>> my_packageFinished <<< cpp_parameters [22.6s] Starting >>> py_pubsubFinished <<< cpp_pubsub [32.5s] Starting >>> py_srvcliFinished <<< my_package [11.8s] Starting >>> python_parametersFinished <<< more_interfaces [35.5s] Starting >>> tutorial_interfacesFinished <<< py_pubsub [14.7s] Finished <<< py_srvcli [4.79s] Finished <<< python_parameters [3.84s] Finished <<< tutorial_interfaces [18.1s] Summary: 9 packages finished [54.1s] 分别打开2个终端启动listener和talker两个node. install/setup.bash # or source install/setup.bashros2 run cpp_pubsub listener . install/setup.bash # or source install/setup.bashros2 run cpp_pubsub talker 输入结果如下➜ ros2_tutorials git:(master) ros2 run cpp_pubsub talker [INFO] [1651157786.201203089] [minimal_publisher]: Publishing: 'Hello, world! 0'[INFO] [1651157786.701139979] [minimal_publisher]: Publishing: 'Hello, world! 1'[INFO] [1651157787.201177175] [minimal_publisher]: Publishing: 'Hello, world! 2'[INFO] [1651157787.701187811] [minimal_publisher]: Publishing: 'Hello, world! 3'[INFO] [1651157788.201121074] [minimal_publisher]: Publishing: 'Hello, world! 4' ➜ ros2_tutorials git:(master) ros2 run cpp_pubsub listener[INFO] [1651157786.202114153] [minimal_subscriber]: I heard: 'Hello, world! 0'[INFO] [1651157786.701859978] [minimal_subscriber]: I heard: 'Hello, world! 1'[INFO] [1651157787.201796211] [minimal_subscriber]: I heard: 'Hello, world! 2'[INFO] [1651157787.701764906] [minimal_subscriber]: I heard: 'Hello, world! 3'[INFO] [1651157788.201778743] [minimal_subscriber]: I heard: 'Hello, world! 4' 查看topic以及输出➜ ros2_tutorials git:(master) ros2 topic list/parameter_events/rosout/topic ➜ ros2_tutorials git:(master) ros2 topic echo /topic data: Hello, world! 1---data: Hello, world! 2---data: Hello, world! 3---data: Hello, world! 4--- 3. 总结ROS1ROS2环境变量source /opt/ros/${ROS_DISTO}/setup.bashsource /opt/ros/${ROS_DISTO}/setup.bash编译catkin_makecolcon build启动noderosrun package noderos2 run package node查看topicrostop echo /topicros2 topich echo /topicmasterroscore无 收藏(0)