掃地機介紹
掃地機器人行業本質是技術驅動型行業,產品圍繞導航系統的升級成為行業發展的主旋律。按功能劃分,掃地機器人分為四大系統,即導航系統、清潔系統、續航系統及互動系統。從掃地機的發展歷史來看,新產品開發形成了以導航系統為主線,其它系統為支線的技術迭代趨勢。
基本上發展階段是從隨機式清掃階段-規劃式清掃階段,規劃階段又有,慣性導航技術階段,鐳射導航,視覺導航發展。此外還輔助AI的物體識別和場景識別。
這個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已內建里程計的累計誤差模擬,和雷達的誤差模擬)
-
支援規劃清掃、暫停、重定位繼續清掃。
-
支援地圖儲存(3張),選擇地圖進行二次清掃。
-
快速建圖(實驗階段)。
-
修復快速建圖Bug。
-
修復重定位失效Bug。
Demo方法(範例宿主機為Ubuntu22.04系統,理論上可相容其他Linux發行版):
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 字(可選)
roslaunch zima_ros gazebo_demo.launch
roslaunch zima_ros rviz.launch
建議模擬環境與Demo與Rviz從不同的終端視窗進入docker後啟動,因為Demo程式使用鍵盤標準輸入為測試命令輸入,用一個launch檔案一起啟動的話鍵盤輸入會失效。
鍵盤控制詳細請看Demo程式輸出提示,若提示紀錄檔已被刷走,可按esc鍵或任意非功能鍵來輸出提示。
結語
這就是我朋友在掃地機做的一些開源SDK專案的情況,喜歡的朋友可以分享點一波star。如果大家有更好的想法,也歡迎大家加我好友交流分享哈。
作者:良知猶存,白天努力工作,晚上原創公號號主。公眾號內容除了技術還有些人生感悟,一個認真輸出內容的職場老司機,也是一個技術之外豐富生活的人,攝影、音樂 and 籃球。關注我,與我一起同行。
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧
本公眾號全部原創乾貨已整理成一個目錄,回覆[ 資源 ]即可獲得。