Recent Posts
【ROS 2 Humble】rviz panel pluginのおおまかなつくりかた
RViz のプラグインの作り方についての公式な情報はros2/rvizのrviz/docs/plugin_development.mdにありますが,十分な情報があってわかりやすいとは言い難い状態です. 日本語の情報源も乏しく存在していても古いものや ROS 1 から ROS 2 への移行を中心としたものです. ここにパネルプラグインを作るときに知っておくべき全体像をまとめます.
【ROS2 Foxy】TimerはReentrantにしても複数のインスタンスは生じないらしい
ROS 2 のexecutorの一種であるMultiThreadedExecutorは,複数のスレッドを用いて処理をパラレルに進めてくれます. 同時に進めて良い処理や同時に進めると不都合な処理をcallback groupを用いて設定します. Reentrant Callback Group に設定したコールバックは,制約なくスケジューリングされ,他のコールバックや,同じコールバックの別のインスタンスが同時に実行される可能性があると説明されています. しかし,実際には,create_wall_timer で設定したコールバックは Reentrant に設定しても,異なるインスタンスが同時に実行されることはないようです.