本文系统配置ubuntu20.04+ros1,是初学者按照ros官网初级教程学习记录,仅作个人学习记录,如有问题可联系本文作者。
附上ros1官网学习教程链接Documentation - ROS Wikihttps://wiki.ros.org/ros2官网学习教程链接Project Governance — ROS 2 Documentation: Rolling documentationhttps://docs.ros.org/en/rolling/The-ROS2-Project/Governance.html
一、运行服务端
同理需要确保roscore已经开启:
$ roscore
然后打开新的窗口。
catkin specific 如果使用catkin,在运行你的程序前,请确保你在调用catkin_make后已经source过工作空间的setup.*sh文件:
# 在catkin工作空间中
$ cd ~/catkin_ws
$ source ./devel/setup.bash
让我们先开始运行服务:
$ rosrun beginner_tutorials add_two_ints_server # (C++) $ rosrun beginner_tutorials add_two_ints_server.py # (Python)
此时第一张图片的内容因为运行python指令(两者无论谁在前谁在后都会变化)如下
二、运行客户端
然后打开新的窗口,在运行你的程序前,请确保你在调用catkin_make后已经source过工作空间的setup.*sh文件:
# 在catkin工作空间中
$ cd ~/catkin_ws
$ source ./devel/setup.bash
cd ~/catkin_ws
source ./devel/setup.bash
rosrun beginner_tutorials add_two_ints_client.py 1 3
现在,运行客户端并附带必要的参数:
$ rosrun beginner_tutorials add_two_ints_client 1 3 # (C++) $ rosrun beginner_tutorials add_two_ints_client.py 1 3 # (Python)
而且此时存在如下:
现在,你已经成功地运行了你的第一个服务和客户端。
三、关于服务和客户端节点的更多示例
如果想做更深入的研究或获取上手示例,可以看看这里https://github.com/fairlight1337/ros_service_examples/。这一简单的客户端和服务组合展示了自定义消息类型的使用。服务节点是用C++编写的,而客户端用C++、Python和Lisp都可以。