Skip to main content

Posts

Showing posts from November, 2021

Reading: プログラミングROS

ROS2を使用したソフトを扱うことになった。基礎から全く知らないのでひとまず日本語の著書を探してたところ見かけたので読むことにした。 この書籍自体はROS2ではなく、ROSを扱っているので、いくつかの違いがあるけれど、それでも十分に役立つ内容だった。 以下は読書メモ。 ROSグラフというかたちでつながりを表現 - ノードとエッジ(≒まさにグラフに出てくるやつ) - roscoreがdiscoveryの機能を持つ(ノード登録、ノードからの問い合わせで別のノードの情報を提供) - ROSグラフが星形に見えたら、中央のノードにデータを送っているかうけとっているだけになるため、データの流れを見直すなどした方が良い tf(transform)によって座標系を取り扱う topicを公開、pub/sub形式での実装 - ラッチトピックは、最後に配信されたメッセージを自動で受け取り可能 - メッセージの型定義は msg ディレクトリ内にて実施する サービスは同期型のデータ受渡方法 - 入出力定義はメッセージ定義と似たようなサービス定義のファイルを用いる - たまに実行する必要のある処理や同期してリプライする必要のある処理に使う アクションは非同期型のデータ受渡方法 - 要求に応えるまでに時間を要する場合に使う 移動プラットフォーム - 静的に安定 = アクチュエーターなどが動いていなくても倒れない - 動的に安定 = アクチュエーターなどが動いていないと倒れる - スキッドステアリングプラットフォーム=全部の車輪がアクティブに動く、横移動不可 - アッカーマンプラットフォーム=後輪は常にまっすぐ、前輪の向きが左右一緒、横移動不可 - 横移動は幌のミックプラットフォームでないと実現できない - ROSではこれら移動プラットフォームとのやり取りにTwistという3次元の線形と回転の速度の表現方法を使う マニピュレーターアーム - 基本的な特性は自由度(degrees of freedom: DOF) - 作業空間内で自由な方向に向ける空間のことをデクストラウス作業空間という センサー - バイナリーセンサーは「オン」か「オフ」か、例えば光線の遮られ状況からオンオフを見たり、単体のスイッチを機械的な圧力でオンオフすることで見たりなど - スカラー値を返すものもある、この場合には各種センサ