自分用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
にパブリッシュする、中間の部分のノード、パイプラインを作ることで、実機とシミュレーションを行ったり来たりできるってことでいいのかな。