2017-01-13 7 views
0

いくつかのros msgs(trajectory msgs)をコントローラに送信するrosコントローラとアクションクライアントの中間でアクションサーバを使用する利点は何ですか?私はアクションクライアントを使用することによって、アクション、結果、およびコントローラに送信されるすべてのクライアントmsgsのステータスをチェックすることもできることを知っています。しかし他の利点はありますか?私はactionlibのチュートリアルを試みたが、この質問の答えを得られなかった。 この場合でもros publisherを使用できないのはなぜですか?アクションクライアントとコントローラの間でアクションサーバを使用することをお勧めしますか?

答えて

0

パブリッシャとサブスクライバは、pointcloudやその他のros msgsのような連続したデータストリームにのみ使用され、msgsは定期的に公開されており、購読することができます。しかし、ロボットを制御してジョイントを移動させるコマンドを送信するためには、jointtrajectory msgsのようなコマンドmsgsを頻繁に送る必要はなく、ロボットを動かすために少し時間を要するので、この目的のためにアクションサーバとクライアントが使用されます。

アクションサーバとクライアントでは、送信された共同コマンドがクライアントによって実行されたかどうかをクライアントが確認するためにステータス、結果、フィードバックなどの追加情報があります。ロボットは、あなたが移動コマンドをUR手札に送るときと同じように同じコマンドを連続的に送信します.UU手札は、Uがそれらのコマンドを停止する位置に到達したという情報を得ます。そしてパブリッシャーとサブスクライバーはパブリッシャーのようなものです。脳や脳にイメージを絶え間なく送信し、脳を大胆に購読して作業します。

関連する問題