文章:DLL: 直接 LIDAR ローカリゼーション。航空ロボットのための地図ベースの位置特定アプローチ
コード: https://github.com/robotics-upo/dll
GitHub - robotics-upo/dll: DLL: ダイレクト Lidar ローカリゼーション
DLLをダウンロードしてインストールします
GitHub Web サイトでダウンロードし、ファイルを手動で解凍して ros ワークスペースにコピーするか、git を使用して ros ワークスペース ディレクトリに直接ダウンロードします。インストール プロセスについては、readme を参照してください。
## コンパイル
このソース コードを catkin ワークスペースの src フォルダーにダウンロードします:
```
$ cd catkin_ws/src
$ git clone https://github.com/robotics-upo/dll
```
プロジェクトをコンパイルします:
```
$ cd catkin_ws$ catkin_make
$ ソース devel/setup.bash
``
具体地,
まずファイルをダウンロードして、
cd catkin_ws/src
git clone https://github.com/robotics-upo/dll
次に、ワークスペースフォルダー catkin_ws 内で
catkin_make
source devel/setup.bash
v1.1 ではコンパイルエラーが発生したため、v1.0 バージョンを手動でダウンロードしました。
データセットを実行する
例として catec1.launch ファイルを実行します。
バッグファイルをダウンロード
ウェブサイト上で
必要なバッグ ファイルcatec1.bagをダウンロードします。
.launchファイルを変更する
vim または gedit を使用して catec1.launch を開いて変更します。
# バッグ ファイル
<node name="bag_player" type="play" pkg="rosbag" args="catec1.bag -s 0 -r 1.0 -- Clock " />
.bag in は実際の絶対パスです。
.launch ファイルを実行します
roslaunch dll catec1.launch
実際に実行してみると、最初は.launchファイルを実行しましたが、.gridファイルが見つからない場合はその場で計算しました。しかし、計算後の応答がないため、プログラムを閉じて .launch ファイルを再度実行すると、通常の位置決め効果が表示されます。
効果
トピックノードグラフ
見る
誤差計算
真の値はbagファイル内にあり、実際の実行結果ソースプログラムはエクスポートされていないため、当面は誤差を計算できません。
発生した問題
グリッド マップは計算負荷が高い
プログラムの初回実行時にグリッド マップ ファイルが検索され、見つからない場合は bt マップに基づいて計算されます。
たとえば、airsim1.launch を実行すると、ターミナルに次のように表示されます。
コンピューティング 3D 占有グリッドを読み取るためにファイル /root/catkin_ws/src/dll-1.0/maps/airsim.grid を開いているときにエラーが発生しました
。これには時間がかかります...
[ INFO] [1701532139.043183956, 1614448804.536408717]: 進捗状況: 0.000000 % [
INFO] [1701532139.540530941, 1614448805.040892427]: 進捗状況: 0.02 4994%
.grid が見つからないため、計算する必要があり、時間がかかります。
実際にはとても時間がかかります。
計算後、1.1MB の catec.bt は 232.8MB の catec.grid と計算されます。10.0MB airsim.bt の計算にはさらに時間がかかることが考えられます。
誤差計算
デモプログラムの真の値はバッグファイルにあり、実際の実行結果ソースプログラムはエクスポートされません. 誤差の計算は非常に困難です. これら 2 つの値を手動で取得してから、エラー解析ツールを使用する必要があります計算すること。