使い方
1.GMKの電源を入れてMQTTを立ち上げる
2.ロボットカーに電池をつなぎ起動する(LEDが赤全灯から青1個点灯に変わる)
3.DELL2で使用するROSのノードをまとめて起動する
ros2 launch My_Navi_basic my_navigation_launch.py # デフォルトのmy_mapを使う場合
ros2 launch My_Navi_basic my_navigation_launch.py map_name:=my_map2 # 地図を指定する場合
4.DELL2にリモートでログインする
5./scanと/odomのパブリッシュを開始する。
mosquitto_pub -h 192.168.0.110 -t "Roller485/cmd_sw" -m '{"pos": "on"}' # 起動
mosquitto_pub -h 192.168.0.110 -t "Roller485/cmd_sw" -m '{"pos": "off"}' # 停止
# ジョイステックを使う場合
6.コントローラをBluetoothでMiNI2に接続する
7.MiNI2からMy_Mavi.pyを起動する
8.コントローラの三角ボタンを押して、/scanと/odomのパブリッシュを開始する
nav2_params.yamlの変更一覧
| 項目名 | 所属ノード | Nav2デフォルト値 (推定) | 現在設定している値 | 設定変更の理由 |
inflation_radius | global_costmaplocal_costmap | 0.55 m | 0.35 m (Global) 0.45 m (Local) | 以前(0.75m)は大きすぎて狭い場所を通れなかったため、MPPIの回避能力を信頼して適正値に縮小した。 |
QoS (reliability) | amcl, costmap | best_effort | reliable | SLAM安定化のためLiDARノードを RELIABLE に変更したことに伴い、Nav2側の購読設定も合わせて通信不整合を防ぐため。 |
controller_frequency | controller_server | 20.0 Hz | 10.0 Hz | 【CPU負荷対策】 通信遅延や計算負荷を考慮し、スムーズな制御を行うためのバランス調整。 |
temperature | controller_server(MPPI) | 0.3 | 0.2 | スタート時の「ぎくしゃく感」を抑えるため、ランダム性をわずかに緩和して挙動を安定化させた。 |
batch_size | controller_server(MPPI) | 600 (CPU版) | 1000 | 経路探索の候補数を増やし、より最適なパスを見つけやすくすることで、複雑な回避動作の精度を向上させた。 |
time_steps | controller_server(MPPI) | 56 | 25 | 【CPU負荷対策】 予測ホライズン(先読み時間)を短くして計算量を減らし、近傍の障害物回避にリソースを集中させた。 |
max_rotational_vel | behavior_server | 1.8 rad/s | 1.5 rad/s | 以前(0.75)は制限しすぎてMPPIの解が見つかりにくかったため、ある程度の機動性を確保するために緩和した。 |
max_vel_thetawz_max | controller_server | 1.8 rad/s | 1.5 rad/s | コントローラー側でも旋回速度の制限を緩和し、スムーズな方向転換を可能にした。 |
max_speed_xyvx_max | controller_server | 0.26 ~ 0.5 m/s | 0.20 m/s | マップ追従の安定性を確保しつつ、以前(0.15)より少し速度を上げ、慣性を維持して走りやすくした。 |
publish_frequency | global_costmaplocal_costmap | 1.0 Hz (Global) 5.0 Hz (Local) | 0.5 Hz (Global) 2.0 Hz (Local) | 【CPU負荷対策・最重要】 可視化用の配信頻度を下げ、計算リソースを制御処理に回すため。 |
update_frequency | global_costmaplocal_costmap | 1.0 Hz (Global) 5.0 Hz (Local) | 0.5 Hz (Global) 2.0 Hz (Local) | 【CPU負荷対策・最重要】 地図更新処理を軽量化し、TF遅延によるデータ欠落(WARN)を防ぐための決定的な調整。 |
xy_goal_tolerance | controller_server | 0.25 m | 0.30 m | ゴール直前での微細な位置合わせによる「ふらつき」を減らし、到着判定をスムーズにするため緩和した。 |
yaw_goal_tolerance | controller_server | 0.25 rad | 0.40 rad | ゴール時の角度合わせの厳密さを緩和し、スムーズに停止動作へ移行させるため。 |