ナビゲーションロボットの下位機操作【V1.1】
ナビゲーションロボットは上位機と下位機に分かれています。上位機は RDK X5 制御ボードで ROS2 上の SLAM ナビゲーションアルゴリズムと ROS インターフェース処理を行い、下位機は Arduino マイコンでシャーシのモータを駆動します。ここでは下位機プログラムの書き込みの全工程を紹介します。
本実験は Arduino mega2560 拡張ボード V1.1 と対応する Unirobot_Mega_V1.2 ライブラリをベースにしています。
1. ハードウェア構成と使用説明
ハードウェア構成
| No. | 名称 | 数量 | 備考 |
|---|---|---|---|
| 1 | 四輪駆動メカナムホイール全方向シャーシ | 1 | 構造本体。 |
| 2 | LiDAR | 1 | 地図作成・ナビゲーション用センサ。 |
| 3 | Arduino mega2560 メインボード | 1 | 下位機駆動メインボード。 |
| 4 | モータドライバボード | 1 | 下位機駆動拡張ボード。 |
| 5 | RDK X5 組込み開発ボード | 1 | 上位機の組込み開発ボード。ubuntu22.04 と ROS2 humble をプリインストール。 |
| 6 | 3S 電源ボックス(18650 電池 3 本付き) | 1 | 11.1V。 |
ロボット本体
ロボット本体は 4 輪メカナムホイール駆動のシャーシで、前方に LiDAR を搭載し、中央部に上位機ボード RDK X5、Arduino mega2560 メインボードと拡張ボードを配置し、後部に 3S 電源ボックスを配置しています。信号を強化するため、後部にはアンテナも追加しています。


ハードウェアモジュールの使用説明
ヒント:ハードウェアモジュールの使用説明(開発ボード、プログラミング環境、電源モジュールの基本的な使い方について、リンクから確認することを強くお勧めします)
Uni mega2560 拡張ボード【V1.1】使用説明
Arduino プログラミングソフトのインストールとライブラリのインポート【V2.1】
電池および電源モジュール使用上の注意(必読)【v3.0】
電子モジュールの紹介(リンクをクリックすると、エンコーダモータと LiDAR の仕様を確認できます)
2. ロボット駆動ライブラリとプログラムの書き込み
1. ライブラリファイルのインポート
下位機ドライバは Unirobot_Mega_V1.2 ライブラリを使用しています。プログラムを書き込む前に、ライブラリをインポートしてください。
ライブラリのインポートと Arduino ソフトの使い方:
(ライブラリをインポート済みの場合はこの手順を省略できます)インポートが必要なライブラリ:Unirobot_Mega_V1.2 Arduino プログラミングソフトのインストールとライブラリのインポート【V2.1】
2. 下位機ドライバプログラムの書き込み
プログラムの入手先:
資料のダウンロード・技術サポートについては、HumansX株式会社までお問い合わせください。
ファイル内の格納場所:
./導航小車資料備份 / 2.導航小車資料備份/4-1 小車Mega2560拓展版V1.1下位機程序(ナビゲーションカー資料バックアップ / 4-1 車両 Mega2560 拡張ボード V1.1 下位機プログラム)
プログラムの書き込み:
プログラムパッケージ MegaCarProgram をパソコンの任意のドライブに置き、Arduino IDE で開きます。
-
メインプログラム MegaCarProgram.ino を書き込みます。ボードは Arduino mega or mega 2560 を、ポート番号は環境に合わせて選択してください。(Arduino ソフトの基本的な使い方は Arduino プログラミングソフトのインストールとライブラリのインポート【V2.1】 を参照してください)
-
電池ボックスのスイッチと拡張ボードのスイッチをオンにし、動作を確認します。
ドキュメント