どこでもナビケーション

概要

My_Naviでナビケーションを行うにはWi-Fi環境が必要である。
家の外でも実行できるように専用のルーターを用意した。
これでどこでもナビゲーションを実行できるようになった。

【構成A: WX5400HP(家庭内) 接続時】      【構成B: AX3000(ロボット用) 接続時】

+-------------------------+             +-------------------------+
| ATERM-F70A79 (RT)       | (-------->) | Archer AX3000 (RT)      |
| IP: 192.168.0.1         |             | IP: 192.168.10.1        |
+------------+------------+             +------+-----------+------+
             |                                 |           |       
+------------v------------+                    |           |       
| WX5400HP (BR)           |                    |           |       
| IP: 192.168.0.2         |                    |           |       
+------+-----------+------+                    |           |       
       |           |                        (Wi-Fi)   (Wi-Fi 2.4GHz)
    (Wi-Fi)   (Wi-Fi 2.4GHz)                   |           |       
       |           |                           |           |       
+------v-------+ +-v---------+          +------v-------+ +-v----------+
| Ubuntu PC    | | ESP32     |          | Ubuntu PC    | | ESP32      |
|(ROS 2 Humble)| | (MQTT)    |          |(ROS 2 Humble)| | (MQTT)     |
| 192.168.0.63 | |192.168.0.x|          | 192.168.10.63| |192.168.10.x|
+--------------+ +-----------+          +--------------+ +------------+

通常は【構成A】で開発する。それを【構成B】で動作確認すれば、以降【構成B】を外部に持ち出しても動作する。
Archer AX3000をATERM-F70A79に有線接続すれば、192.168.10もインターネット接続できる。

操作手順(ネットワーク選択)

1.Ubuntu PCを【構成A】か【構成B】のネットワークに接続する。
   ssidで192.168.0か192.168.10を選択する。
2.ロボットカーに電池をつなぎ起動する(LEDが赤全灯から青1個点灯に変わる)
   192.168.0か192.168.10は、自動判定する。

操作手順(地図を作る)

1.コントローラとPC(DELL2)をBluetoothで接続し、コントロールプログラムを起動する
  ~/My_Navi_ws/src/My_Navi_basic/launch/start_joystick.sh
2.コントローラの三角ボタンを押して、/scanと/odomのパブリッシュを開始する
3.使用するROSのノードをまとめて起動する
  ros2 launch My_Navi_imu my_slam_launch.py                  
4.下の「地図を作るときのロボットの動かし方」に従って地図を作る
5.地図保存用のターミナルを起動する
6.出発点に戻って地図が完成したら地図を保存する
  ros2 run nav2_map_server map_saver_cli -f ~/My_Navi_ws/src/My_Navi_imu/maps/my_map # マップ名は随時変更する

■操作手順(ナビゲーションする)

1.使用するROSのノードをまとめて起動する
  ros2 launch My_Navi_imu my_navigation_launch.py                   # デフォルトのmy_mapを使う場合
  ros2 launch My_Navi_imu my_navigation_launch.py map_name:=my_map3 # 地図を指定する場合
  # パラメータファイルを指定する場合。地図指定と併用可
  ros2 launch My_Navi_imu my_navigation_launch.py params_file:=nav2_params_20251225.yaml 
2.別のターミナルを開く

3./scanと/odomのパブリッシュを開始する。
  mosquitto_pub -h 192.168.10.63 -t "Roller485/cmd_sw" -m '{"pos": "on"}'     # 起動
  mosquitto_pub -h 192.168.10.63 -t "Roller485/cmd_sw" -m '{"pos": "off"}'    # 停止

# ジョイステックを使う場合

4.別のターミナルを開く
5.コントローラとPC(DELL2)をBluetoothで接続し、コントロールプログラムを起動する
  ~/My_Navi_ws/src/My_Navi_basic/launch/start_joystick.sh
6.コントローラの三角ボタンを押して、/scanと/odomのパブリッシュを開始する