CC BY 4.0 (除特别声明或转载文章外)
如果这篇博客帮助到你,可以请我喝一杯咖啡~
Clinet模型
创建功能包
cd ~/catkin_ws/src
catkin_create_pkg learning_service roscpp std_msgs geometry_msgs turtlesim
创建客户端
- 初始化ROS节点
- 创建一个Client实例
- 发布服务请求数据
- 等待Server处理之后的应答结果
配置客户端代码编译规则
- 设置可执行文件
- 设置链接库
add_executable(turtle_spawn src/turtle_spawn.cpp) target_link_libraries(turtle_spawn ${catkin_LIBRARIES})
编译并运行
Service
- 初始化ROS节点
- 创建Service实列
- 循环等待服务请求,进入回调函数
- 在回调函数中完成服务功能的处理并反馈
服务数据的定义与使用
自定义服务数据
- 定义srv文件
- 在package.xml中添加功能包依赖
- 在CMakeList.txt中添加编译选项
- 编译生成语言相关文件
参数的使用与编程方法
坐标系管理
TF功能包
launch文件
通过XML文件实现多节点的配置和启动(可自启动ROS Master)
可视化
rqt Rviz 显示平台 Gazebo 仿真平台