扫地机器人(简单路径规划)
文章目錄
- 簡介
- 掃地機器人整體框架
- 傳感器
- 路徑規劃
- 主要發展方向
- 這里提供畢業設計論文的下載鏈接
簡介
本科的畢業設計,完成了基本功能,內部代碼寫的比較不認直視,畢業沒多久重裝了下系統代碼也就沒有保存這里提供一下思路以及論文
掃地機器人整體框架
1.設計一個小車,用51/32單片機為核心,控制電機。
單片機就不多少了,基礎的串口通信,中斷之類的一定要熟悉,封裝成send recv函數來發收數據,如果用51的話基本就只能做到隨機選擇方向清掃,
2. wifi模塊esp8266配置并且調試好。
esp8266 模塊的使用也比較簡單如果買的版本比較老,需要升級固件,然后利用串口調試工具簡單調試一下,最后串口信息要用單片機發送。
3. 手機用socket套接字與esp8266通信,又經過串口返回單片機,控制端發送命令到掃地機器人,如果沒有app的開發經驗可以去搜索一些手機的調試工具,利用單方面的發送字符串達成控制目的。
能用手機控制掃地機器人到處跑的話基本上框架就已經搭建的阿差不多了。
傳感器
這里用了超聲波傳感器來測路障,我搭載了4個超聲波傳感器用于前后左右4個位置障礙的檢測,其實用紅外傳感器夜視也可以的,作為學生黨一般也就是用這兩個傳感器了。
路徑規劃
這里有兩種思路
1.構建內部地圖(不推薦)
思路的話是創建一個矩陣,每個元素對應設置到生活中的10cm左右,掃地機器人每收到一次前進命令前進一個矩陣元素的距離。
第一次需要對室內地圖進行創建,之后只需要規劃好路徑按路徑行進,遇到與地圖不一樣的障礙進行修改。
創建地圖的思路,二維數組中用不同的數值代表邊界,未探索,已探索。當檢測到邊界鏈接成一條線則說明對邊界探索完畢,只需要對內部未探索區域進行清掃即可。 如果檢測到邊界有空說明檢測到了室內臥室中開著的門需要將邊界補充完整。
我是按照這種思路做的有很多細節需要注意,因為很多方面做得不夠好最終跑出來的結果就是一個奇奇怪怪的圈。
要注意以下幾點
精度沒辦法保證,每次行進想要保證到一模一樣誤差很小,
掃地機器人清掃位置的確立,掃地機器人出發的時候要定位到自己再房間的位置,確定之后才能根據地圖進行路徑選擇。
還需要一個陀螺儀去判別方向。
解決以上問題基本就能夠在四四方方的模擬路徑中進行簡單清掃了。
而當地圖建立好之后只需要根據地圖確定方位定向清掃。
2.探測邊緣法
這種方法比較推薦,不同與上面方法的是,不需要去建立地圖,隨機選擇方向,但是要對選擇的方向,行進的長度,進行記錄,最后模擬出一個大題輪廓,可以理解為是很多個隨機方向的直線重疊成一個簡單的室內信息,通過對信息的處理達到遍歷的目的
主要發展方向
其實對家用掃地機器人路徑規劃并不是十分重要的,因為隨機選擇方向遍歷能夠滿足很多應用場景,只需要保證能從大廳跑到臥室即可,而家用掃地機器人主要的發展方向可以向智能化轉變,在掃地的同事能夠進行對話交流才是王道。另外遠距離通過視頻傳輸的半自動掃地機器也是非常好的發展方向,加入有一天坐在電腦旁邊就能控制一個中型清掃裝置在城市內部進行清掃是非常方便的改變。
這里提供畢業設計論文的下載鏈接
鏈接:https://pan.baidu.com/s/1UkgD9X43_8bd8hccQp3Y8A
提取碼:cgl3
總結
以上是生活随笔為你收集整理的扫地机器人(简单路径规划)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 部署MNA高可用
- 下一篇: android gravity 属性解析