Jedyを起動するjedy_bringup.launch.pyの構成

Jedyを起動するjedy_bringup.launch.pyの構成#

このlaunchファイルを見てみよう. 付録の「rosemacsの利用」を行うと, ROSのファイルの参照が行いやすい. jedy_bringup.launch.pyを, 「rosemacsの利用」を読み emacs上で開いてみよう. エディタとしてemacsを使わない場合は,

$ roscd jedy_bringup/launch

のようにして該当ディレクトリに移動しつつ,各自の好きなエディタでファイ ルを開いてもよい.

jedy_bringup.launch.pyを見てみると,

  kxr_controller.launch
  ->サーボ基板との通信,ロボットの身体情報定義ファイルを読み込み,他のノードが使えるようにするノード群の立ち上げ
  diff_drive_controller.launch
  ->台車を動かし,情報取得のためのコントローラー立ち上げ
  mpu6886_imu_publisher.launch
  -> Imuをpublishするノードの立ち上げ

などの複数のノードが立ち上がる. 特にkxr_controller.launchは UART通信を行う/dev/ttyAML1のデバイスファイルへ 指令値をwriteしセンサ値をreadするノードが起動している. また,ROS 2のPython launchファイルではDeclareLaunchArgumentLaunchConfigurationを使ってlaunchファイルの引数を指定する. kxr_controller.launchなどのファイルはセンサや台車が異なるJedyでも 共通した部分を記述しており, jedy_bringup.launch.pyではIncludeLaunchDescriptionを使ってそれらをincludeし 引数を渡すことで各ロボットに対応させている.