週末の学習まとめ (LIO キャリブレーション + kitti データセットの使用 + evo ツールの使用 + オープンソース データセット + ssh の使用)

LIO校正

インターネット上で最も一般的に使用されているオープンソース キャリブレーション パッケージは、浙江大学のオープンソースである lidar_IMU_calib と、スイス連邦工科大学チューリッヒ校の自動運転研究所のオープンソースである lidar-align です。後者の方法は純粋な IMU ポイントであるため取得できません。正確な Odom データであるため、純粋な IMU および LIDAR キャリブレーションを実行できません。まだコードを詳しく見ていないので、後で読んでから変更します。

lidar_IMU_calib

github コード
ペーパー

インストールプロセスはここにあります

まず理解する必要があるのは、キャリブレーションとは何なのかということです。答えはこちらを
参照してください

1.LiDARの外部パラメータ

通常、メーカーが校正を行っているため、当面は放っておいても問題ありません。

2.IMU内部パラメータ

IMU 測定モデルによると、次のようになります。

am = RGI ( a − g ) + ba ( t ) + na \mathrm{a}_{\mathrm{m}}=\mathrm{R}_{\mathrm{G}}^{\mathrm{I}} (\mathrm{a}-\mathrm{g})+\mathrm{b}_{\mathrm{a}}(\mathrm{t})+\mathrm{n}_{\mathrm{a}}あるメートル=RG( _g )+b( t )+n

wm = w + bg ( t ) + ng \mathrm{w}_{\mathrm{m}}=\mathrm{w}+\mathrm{b}_{\mathrm{g}}(\mathrm{t}) +\mathrm{n}_{\mathrm{g}}wメートル=w+bg( t )+ng

等号の左側は測定値、a、w は実際の真の値、g は重力加速度です (z 軸が正方形の場合、IMU は +g 出力を持つことがわかります。そしてそれは正規化され、「数 g」を示します、ba b_abbg b_gbg時間とともに変化するランダム ウォーク ノイズ、およびng 、na n_g、n_angnガウス ホワイト ノイズの測定値です。IMU の開始後、世界系/地球系/地球系に対する回転行列 Rを決定する必要があり、2 つのバイアスをリアルタイムで推定する必要があります。

3. LidarとIMU間の変換

Lidar と IMU の間の変換には、6DoF 剛体変換センサー遅延間の時間差の2 つの部分が含まれます。まず時間差についてですが、センサーは測定(サンプリング)時に同期しておらず、センサーからシステムまでの遅延があるため、2つの信号間に時間差が生じ、精度に影響します。測定値の補間を行います。図に示すように、ta、tb t_a、t_bttbそれぞれIMUとカメラの遅延です遅延後の差はtd t_dですtdしたがって、このtd t_d をサンプリングされたカメラに追加する必要がありますtdIMU 時間システムでサンプリングされた瞬間を取得します (一般に、論文ではシステム基準時間として IMU 時間が使用されます)。

代替
剛体変換、つまり、Lidar から IMU への剛体変換を計算します。一般論文では、便宜上、IMU システムがロボット システムとして使用されることが多く、Lidar 点群データは IMU システムに変換されます。 Lidar から IMU への剛体変換を取得する必要があります。つまり、パラメータR, t R,tR t

私は RS-16 レーダーを使用しており、このコードは VLP-16 レーダーのみをサポートしているため、自分でいくつかの調整を行う必要があります。
RS-32に改造されたものがオンラインにあります。ここを参照してください。

コンパイルプロセスとコードの理解については、ここをご覧ください。

lidar_IMU_calib データセット

キャリブレーションによって取得されたデータは、lego-loam などの一部の LIO を実行するために使用できます。IMU データを追加するためのプログラムは、ここにあります。lego- loam の実行中に発生した問題については、ここを
参照してください。注: rosbag play -- Clock *。バッグ

lidar_align

githubコード接続

lidar_align は純粋な IMU や Lidar のキャリブレーションには適さないと言われています。正確な Odom データは、純粋な IMU 統合では取得できません。Lidar_align のコンパイルと発生したいくつかのエラーについては、ここで
確認できます。また、Lidar と Odom の外部パラメーターの調整については、lidar_align コード学習を参照してください。

Ubuntu16.04 lio_sam アルゴリズムは独自のデータセットを記録してマップを構築します

コードの説明はここにあります

kitti データセットの使用

bin ファイルを rosbag に変換する方法については、対応するコードがありますので、こちらを参照してください対応する README に詳細な手順が記載されています。

bin ファイルを介してプログラムを通じてポイントクラウドの形式でトピックを直接公開する方法もあるため、スペースを占有する特別な rosbag パッケージを生成する必要はありません。この作者は上記のプログラムをベースに修正しました。詳細については、こちらを参照してください

kitti データセットの紹介と説明はここここここ にありますが、あまり役に立たないと思います。公式 Web サイトを確認することもできます。公式Web サイトの方がわかりやすく、いくつかのツールが提供されていると思います。データセットを知っていれば十分です。ここでは具体的な使用例を示します。

オープンソース データセット

1. kitti データセット(RGB+Lidar+GPS+IMU) (シーン:都市部、農村部、高速道路)
2.ASL EuRoC データセット(双眼 RGB+IMU) (シーン:2 つの異なる部屋にある超小型航空機、大規模産業環境) )
3. TUM VI バンクマーク(fisheye(魚眼)+imu) (屋内である必要があります)

参考: SLAM データセット
SLAM 関連データセット調査
SLAM 学習 – オープンソース テスト データ収集

evoツールの使い方

evo は、タイムスタンプに基づいて軌道を整列させ、指定した標準軌道に従ってさまざまなスケールの軌道を引き延ばして整列させ、平均二乗誤差などの評価パラメータを計算してスラム アルゴリズムのパフォーマンスを評価できる評価ツールです。

evo のインストールにはクイック インストールを使用することをお勧めします。

pip install evo --upgrade --no-binary evo

ソース コードを使用してインストールしようとしましたが、やめるように説得されました。私が上手すぎたのかもしれません。Python バージョンが不十分だったか、ライブラリの rosbags バージョンが不十分だったかのどちらかです。ほぼ 1 日悩んだ後、私はそれでも取得できませんでした。時間の問題を考慮してクイックインストールを選択しました。インストール方法については、評価ツール evo のインストールと使い方、発生した問題とその解決策と evo の使い方、およびevo のインストールと使い方を参照してください。

クイックインストールでもライブラリがインストールされていないような問題が発生しましたが、Baiduを使用して解決しました。ModuleNotFoundError: '_tkinter' ソリューションという名前のモジュールがありません

これらは主に Lego-LOAM を学習するときに使用されます。evo の使用については、KITTI データ セットで LeGO-LOAM を実行した結果を評価するための evo ツールの使用方法や、 PCL ガジェット 2 も参照できます。使用可能: kitti の GT (グラウンド トゥルース) を使用してレーザー点群マップを作成する

SSHの使用

VSCode で SSH を使用するためのルーチンをインターネットでたくさん検索しましたが、どれも成功しませんでした。このルーチンを見つけるまで、いつも接続できませんでした。SSH 経由で Ubuntu に接続する VSCode の環境設定プロセスは、次の問題を解決できます。 Ubuntu 上の vscode を Raspberry Pi に接続する Ubuntu ですが、Windows 上の vscode を Raspberry Pi 上の Ubuntu に接続する問題はまだ解決できません。同時に、ubuntu に接続するときに発生した問題は、Raspberry Pi のパスワードを 3 回入力しましたが、毎回パスワードを入力した後に表示されるメッセージは「許可が拒否されました。3 回入力した後、接続できませんでした」です。 VSCode ssh-remote プラグインを参照するまでは、間違ったパスワードを使用して解決しました。解決できない場合は、vscode ssh 経由でリモートからパスワードを入力しても応答がなく、パスワードの入力を求められ続ける場合は解決するはずです。

2022/9/25更新

最近、ssh を制御する xshell ソフトウェアを追加インストールするのが良いと考えています。具体的な方法は次のとおりです: Xshell が ssh 経由でホストに接続する

更新日: 2023/7/11
Raspberry Pi を自分で使用する場合は、まず Windows の C ドライブにある id_rsa.pub を Raspberry Pi の .ssh フォルダーにコピーする必要があります。

初回接続時に XHR エラーが発生する場合は、vscode がインターネットに接続されている必要があるため、Raspberry Pi に自動的に何かをダウンロードして接続できるようになります。インターネットに接続されていない場合は、接続できません。ダウンロードされるため、このエラーが報告されます。

おすすめ

転載: blog.csdn.net/weixin_41756645/article/details/126673894