送餐机器人产品设计
一、 系統設計
關鍵部件:
2 關鍵技術選型
2.1 基于二維碼+輪子里程計的機器人定位方案
| 循線 | 根據電磁線行走存在路線固定的問題 |
| 純視覺 | 室內相似場景較多,存在重定位問題 |
| 純激光 | 成本高,存在漂移,環境中移動物體過多時容易出錯 |
| UWB | 定位誤差十幾厘米,信號容易遮擋 |
| 視覺二維碼 + 輪子里程計 |
對比后最優方案是 視覺二維碼+輪子里程計
基于二維碼+輪子里程計方法,主要的傳感器數據來源是機器人頂部的攝像頭采集到的二維碼圖像信息以及輪子里程計在一個時間片內的脈沖數。輪子里程計信息屬于高頻信息,圖像為低頻信息。
根基機器人運動學來將輪子信息計算得到機器人的速度和位置,從圖像信息中提取二維碼的ID與位置,同時結合之前的二維碼信息以及上一時刻的機器人位置來估計機器人坐標與新觀測到的二維碼坐標。
估計二維碼的坐標通常采集的兩幅圖像之間會有十幾幀輪子的信息,為降低計算量,我們可以采用滑動窗口的方法將采集的圖像與輪子里程計數據放入窗口內,假設一個窗口中總共有十幀有效圖像,將窗口中的機器人基于圖像推測的狀態和基于輪子信息推測的狀態進行最小二乘優化,為降低計算量,可以采用谷歌的ceres庫和eigen庫來進行計算。
2.2 機器人建圖方案
所謂建圖就是定一個原點,然后測量出室內所有二維碼標簽相對于原點的空間坐標。
在選擇機器人的位置后,通過控制機器人在室內移動,來實時計算機器人的位置以及室內二維碼的位置,實現二維碼slam的過程。
將機器人走的軌跡以及二維碼坐標都保存在圖片中。
建圖技巧:在建圖時最好讓機器人走的軌跡形成一個閉環,這樣slam算法會將機器人位置與整個地圖中的二維碼標簽坐標進行優化,從而提高地圖的精度。同時在建圖過程中先讓機器人走一些小環,然后再走一些大環,會比只走一個大環的效果要好。建圖過程中走的軌跡要盡量遠離障礙物,
2.3 機器人避障方案
方案一: 深度相機
在機器人下方安裝深度相機,保證深度相機的視野可以覆蓋機器人下一個控制周期內可以到達的位置空間。為了充分利用深度相機的視野,通常將相機斜向上30-45度安裝,可以檢測到地面以上的障礙物和空中的干擾物體。
方案二:激光雷達
2.4 主控系統方案
方案一:采用工控機 + linux + ros + qt,該方案適合應用于前期的功能驗證,但是后期隨著附加功能增多,開發效率會降低,成本變大。
方案二:全志arm主板+android + app,該方案便于后期的運維以及良好的人機交互體驗,基于Java開發app也可以簡單快捷。將上面開發的機器人定位導航系統打包成可執行程序,然后將機器人位置以及相關交互信息通過Restful接口與應用層程序進行通信。
在android中通過開發者模式進入調試工具中來調試日志,用戶模式來給用戶進行人臉識別,點餐送餐,點歌曲等app的使用。
2.5 機器人底盤方案
底盤包括電氣控制和機械結構。
采用單片機作為底盤的嵌入式控制器,以說stm32f4系列為例,需要具備電機編碼器接口,CAN接口,串口,電源管理系統,電機控制接口等。
2.6 相機自標定系統(應用于大批量生產中)
2.7 機器人定位校準系統(應用于大批量生產中)
2.8 機器人建圖交互和地圖修改軟件(應用于大規模推廣中)
2.9 配送app開發(餐廳實際使用中)
2.10 多機調度系統(應用于多機器人在擁擠室內工作)
2.11 機器人大數據管理系統(將機器人日常的數據采集到云端)
總結
- 上一篇: 小程序如何关联微信小程序二维码,实现二码
- 下一篇: 自定义 RPC框架4——RMI+Zook