| 名称 | MIRS2605 企画・基本設計 |
|---|---|
| 番号 | MIRS2605-DSGN-0004 |
| 版数 | 最終更新日 | 作成 | 承認 | 改訂記事 |
|---|---|---|---|---|
| A01 | 2026.08.17 | 鈴木 大智 | 初版 |
多数の木が生えている不整地の公園内において、自律走行を実現すること。
まず、2D LiDARとエンコーダのみで走行することを考える。
| センサ | 製品名 | 取得情報 | 特徴・課題 |
|---|---|---|---|
| 2D LiDAR | RPLiDAR S1 | 2次元の全方位の距離、黒い物体では10m、白い物体では40mまで計測可能 | 高さ方向の情報がない |
| エンコーダ | AMT103-V | クローラの回転量、角度精度は±0.25°であり、現状4逓倍で計測を行っている。 | スリップによる誤差、クローラであるため旋回時の横滑りの情報がない |
木の生えた場所を自律走行するためには、2D LiDARとエンコーダから得る情報では不十分と考える。
現状、自律走行するための課題は2つに大別できる。
現状の構成に不足する情報と補完するセンサを調査した。
| 不足している情報 | 現状の課題 | 補完するセンサ |
|---|---|---|
| 高さ方向の周囲の情報 | 2D LiDARでは計測平面上でのみの計測 | 複数台の超音波センサ、3D LiDAR、ステレオカメラ |
| 車体の姿勢・運動 | 車体の傾き、回転を把握できない。 | IMU |
| 正確な位置情報 | LiDAR、オドメトリのみでは場所を取り違える可能性がある。 | GNSS、RTK-GNSS、PPP-RTK |
それぞれのセンサについて予算と規則の面から実現可能性を検討する。
上記からGNSSおよびRTK-GNSSを除外した。GNSSについては現状の芝刈りロボットの清掃範囲を考えたときの誤差が大きいため、RTK-GNSSについては補正情報を取得するための通信環境の構築・維持に費用がかかり、予算では困難であるためである。
よって正確な位置情報の割り出しには3D LiDARもしくはステレオカメラ、IMU、エンコーダによる統合を用いる。現状の構成より正確に割り出すことで達成することにする。
選択したセンサから評価指標を定めた。
開けた場所では木までの距離が10 m以上となる可能性がある。 自己位置推定には複数本の木を特徴として利用する必要があるため、 より広い範囲の木を計測できることを考慮し、20 m以上をKPIとして設定した。
まず、2DLiDARで学生玄関前の屋外で計測を行った。格子は1辺1mとなっている。木やコンクリートの構造物が見られる。離れた点ではおおよそ20m離れていることが読み取れる。
次に通常の2D LiDARを横向きに固定し、ステッピングモータで回転させながらスキャンした。
Arduino UNO R3がステッピングモータの角度を、LiDARが点群をpcに送信し、角度に合わせて変換を行った。
自作3D LiDAR
複数のレーザースキャンを統合して3D点群を生成した。室内で実施した結果、壁や家具などの形状を立体的な点群としてRViz上で確認できた。
実験室内の様子
廊下の様子
室内環境では回転2D LiDARによって3D点群を生成できることを確認した。
RealSense D435で屋内と屋外で点群を撮影した。
なお、画像で示すデータにフィルタはかけていない。
演習室での撮影(601,943点)
屋外での撮影(17,757点)
屋外での撮影はグラウンド中央からやや南東によった場所から撮影した。撮影時にカメラを移動させなかった。最大で59.88m程度の場所に点が見られた。
enable_infra1/2: true、enable_depth: false、enable_color: false)
depth_module.profile)depth_module.emitter_enabled: 0)Vis/FeatureType: 9、Vis/MaxFeatures: 300)Stereo/MinDisparity: 1 〜 Stereo/MaxDisparity: 160
ESP32でプログラムを作成し、microROSでPCと通信した。IMUが出力する各値をPCからみることができた。加速度についてはz軸が-9.8...となっており、地球の重力加速度と一致していることを確認した。
一方でIMU自身が姿勢についての情報を直接出力することはなかった。
屋外での測定から、20 m以上の距離を計測できる。ただし、現時点では「SLAMにおいて利用可能な品質で取得できる」とは判断できない。
高さ方向での障害物検知には、LiDARの首振りの時間が影響する。現状10秒で180度回転する。精度を高く計測するには首振りの範囲を狭くする必要がある。
サーボモータとの動機については現状LiDARとarduinoからのサーボの情報を来たものから紐づける方式になっている。時刻の同期の精度が高くない。
走行時に首振りの時間が長いと、3D LiDARが計測するような密度の高い点群を取ることが難しいと考えられる。
屋外での撮影には原点から約59.88m離れた座標の点が含まれていたが、 数十m先の木を撮影した結果からは木の形状や特徴を明確に確認することはできなかった。
59.88mはPLY座標の原点から最も離れた頂点までの距離であり、D435が正確に59.88m先を計測したことを保証するものではない。目視で構造物を判断できないため、ノイズの可能性が考えられる。
ステレオカメラについて特徴をまとめた。
姿勢制御アルゴリズムの搭載が行われていない。当初は、接続するだけで姿勢の情報が取得でき、高度なプログラムは不要であると考えていた。実際には、拡張カルマンフィルタかMadgiwckフィルタといったフィルタが必要になる。現在得られている情報から姿勢の情報を得られることは分かったが、mirsにおいてどのフィルタが妥当であるかの判断がついていない。