Преимущество использования сервера действий между клиентом действий и контроллером?

Каковы преимущества использования сервера действий в середине контроллеров ros и клиента действий, который отправляет некоторые ros msgs(траектория msgs) контроллерам? Хотя я знаю, что с помощью клиента действия я также могу проверить состояние действия, результата и каждого клиента msgs, отправленного контроллерам. Но есть ли еще какие-то преимущества? Я попробовал учебники actionlib, но не получил ответа на этот вопрос.
Почему я не могу использовать Ros publisher также в этом случае.

Метки

1 ответ

  1. Издатель и подписчик используются только для непрерывного потока данных, как pointcloud или любой другой ros msgs, где msgs непрерывно публикуется и может быть подписан. Но так как для управления роботом и отправки команды на перемещение его сустава команда msgs как jointtrajectory msgs не должна быть отправлена непрерывно и в течение небольшого периода времени для перемещения робота, для этого используется сервер действий и клиент.

    В действии сервер и клиент их дополнительная информация, как статус, результат и обратная связь, которая используется клиентом, чтобы проверить wheather совместные команды, отправленные были выполнены роботом или нет, если да, клиент перестает отправлять больше совместных msgs роботу, так же, как когда u отправить команду перемещения в руки УР u не отправлять эти команды непрерывно, как u получить imformation, что рука УР достиг позиции, где u хотите разместить, u остановить эти команды. И издатель и подписчик как издатель глаз ur который непрерывно посылает изображение к мозгу ur и мозг подписывается к им непрерывно и делает свою работу.