91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用Bittle和Raspberry Pi 4的ROS SLAM

使用Bittle和Raspberry Pi 4的ROS SLAM

2023-06-14 | zip | 0.00 MB | 次下載 | 免費

資料介紹

描述

本文的主題將是 SLAM 和 ROS 映射。我們將使用來自 Petoi 的敏捷四足機器人 Bittle,它在上個月完成了他們的 Kickstarter 活動并取得了巨大成功。

pYYBAGNYhLyAWog7AAjlBN685A0783.jpg
Bittle 和他的哥哥 Nybble
?

首先讓我們從一些理論開始。

2022 年 4 月 4 日更新。我盡我所能定期更新我的文章,并根據(jù)您在 YouTube/Hackster 評論部分的反饋。如果您想表達對這些努力的支持和贊賞,請考慮給我買杯咖啡(或披薩):)。

什么是SLAM?

SLAM 代表 Simultaneous Localization and Mapping - 它是一組算法,允許計算機創(chuàng)建 2D 或 3D 空間地圖并確定其在其中的位置。雖然 SLAM 本身并不是導(dǎo)航,但擁有地圖并知道您在地圖上的位置是從 A 點導(dǎo)航到 B 點的先決條件。

我們可以使用各種傳感器來接收有關(guān)可用于映射的環(huán)境的數(shù)據(jù)

  • 激光掃描儀(一維和二維(掃描)激光測距儀)
  • 相機(單目、立體和 RGB-D)
  • 聲納傳感器
  • 觸覺傳感器
  • 其他

在實踐中很多時候使用傳感器的組合,然后應(yīng)用融合算法,例如擴展卡爾曼濾波器,以獲得精確的信息。

poYBAGNYhL-ANmydAADNNGJkXOo415.jpg
如果您想了解更多信息,請訪問 https://www.kalmanfilter.net。是的,它甚至還有一個網(wǎng)站。
?

如果我們回到基礎(chǔ),對于大多數(shù)應(yīng)用程序,您將處理基于 LIDAR 的 SLAM 或視覺 SLAM。基于激光雷達的 SLAM 相對容易設(shè)置并且非常精確——Waymo 在其自動駕駛汽車上使用激光雷達是有原因的。

pYYBAGNYhMGANMxuAAEqA0WB4-0437.png
你剛才說“激光雷達好”嗎?
?

但當(dāng)然,特斯拉沒有這樣做是有原因的——激光雷達體積龐大、價格昂貴,而且它們的旋轉(zhuǎn)部件需要在較長時間內(nèi)運行時進行維護。對于視覺 SLAM,RGB-D 傳感器方法也可以非常強大,而簡單的立體或單目系統(tǒng)可能很難設(shè)置。以下是描述中的更多鏈接,以詳細(xì)了解 SLAM!

什么是同時定位和映射?

LSD-slam 和 ORB-slam2,基于文獻的解釋

RPLIDAR 和 ROS 編程 - 構(gòu)建機器人的最佳方式

在本文中,我們將嘗試稱為 ORB-SLAM2 的單目視覺 SLAM 算法和基于激光雷達的 Hector SLAM。

使用 ORB-SLAM2 的視覺 SLAM

對于 ORB-SLAM2,我們將使用普通的廉價網(wǎng)絡(luò)攝像頭——需要對其進行校準(zhǔn)以確定每個攝像頭型號所獨有的內(nèi)在參數(shù)。我建議使用內(nèi)置的 ROS 相機校準(zhǔn)工具進行校準(zhǔn)。要安裝這些(您可以安裝在您的 Ubuntu PC 上):

sudo apt-get install ros-melodic-camera-calibration

打印校準(zhǔn)棋盤,從這里下載。

以毫米為單位測量正方形的邊。然后輸入以下命令開始校準(zhǔn):

roslaunch usb_cam usb_cam.launch
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.108 image:=/camera/image_raw camera:=/camera

更改 square 參數(shù)以匹配校準(zhǔn)板上的正方形大小。

poYBAGNYhMSAD00kAAClXhUU_2Q804.png
?

為了獲得良好的校準(zhǔn),您需要在相機框架中移動棋盤格,以便:

  • 相機視野左、右、上、下的棋盤
  • X 條 - 視野中的左/右
  • Y 條 - 視野中的頂部/底部
  • 尺寸欄 - 朝向/遠(yuǎn)離和傾斜相機
  • 相機左側(cè)、右側(cè)、頂部和底部的棋盤 X 欄 - 左側(cè)/右側(cè)在視野中 Y 欄 - 頂部/底部在視野中尺寸欄 - 朝向/遠(yuǎn)離和傾斜相機
  • 棋盤格填滿整個視野
  • 棋盤向左、右、上和下傾斜(傾斜)

在每一步,保持棋盤靜止,直到圖像在校準(zhǔn)窗口中突出顯示。

當(dāng)應(yīng)用程序收集到足夠的數(shù)據(jù)時,您將能夠按下校準(zhǔn)按鈕。校準(zhǔn)過程可能需要幾分鐘,所以請耐心等待。成功的校準(zhǔn)將導(dǎo)致現(xiàn)實世界中的直邊在校正后的圖像中顯得筆直。校準(zhǔn)失敗通常會導(dǎo)致空白或無法識別的圖像,或不保留直邊的圖像。

之后你需要借助這個包將相機參數(shù)轉(zhuǎn)換成.yaml格式,重命名為head_camera.yaml,放到.ros/camera_info/文件夾下。

有一個將 ORB-SLAM2 集成到 ROS 的包,它還發(fā)布了 2D 占用圖。安裝過程比較復(fù)雜,我推薦使用 Ubuntu 18.04 的樹莓派鏡像作為起點,避免編譯很多(很多很多很多)額外的包。

安裝 ROS 桌面和必要的依賴項

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
sudo apt install ros-melodic-desktop
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source  ~/.bashrc
sudo apt-get install ros-melodic-pcl-ros ros-melodic-image-geometry ros-melodic-octomap-ros ros-melodic-usb-cam

創(chuàng)建 catkin 工作區(qū),安裝catkin構(gòu)建工具并將 ORB_SLAM2_ROS 存儲庫和 Bittle 驅(qū)動存儲庫克隆到 catkin_ws/src 文件夾

mkdir -p catkin_ws/src && cd catkin_ws/src
git clone https://github.com/rayvburn/ORB-SLAM2_ROS
git clone https://github.com/AIWintermuteAI/bittle_ROS
cd bittle_ROS && git checkout slam

下載詞匯文件并將其放在ORB_SLAM2/orb_slam2_lib/Vocabulary文件夾中

wget https://github.com/raulmur/ORB_SLAM2/raw/master/Vocabulary/ORBvoc.txt.tar.gz

然后從 catkin 工作區(qū)文件夾中,執(zhí)行

cd src/ORB-SLAM2_ROS/ORB_SLAM2
sudo chmod +x build*
./build_catkin.sh
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source  ~/.bashrc

如果編譯過程凍結(jié),請嘗試將交換大小增加到 2 Gb

sudo swapoff -a
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
grep SwapTotal /proc/meminfo

以后如果不需要,可以刪除交換文件。成功安裝后,運行一個示例以確保它按預(yù)期工作:

roslaunch orb_slam2_ros raspicam_mono.launch

需要一個額外的步驟,因為您很可能在無頭模式下運行 Raspberry Pi(或其他 SBC),沒有屏幕或鍵盤 - 無論是那個還是您的機器人都非常笨重。因此,我們需要配置 ROS 以在多臺機器上工作 - 請查看我之前在 BITtle 系列中的文章,其中詳細(xì)描述了此過程。

由于 Bittle 驅(qū)動程序是用 Python 3 編寫的,而 ROS 默認(rèn)仍使用 Python 2.7,因此我們需要為 Python 3 安裝 rospkg 以使它們一起運行。

pip3 install rospkg

一旦你有了 ORB-SLAM2 和Bittle(或你的機器人基地)的軟件包,你就可以運行網(wǎng)絡(luò)攝像頭驅(qū)動程序了

roslaunch bittle_driver bittle_vslam_robot.launch

它將啟動整個系統(tǒng)——機器人驅(qū)動程序、網(wǎng)絡(luò)攝像頭節(jié)點和 ORB-SLAM2。ORB-SLAM2 需要足夠的環(huán)境信息來初始化,因此您可以手動移動機器人以避免平移或方向的大變化。ORB-SLAM2 初始化后將開始發(fā)布八圖。您可以使用控制來移動您的機器人。

pYYBAGNYhMaAQ3ZYAAIpdiHW9dM868.png
路徑(綠色)很亂,但總體正確,另一方面,占用地圖完全關(guān)閉
?

不幸的是,我發(fā)現(xiàn)由于 Bittle 上的相機在轉(zhuǎn)動過程中移動得太快,它往往會丟失關(guān)鍵點,需要返回到之前的位置。

可以在這里進行一些改進以使其更穩(wěn)定

  • 使用立體相機
  • 使用 ORB-SLAM3 可以集成 IMU 數(shù)據(jù)以實現(xiàn)更精確的定位

基于激光雷達的 SLAM 與 Hector SLAM

如果 Visual SLAM 對我們的機器人不起作用,那么安裝 LIDAR 并嘗試一種基于激光掃描儀的算法怎么樣?這里的好消息是,對于 LIDAR,我們不需要那么快的處理速度,因此即使是較舊的 Raspberry Pi 3 也可以。壞消息是,即使是小型激光雷達也很大,我可以使用的 RPLIDAR A1M8 重 190 克,當(dāng)安裝在這個有腿機器人的頂部時,它會嚴(yán)重干擾其重心并影響行走步態(tài)。

pYYBAGNYhM2ATD4qABALPcWL8_w630.jpg
我什至很驚訝它甚至可以處理這個 - 無論是在所需的電流和扭矩方面
?

在腹部下方增加了一些額外的重量以平衡事物之后,它可以爬行和行走,盡管我仍然試圖小心并避免突然停止。

Hector SLAM的軟件安裝在 Ubuntu 18.04 上輕而易舉。如果您還沒有安裝 ROS Desktop,請使用以下命令進行安裝(與上面關(guān)于 Visual SLAM 的第一部分相同):

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
sudo apt install ros-melodic-desktop
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source  ~/.bashrc
sudo apt-get install ros-melodic-hector-slam

創(chuàng)建 catkin 工作區(qū),安裝catkin構(gòu)建工具并將 RPLIDAR 存儲庫和 Bittle 驅(qū)動程序存儲庫克隆到 catkin_ws/src 文件夾

mkdir -p catkin_ws/src && cd catkin_ws/src
git clone https://github.com/Slamtec/rplidar_ros.git
git clone https://github.com/AIWintermuteAI/bittle_ROS
cd bittle_ROS && git checkout slam

構(gòu)建 Bittle 驅(qū)動程序包并獲取你的 catkin 工作空間

catkin build
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source  ~/.bashrc

由于 Bittle 驅(qū)動程序是用 Python 3 編寫的,而 ROS 默認(rèn)仍使用 Python 2.7,因此我們需要為 Python 3 安裝 rospkg 以使它們一起運行。

pip3 install rospkg

安裝完所有這些后,將 ROS 配置為在多臺機器上工作。然后運行

roslaunch bittle_driver bittle_lslam_robot.launch

啟動 LIDAR、機器人控制和 hector SLAM 節(jié)點。總體映射結(jié)果看起來比 ORB-SLAM2 好得多,Hector SLAM 甚至可以發(fā)布里程計和路徑消息,這為使用 ROS 導(dǎo)航堆棧運行自主導(dǎo)航開辟了道路。

poYBAGNYhNCAbpgjAAK3peGdWNM919.png
路徑看起來更精確,我可以看到我們辦公室中心的粗略計劃
?

對于在 Bittle 上使用 LIDAR 時的改進,

  • IMU數(shù)據(jù)也可以集成
  • 步態(tài)和平衡算法可以調(diào)整以適應(yīng)機器人頂部的額外重量
  • 可以使用更緊湊的激光雷達

這是關(guān)于來自 Petoi 的機器狗 Bittle 的系列文章的最后一篇。Kickstarter 活動已經(jīng)結(jié)束,因此,如果您想購買 Bittle,請繼續(xù)關(guān)注 Seeed 工作室子公司 TinkerGen 的預(yù)購公告,該公司將在其在線商店和亞馬遜上銷售 Bittle。

玩得開心建造機器人!


機器人 SLAM Raspberry Pi
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1耗盡型MOS FET產(chǎn)品目錄選型表
  2. 0.14 MB   |  2次下載  |  免費
  3. 2TI系列-米爾TI AM62L核心板開發(fā)板-高能效低功耗嵌入式平臺
  4. 1.51 MB  |  次下載  |  免費
  5. 3WILLSEMI韋爾20年半年度報告由代理分銷經(jīng)銷一級代理分銷經(jīng)銷
  6. 3.30 MB  |  次下載  |  免費
  7. 4LRC 樂山無線電InTWSApplications家電由原廠代理分銷經(jīng)銷一級代理分銷經(jīng)銷供應(yīng)
  8. 85.84 KB  |  次下載  |  免費
  9. 5LAT1596 一文說明白 STM32G4 雙 Bank 啟動與升級
  10. 0.64 MB   |  次下載  |  5 積分
  11. 6LAT1594_基于事件喚醒低功耗之介紹
  12. 0.37 MB   |  次下載  |  5 積分
  13. 7PT8P2309 觸控 A/D 型 8-Bit MCU規(guī)格書
  14. 4.05 MB   |  次下載  |  免費
  15. 8PT8P2308 觸控 A/D 型 8-Bit MCU規(guī)格書
  16. 4.13 MB   |  次下載  |  免費

本月

  1. 1美的電磁爐電路原理圖資料
  2. 4.39 MB   |  19次下載  |  10 積分
  3. 2反激式開關(guān)電源設(shè)計解析
  4. 0.89 MB   |  11次下載  |  5 積分
  5. 3耗盡型MOS FET產(chǎn)品目錄選型表
  6. 0.14 MB   |  2次下載  |  免費
  7. 4簡易光伏控制器原理圖資料
  8. 0.07 MB   |  1次下載  |  5 積分
  9. 52EDL05x06xx系列 600V半橋門驅(qū)動器帶集成自舉二極管(BSD)手冊
  10. 0.69 MB   |  1次下載  |  免費
  11. 6國產(chǎn)千兆網(wǎng)口芯片PT153S中文資料
  12. 1.35 MB   |  次下載  |  免費
  13. 7斯丹電子 | 用于芯片測試系統(tǒng)的射頻干簧繼電器
  14. 5.11 MB  |  次下載  |  免費
  15. 8SFI立昌ESD/TVS管原廠代理分銷經(jīng)銷一級代理分銷經(jīng)銷
  16. 294.76 KB  |  次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233095次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191448次下載  |  10 積分
  9. 5十天學(xué)會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183360次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81605次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73829次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分