matlabのrobotics_system_toolboxに対する使用方法をまとめていく
rosinit : ROSマスターとグローバルノードを初期化するPublisher関連
Blank Message : メッセージを作成するMessage type : Selectからメッセージの型を選択できるサンプル時間 : 設定時間の周期でMessageを更新する=>Publishする(infにすると更新時のみ配信)Bus Assignment Blank Messageとならべて使用する BusにつなげたBlankMessageに値を入れるものPublish : Publisherの作成Topic source
Select from ROS network : すでに存在するtopicに配信するSpecify your own : 新しいTopicを作成するTopic : Topicの名前を指定する (ex /data_hogehoge )Message type
配信するメッセージの型を選択 =>ここがつながっているBlank Messageと違う型だとエラーになるので注意
Subscriber関連
Subscribe : Subscriberの作成Topic source : 使用方法としてはPublishと同じで自分で新しいものを作るかどうかTopic : 購読するTopicの指定(ex /data_hogehoge)Message type : 購読するTopicのメッセージの型を指定Sample time : -1でシュミレータ内と同じ周期で更新の確認Terminator : 出力信号で接続されていないものに関する警告を防ぐEnabled Subsystem BusSelector : Bus Assignmentの逆版でメッセージ内のデータを取り出す外部のROS Masterに接続
ROS_MASTER_URI を確認するhttp://IP:ポート/ となっている部分を確認するIPの部分が名前の場合はそのPCのIPアドレスをifconfigなどで調べるNetwork Addressを Custom にHostname/IP Addressに 2で調べたIPアドレスを入れるPortに 2で調べたポート番号を入れるrosshutdownをし起動中のglobal ROS node を閉じるrosinitをし上記で設定したネットワークに接続する多関節ロボットに関するワークフローをサポート
urdfを使用して逆運動などを解くことができる
robot = importrobot('URDFファイル名')
urdfファイルは拡張子まで全て入力する
char型なのでダブルクオーテーションで囲むとエラーをだす
上記のコードの場合,robotが今後RigidBodyTreeとして使用可能となる
大きく分けて二通りの方法がある
RigidBodyには逆運動計算において様々な条件(制約)を指定することが可能
RigidBody.DataFormat = "row";
numWaypoints = 5;
q0 = homeConfiguration(RigidBodyTree);
qWaypoints = repmat(q0, numWaypoints,1 );