快速實現一個自己的掃地機

2023-05-26 21:00:38

作者:良知猶存
轉載授權以及圍觀:歡迎關注微信公眾號:羽林君
或者新增作者個人微信:become_me

掃地機介紹

掃地機器人行業本質是技術驅動型行業,產品圍繞導航系統的升級成為行業發展的主旋律。按功能劃分,掃地機器人分為四大系統,即導航系統、清潔系統、續航系統及互動系統。從掃地機的發展歷史來看,新產品開發形成了以導航系統為主線,其它系統為支線的技術迭代趨勢。
基本上發展階段是從隨機式清掃階段-規劃式清掃階段,規劃階段又有,慣性導航技術階段,鐳射導航,視覺導航發展。此外還輔助AI的物體識別和場景識別。
​ 掃地機是如此發展的,裡面技術點業務場景也是很複雜的,今天分享一個好朋友寫的掃地機快速使用的SDK。他是掃地機行業工作好多年的老工程師了,把自己對於行業的一些理解以及經驗總結到這個SDK裡面。
 
 
 
 
這個Demo可以幫助一些想要體驗或者快速測試掃地機專案的朋友。

Zima SDK

Zima SDK是一個力求輕量模組化可移植的2D鐳射SLAM導航家用清潔機器人演演算法SDK。倉庫位置:https://gitee.com/zimatec/zima_ros_demo_readme
目前僅供學習交流,禁止商用。
SDK包含基礎資料格式、控制演演算法、規劃演演算法、SLAM演演算法,低依賴(目前只需glog/gflags/protobuf)。為便於偵錯,也加入了ros封裝和簡單gazebo模擬。
目前閉源Gazebo模擬Demo部署方式為docker。(Demo已內建里程計的累計誤差模擬,和雷達的誤差模擬)
更新紀錄檔:
v0.1.0
  1. 支援規劃清掃、暫停、重定位繼續清掃。
  2. 支援地圖儲存(3張),選擇地圖進行二次清掃。
  3. 快速建圖(實驗階段)。
v0.1.1
  1. 修復快速建圖Bug。
  2. 修復重定位失效Bug。
Demo方法(範例宿主機為Ubuntu22.04系統,理論上可相容其他Linux發行版):
宿主機需要先安裝Docker,並拉取映象:
docker pull zimatec/ros:zima-demo-v0.1.1
容器建立啟動方式:
if [ -e /dev/nvidia0 ]; then
  echo "Launch with nvidia support."
  docker run \
    -it \
    -u zima \
    --name="zima_demo" \
    --net=host \
    --privileged \
    -v /dev:/dev \
    -e DISPLAY=$DISPLAY \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    --runtime=nvidia \
    --device /dev/nvidia0 \
    --device /dev/nvidia-uvm \
    --device /dev/nvidia-uvm-tools \
    --device /dev/nvidiactl \
    --runtime=nvidia \
    --gpus all \
    zimatec/ros:zima-demo-v0.1.0
else
  echo "Launch without nvidia support."
  docker run \
    -it \
    -u zima \
    --name="zima_demo" \
    --net=host \
    --privileged \
    -v /dev:/dev \
    -e DISPLAY=$DISPLAY \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    zimatec/ros:zima-demo-v0.1.0
fi

  

 
容器中啟動模擬環境方法(在獨立終端中執行):
roslaunch zima_gazebo gazebo.launch
新增圖片註釋,不超過 140 字(可選)
容器中啟動Demo(在獨立終端中執行):
roslaunch zima_ros gazebo_demo.launch
容器中啟動Rviz(在獨立終端中執行):
roslaunch zima_ros rviz.launch
 
建議模擬環境與Demo與Rviz從不同的終端視窗進入docker後啟動,因為Demo程式使用鍵盤標準輸入為測試命令輸入,用一個launch檔案一起啟動的話鍵盤輸入會失效。
鍵盤控制詳細請看Demo程式輸出提示,若提示紀錄檔已被刷走,可按esc鍵或任意非功能鍵來輸出提示。
 
結語
這就是我朋友在掃地機做的一些開源SDK專案的情況,喜歡的朋友可以分享點一波star。如果大家有更好的想法,也歡迎大家加我好友交流分享哈。

作者:良知猶存,白天努力工作,晚上原創公號號主。公眾號內容除了技術還有些人生感悟,一個認真輸出內容的職場老司機,也是一個技術之外豐富生活的人,攝影、音樂 and 籃球。關注我,與我一起同行。
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧
 
推薦閱讀
本公眾號全部原創乾貨已整理成一個目錄,回覆[ 資源 ]即可獲得。