自分用moveitメモ

moveitのdemo.launchの関節角度について

move_groupノードが、move_group経由(Go関数)で関節角度を動かす司令を送った時、
/move_group/fake_controller_joint_states[sensor_msgs/JointState型]が、変更分をtopicとして吐き出す。

 

それを

demo.launch内で表記した、joint_state_publisherノードが受け取る。
joint_state_publisherノードは、受け取った最新のJointStateを吐き出し続けるだけ。

 

それをサブスクライブしているのは、/robot_state_publisherノード。
こいつは、urdf(robotのJointやlinkの関係などを記したファイル)を最初に読み込んで、さっきのJointStateをサブスクライブする。
それらの情報から\tf\tf_staticをパブリッシュして、robotの状態を表現する。

  ros_controllerについては理解できていないのだが、この
/move_group/fake_controller_joint_statesを目標値としてサブスクライブ、
その後の結果としての現在位置を/joint_state_publisherにパブリッシュする、中間の部分のノード、パイプラインを作ることで、実機とシミュレーションを行ったり来たりできるってことでいいのかな。