1

私たちは最近、趣味のプロジェクトとして最初のプロトタイプ ロボット (UGV) を構築し、ROS Kinetic と OpenCV をいくつかの障害物の検出と回避タスクに使用しています。主な 3D 環境マッピング デバイスとして、ステレオ カメラを使用しており、点群データが高精度で地面を検出するのに十分であることを期待していました。ロボットは、高低差が 5 ~ 6cm 以上ない地面でのみ走行する必要があります。

残念ながら、ステレオ カメラ (Stereolabs の ZED cam) から生成された点群データは、おそらくこのユース ケースには十分な精度ではありません。したがって、2D LIDAR (RPLidar A2M8) を購入し、ロボットの「鼻」に配置しましたが、角度は 45° (地面に対して下向きに表示) でした。

私たちの計画は、LIDAR レーザースキャン データを使用して、地面が「非平面」になり始める場所を認識することです。ロボットの中心の下で検出された接地線を基準点/基準線として使用したかったのですが、そこから左右にあるすべての点または線は、5 ~ 6 cm を超える (おそらく 1 ~ 2 cm 以上) 高さの差があります。 「運転禁止/危険ゾーン」にいること。

質問は次のとおりです。

ハフ変換または同様の出力を持つアルゴリズムを使用して、ロボットの中心の下にある基準接地線 (おそらく幅 40 ~ 50cm) を描画することを考えました。バックアップ/運転改善戦略として、カメラ データも使用し、Canny Edge Filter + Hough Transform を適用して地面のエッジを検出したいと考えています。正確または十分に正確。また、おそらく、ステレオ カメラといくつかのアルゴリズムを使用して「一般的な地面」を検出し、LIDAR データを取得して地面からそのデータを「差し引き」、「安全な運転ゾーン」を見つけようとします。

これが私たちの特定の目標にとって正しいアプローチだと思いますか、それともあなたの意見でより良い結果につながる他の方向性を教えてもらえますか? おそらく、今後数日から数週間テストして、うまくいくかどうかを確認しますが、「間違った方向に運転する」ことで時間を無駄にしないように、より良いアプローチを知っている人がいれば、とてもうれしいです。 :-) よろしくお願いします!

4

0 に答える 0