》》点赞,收藏+关注,理财&技术不迷路《《
升级版的service。
在某些service情况下,server处理时间非常非常长,client不知道server到底在干嘛,所以这里我们需要Action.
Server——>Client:Status——>server所处状态;result——>动作处理完后返回结果(一次)就是动作完成后;Feedback——>实时状态(多次)不断地返回状态。
长时间:小车移动,机械臂移动,从A点移动到B点。等等
可抢占:这个任务可以被打断,执行到一半可以去做别的任务。
*Action
洗碗机例子
1 2 3时洗碗机(server段):feedback是不断地告诉client这个动作完成了多少percent_complete,最后洗完了后还会返回一个result就是total_disher_cleaned。
Client:想调用洗碗机(调用这个功能),就需要发送一个goal给洗碗机,也就相当于上面的dishwasher.id也就是定义几号洗碗机给我们洗碗。
Navigation导航例子:
导航一直会用到的这个例子,这个action已经做了一个封装。
PoseStamped 带时间的位姿(位置和旋转)
Goal 就是 target_pose
Result就是中间空的(两根横线中间)