ROSは、マッピング、ナビゲーション、位置決めなどの一連の機能パッケージを提供しています。ROSに基づいて移動ロボットを構築する方法は?公式のROSドキュメントには非常に詳細な説明があります 。http://wiki.ros.org/navigation/Tutorials/RobotSetupをご覧ください。しかし、まだ始まったばかりの初心者にとっては、まだ理解しにくい点があります。
この記事では、ここで概要を説明します。
特定のロボット要件に基づいて、固定シーンで動作する移動ロボットを構築するためにLIDARおよびIMUセンサーのみを使用すると想定します。実行する必要がある作業は、次の部分に大別できます。
1ロボットモデリング
言うまでもなく、まずロボットの外観を知る必要がありますが、これにはロボットモデル、ロボット本体の相対位置とサイズ、および各センサーが必要です。多くのモデリングツールがこれを実行して、ROSでサポートされているデータ形式に変換できます。
2 TFデータのリリース
ロボットモデルでは、ROSの他のノードにこの情報を知らせるために、ロボットの外観を公開する必要があります。これには、TFノードの実装とロボット/ TFデータのリリースが必要です。もちろん、ROSは対応するツールも提供しています
3 Lidarドライバーノードの開発
LIDARデータをROSで認識される形式に変換するには、ドライバーが必要です。一部のレーダーメーカーは、独自のLIDAR用のROSドライバーを提供しています。これは、シンプルで多くの作業を節約します。したがって、レーダーを選択するときは、ROSドライバーを提供する製品を選択してください。
4 IMU drive node开发
また、IMUデータをROSが認識できる形式に変換する必要があります。これにはドライバーも必要です。一部のIMUメーカーは、IMU用のROSドライバーも提供しています。これは、シンプルで多くの作業を節約します。したがって、IMUを選択するときは、ROSドライバーを提供する製品を選択してください。
5 SLAMアルゴリズムの選択と構成
Lidarに基づく多くのSLAMアルゴリズムがあり、アプリケーションシナリオに適したアルゴリズムを選択し、実際のハードウェアに従ってパラメーターを構成します
6ナビゲーションアルゴリズムの選択と構成
ROSのMove_baseには、選択する複数のコンポーネントがあり、適切なプラグインを選択し、必要に応じて必要なパラメーターを構成します
7 Base_controllerノードの開発
これは、ロボットの動きを制御し、移動ベースからナビゲーション結果を受け取り、ロボットモーターの動きを制御するノードです。
8マップサーバーの構成
これは地図を投稿したノードです
9 AMCL構成
位置決め機能、AMCLノードに必要なパラメータを要件に応じて設定
上記の作業が完了すると、基本的にROSロボットが形成されます。
シンプルですが、難しいです。実際に試してみてください。