# 4.5 常見srv類型
本小節介紹常見的srv類型及其定義
srv類型相當于兩個message通道,一個發送,一個接收
**AddTwoInts.srv**
#對兩個整數求和,虛線前是輸入量,后是返回量
#文件位置:自定義srv文件
int32 a
int32 b
---
int32 sum
**Empty.srv**
#文件位置:std_srvs/Empty.srv
#代表一個空的srv類型
---
**GetMap.srv**
#文件位置:nav_msgs/GetMap.srv
#獲取地圖,注意請求部分為空
---
nav_msgs/OccupancyGrid map
**GetPlan.srv**
#文件位置:nav_msgs/GetPlan.srv
#得到一條從當前位置到目標點的路徑
geometry_msgs/PoseStamped start #起始點
geometry_msgs/PoseStamped goal #目標點
float32 tolerance #到達目標點的x,y方向的容錯距離
---
nav_msgs/Path plan
**SetBool.srv**
#文件位置:std_srvs/SetBools.srv
bool data # 啟動或者關閉硬件
---
bool success # 標示硬件是否成功運行
string message # 運行信息
**SetCameraInfo.srv**
#文件位置:sensor_msgs/SetCameraInfo.srv
#通過給定的CameraInfo相機信息,來對相機進行標定
sensor_msgs/CameraInfo camera_info #相機信息
---
bool success #如果調用成功,則返回true
string status_message #給出調用成功的細節
**SetMap.srv**
#文件位置:nav_msgs/SetMap.srv
#以初始位置為基準,設定新的地圖
nav_msgs/OccupancyGrid map
geometry_msgs/PoseWithCovarianceStamped initial_pose
---
bool success
**TalkerListener.srv**
#文件位置: 自定義srv文件
---
bool success # 標示srv是否成功運行
string message # 信息,如錯誤信息等
**Trigger.srv**
#文件位置:std_srvs/Trigger.srv
---
bool success # 標示srv是否成功運行
string message # 信息,如錯誤信息等
- 前言
- 第一章 ROS簡介
- 機器人時代的到來
- ROS發展歷程
- 什么是ROS
- 安裝ROS
- 安裝ROS-Academy-for-Beginners教學包
- 二進制與源碼包
- 安裝RoboWare Studio
- 單元測試一
- 第二章 ROS文件系統
- Catkin編譯系統
- Catkin工作空間
- Package軟件包
- CMakeLists.txt
- package.xml
- Metapacakge軟件元包
- 其他常見文件類型
- 單元測試二
- 第三章 ROS通信架構(一)
- Node & Master
- Launch文件
- Topic
- Msg
- 常見msg類型
- 單元測試三
- 第四章 ROS通信架構(二)
- Service
- Srv
- Parameter server
- Action
- 常見srv類型
- 常見action類型
- 單元測試四
- 第五章 常用工具
- Gazebo
- RViz
- Rqt
- Rosbag
- Rosbridge
- moveit!
- 單元測試五
- 第六章 roscpp
- Client Library與roscpp
- 節點初始、關閉與NodeHandle
- Topic in roscpp
- Service in roscpp
- Param in roscpp
- 時鐘
- 日志與異常
- 第七章 rospy
- Rospy與主要接口
- Topic in rospy
- Service in rospy
- Param與Time
- 第八章 TF與URDF
- 認識TF
- TF消息
- tf in c++
- tf in python
- 統一機器人描述格式
- 附錄:TF數學基礎
- 三維空間剛體運動---旋轉矩陣
- 三維空間剛體運動---歐拉角
- 三維空間剛體運動---四元數
- 第九章 SLAM
- 地圖
- Gmapping
- Karto
- Hector
- 第十章 Navigation
- Navigation Stack
- move_base
- costmap
- Map_server & Amcl
- 附錄:Navigation工具包說明
- amcl
- local_base_planner
- carrot_planner
- clear_costmap_recovery
- costmap_2d
- dwa_local_planner
- fake_localization
- global_planner
- map_server
- move_base_msg
- move_base
- move_slow_and_clear
- navfn
- nav_core
- robot_pose_ekf
- rotate_recovery