在动作客户端和控制器之间使用动作服务器的好处?
Benifit of using action server between action client and controller?
在 ros 控制器和向控制器发送一些 ros 消息(轨迹消息)的动作客户端中间使用动作服务器有什么好处?虽然我知道通过使用动作客户端我还可以检查动作的状态、结果和发送到控制器的每个客户端消息。但是还有其他优点吗?我试过 actionlib 教程,但没有得到这个问题的答案。
为什么在这种情况下我也不能使用 ros publisher。
发布者和订阅者仅用于连续数据流,如点云或任何其他 ros 消息,其中消息被连续发布并可以订阅。但是由于要控制机器人并发送命令以移动其关节,不需要连续发送命令消息(如关节轨迹消息)并在短时间内移动机器人,因此使用动作服务器和客户端。
在动作服务器和客户端中,它们是额外的信息,如状态、结果和反馈,客户端使用这些信息来检查发送的联合命令是否已由机器人完成,如果是,则客户端停止发送更多联合消息对机器人来说,就像当你向你的手发送一个移动命令时你不会连续发送这些命令,因为你得到你的手已经到达你想要放置的位置的信息,你停止这些命令。发布者和订阅者就像发布者是你的眼睛,它不断地将图像发送到你的大脑,而大脑不断地订阅它们并完成它的工作。
在 ros 控制器和向控制器发送一些 ros 消息(轨迹消息)的动作客户端中间使用动作服务器有什么好处?虽然我知道通过使用动作客户端我还可以检查动作的状态、结果和发送到控制器的每个客户端消息。但是还有其他优点吗?我试过 actionlib 教程,但没有得到这个问题的答案。 为什么在这种情况下我也不能使用 ros publisher。
发布者和订阅者仅用于连续数据流,如点云或任何其他 ros 消息,其中消息被连续发布并可以订阅。但是由于要控制机器人并发送命令以移动其关节,不需要连续发送命令消息(如关节轨迹消息)并在短时间内移动机器人,因此使用动作服务器和客户端。
在动作服务器和客户端中,它们是额外的信息,如状态、结果和反馈,客户端使用这些信息来检查发送的联合命令是否已由机器人完成,如果是,则客户端停止发送更多联合消息对机器人来说,就像当你向你的手发送一个移动命令时你不会连续发送这些命令,因为你得到你的手已经到达你想要放置的位置的信息,你停止这些命令。发布者和订阅者就像发布者是你的眼睛,它不断地将图像发送到你的大脑,而大脑不断地订阅它们并完成它的工作。