DINOv2 を使って、ROS2 SLAM(自己位置推定)に役立てる。
前回、フィジカルAi で ROS2 自立走行ロボットを動かす。#2
で、Diffusion policy の input に、DINOv2 を使った model を試したが、
"DINOv2 の input 画像に何か入れると、特徴量を返してくる" 特性を活かすと、
一度通った場所のランドマークを記憶させられる様じゃ。
これを使えば、SLAM(自己位置推定)が、行える。もう、Static Map を予め作る必要がない。
Google Ai に色々訪ねていたら、教えてくれた。
なんとも便利な Model を、Meta(旧 Facebook)が作ってくれたもんじゃ!!
1. 概略は、
1.1 SLAM データ作成。
1) 屋外で、ロボットの走行コース上で、10[M] ごとに、RGB Camera の画像と、その時の、gnss-rtk から求めた、緯度、経度と、ロボットの向きのデータを集めて回る。
この時、no を順に割り当てて行く。
2) 上記データの画像をDINOv2 の feed させて、その特徴データを、Faiss( ベクトルデータが扱える DB) に、順に登録する。
以上で、 今回の、SLAM コース情報の出来上がり。
1.2 ROS2 diff car ロボットでの利用。
3) ROS2 diff car ロボットで、RGB カメラの画像を、DINOv2 の feedさせて、
出てきた特徴量で、Faiss の検索をかける。
特徴量が見つかると、Faiss は、登録時の no を返してくるので、
先に集めた、data の no と一致する、緯度、経度から、今の 位置を得る。
しかし、gnss-rtk があれば、必要が無いが!!
gnss-rtk が使えない、室内だと使えるかも。
検証コードは、python pytorch で、簡単に書ける。
Googl Ai に聞けば、コードを教えてくれる。
このページの 1.概略 の部分を Google Ai に聞けば教えてくれる。
コード自体は、簡単だから、試してみては?
ただし、Inference 時のハードのリソースが、結構要求される。
ROS2 実機 Diff Drive Car で実装、テストするには、ここが難問か!!
以前、SLAM でランドマークを使う方法を模索していたが、
ROS2 自作 Turtlebot3 による 草刈りロボット開発。#15 Robot Localization
これが、上記の、回答になりそう。
DINOv2 を使って、ROS2 SLAM(自己位置推定)に役立てる。
おんちゃん (2026年7月 1日 17:19)
カテゴリ:
検索
このブログ記事について
このページは、おんちゃんが2026年7月 1日 17:19に書いたブログ記事です。
ひとつ前のブログ記事は「フィジカルAi で ROS2 自立走行ロボットを動かす。#2」です。
カテゴリ
- AI (7)
- CentOS7.x (5)
- ChatGPT (1)
- Orange PI 5 (5)
- ROS2 (28)
- T100TA (2)
- Ubuntu Mate 20.04 (1)
- Windows (11)
- armbian (4)
- おんちゃんの雑談 (21)
- アフェリエイトで儲けるぞ。 (1)
- セキュリティー (5)
- プログラム開発 (139)
- Android Studio 2.1 (1)
- Android Studio Flamingo (3)
- C++ CGI (4)
- CNTK 2.4 (8)
- CUDA Programming (1)
- Coral EdgeTPU (9)
- ESP32 esp-idf (23)
- GPS (10)
- IMU (7)
- Java (9)
- Jetson Nano (17)
- Keras (12)
- OpenCV2 (1)
- OpenCV3.3.x (3)
- OpenCV3.4.2 (1)
- OpenCV4.1.1 (1)
- PIC (4)
- Perl CGI (2)
- Platformio IDE (7)
- Pytorch (13)
- ROS (43)
- Raspberry Pi (5)
- Sipeed MAix (10)
- Stereo Camera (3)
- TensorFlow (14)
- TensorFlow 2 (9)
- TensorRT 5.1 (2)
- Visual Studio Code (1)
- esp32 arduino (8)
- esp8266 arduino ide (5)
- node.js (5)
月別 アーカイブ
- 2026年7月 (1)
- 2026年6月 (1)
- 2026年5月 (5)
- 2026年4月 (3)
- 2026年3月 (3)
- 2026年2月 (2)
- 2026年1月 (7)
- 2025年12月 (2)
- 2025年11月 (5)
- 2025年10月 (6)
- 2025年9月 (1)
- 2025年8月 (5)
- 2025年7月 (10)
- 2025年6月 (2)
- 2025年5月 (2)
- 2025年4月 (1)
- 2025年3月 (1)
- 2025年2月 (1)
- 2025年1月 (1)
- 2024年12月 (2)
- 2024年11月 (3)
- 2024年9月 (4)
- 2024年8月 (4)
- 2024年7月 (3)
- 2024年6月 (6)
- 2024年5月 (2)
- 2024年4月 (3)
- 2024年3月 (1)
- 2024年2月 (2)
- 2024年1月 (3)
- 2023年12月 (1)
- 2023年11月 (2)
- 2023年10月 (1)
- 2023年8月 (2)
- 2023年7月 (2)
- 2023年6月 (5)
- 2023年5月 (1)
- 2023年4月 (3)
- 2023年3月 (4)
- 2023年2月 (2)
- 2023年1月 (2)
- 2022年12月 (3)
- 2022年11月 (3)
- 2022年10月 (1)
- 2022年9月 (2)
- 2022年8月 (2)
- 2022年7月 (3)
- 2022年5月 (3)
- 2022年4月 (1)
- 2022年2月 (3)
- 2022年1月 (1)
- 2021年12月 (3)
- 2021年10月 (4)
- 2021年9月 (8)
- 2021年7月 (3)
- 2021年5月 (2)
- 2021年4月 (3)
- 2021年3月 (9)
- 2021年1月 (9)
- 2020年12月 (2)
- 2020年11月 (7)
- 2020年10月 (3)
- 2020年9月 (3)
- 2020年8月 (2)
- 2020年7月 (4)
- 2020年6月 (1)
- 2020年5月 (2)
- 2020年3月 (7)
- 2020年1月 (3)
- 2019年11月 (5)
- 2019年10月 (1)
- 2019年9月 (1)
- 2019年8月 (1)
- 2019年7月 (4)
- 2019年6月 (1)
- 2019年5月 (3)
- 2019年3月 (1)
- 2019年2月 (2)
- 2019年1月 (3)
- 2018年12月 (9)
- 2018年10月 (3)
- 2018年9月 (2)
- 2018年6月 (5)
- 2018年4月 (2)
- 2018年3月 (1)
- 2018年2月 (1)
- 2018年1月 (1)
- 2017年12月 (2)
- 2017年10月 (5)
- 2017年9月 (1)
- 2017年8月 (1)
- 2017年4月 (1)
- 2017年1月 (1)
- 2016年8月 (1)
- 2015年11月 (1)
- 2015年10月 (1)
- 2015年9月 (1)
- 2015年4月 (1)
- 2015年2月 (2)
- 2015年1月 (1)
- 2014年8月 (1)
- 2014年7月 (1)
- 2014年1月 (1)
- 2013年7月 (1)
- 2013年4月 (1)
- 2012年11月 (1)
ウェブページ
- ウエブページの練習です。
- images