鱼香ros2(十七)C++小海龟巡逻

一、需求

1、需求

C++服务通信,做个巡逻海龟。

让小海龟在海龟模拟器中随机游走进行巡逻。

2、分析:

1)控制海龟到达目标点我知道,怎么改成动态接收?服务

2)用什么接口?自定义的

3)随机游走?客户端来产生随机点,请求巡逻服务

3、整体框架

二、自定义服务接口

1、自定义服务接口

2、注册

3、构建

4、查看接口定义

ros2 interface show chapt4_interfaces/srv/Partol

查看前一定要source。

三、服务端代码实现

1、创建功能包

ros2 pkg create demo_cpp_service --build-type ament_cmake --dependencies chapt4_interfaces rclcpp geometry_msgs turtlesim --license Apache-2.0

turtlesim:小海龟的位置功能包

geometry_msgs:控制的话题命令的功能包

2、创建服务

1)编写turtle_control.cpp

2)修改CMakeLists.txt

3)启动

记得启动小海龟模拟器:ros2 run turtlesim turtlesim_node

4)查看

ros2 service list

5)请求服务

新开终端,一定要记得source

rqt:使用界面来调用

四、客户端代码实现

1、实现步骤

1)创建客户端和定时器

2)定时产生目标标点并请求服务端巡逻

2、编写partol_client.cpp

2、修改CMakeLists.txt

3、启动

启动客户端节点前,先启动turtlesim和turtle_control节点,最后启动我们的client。

相关推荐
禁默1 小时前
论文解读 | IMR-LLM:工业多机器人任务规划与程序生成的两级架构方案
人工智能·机器人
郝学胜-神的一滴1 小时前
NumPy深度解析|Python数值计算的基石,告别低效for循环
开发语言·人工智能·python·程序人生·numpy·量化投资
\光辉岁月/1 小时前
15.JavaSE-网络
java·开发语言·网络
鲁邦通物联网1 小时前
变电站四足机器狗跨层巡检机器人梯控工程实操
机器人·巡检机器人·机器人梯控·agv梯控·机器人乘梯·机器人自主乘梯
兰亭妙微UI设计公司1 小时前
兰亭妙微软件界面设计公司的解锁按钮设计10大密码
开发语言·前端·javascript
人邮异步社区2 小时前
C语言好学,还是Python好学?
c语言·开发语言·python
栈帧之外2 小时前
【C++】红黑树实现
开发语言·c++
程序员老陆2 小时前
C++中同一个回调函数被多个设备并发调用:并发问题不在“函数”,而在“状态”
开发语言·c++·程序设计
辛苦才能2 小时前
C++ unordered_map/set 深度解析:快在O(1),输在无序,与map/set怎么选
c++·哈希算法·散列表