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 );