SLAM机器人开发(一)系统框图
SLAM機(jī)器人開發(fā)(一)系統(tǒng)框圖
- 自主導(dǎo)航與控制模塊(上位機(jī))
- 自主導(dǎo)航與控制模塊(下位機(jī))
自主導(dǎo)航與控制模塊(上位機(jī))
SLAM機(jī)器人自主導(dǎo)航與控制模塊是基于 Ubuntu 16.04 和 ROS Kinetic 系統(tǒng)而設(shè)計(jì)的。 Nav_Control 模塊主要由十個(gè)節(jié)點(diǎn)構(gòu)成,其中 RealSense node 和 STM32 node 作為 Linux 驅(qū)動(dòng)分別 與 RealSense D415 和 STM32 單片機(jī)進(jìn)行通訊。
VO node,即視覺綜合里程計(jì)模塊,是整個(gè) Nav_Control 模塊中最為重要的 node。VO node 從 RealSense node 獲取相機(jī)數(shù)據(jù),包括深度圖和 彩色圖,從輪速-慣導(dǎo)里程計(jì) Ode node 獲取里程計(jì)數(shù)據(jù),包括物流機(jī)器人坐標(biāo)系下的 XYZ軸線速度、 路程和繞 XYZ 軸轉(zhuǎn)動(dòng)的角度(yaw,roll,pitch)、角速度。
然后與回環(huán)檢測模塊 Loop_Detec node 一起根據(jù)獲取的數(shù)據(jù)估計(jì)物流機(jī)器人的位姿和局部地圖數(shù)據(jù),將其發(fā)送給后端優(yōu)化模塊 BA node 和路徑規(guī)劃模塊 Planner node。BA node 對(duì)前端得到的數(shù)據(jù)進(jìn)行非線性優(yōu)化,生成全局地圖數(shù)據(jù)發(fā)送給圖像轉(zhuǎn)換模塊 Pcmap2Octomap node,同時(shí)將更加精確的軌跡數(shù)據(jù)發(fā)送給 Planner node。 給定一個(gè)目標(biāo)位姿,Planner node 將使用 3D-RRTstar 算法進(jìn)行路徑規(guī)劃,從軌跡數(shù)據(jù)獲得初始位姿,然后獲取 Pcmap2Octomap node 的八叉樹地圖數(shù)據(jù)并在八叉樹地圖上進(jìn)行規(guī)劃出一條滿意解。
最后 VP_Control node 獲取物流機(jī)器人的實(shí)際位姿和預(yù)期位姿數(shù)據(jù),通過四環(huán)串級(jí)控制算法使物流機(jī)器人達(dá)到預(yù)期位姿。其中,在 VP_Control node 中只實(shí)現(xiàn)位置環(huán)和速度環(huán)的控制算法, 另外兩環(huán)是對(duì)電機(jī)的轉(zhuǎn)速、電流雙閉環(huán)控制,在 STM32 中實(shí)現(xiàn)。
自主導(dǎo)航與控制模塊(下位機(jī))
電機(jī)轉(zhuǎn)速閉環(huán)控制根據(jù)單位時(shí)間內(nèi)編碼器獲取的脈沖數(shù)測量電機(jī)的速度信息,并與目標(biāo)值進(jìn)行比較,得到控制偏差;然后通過對(duì)比偏差的比例、積分、微分進(jìn)行控制,使偏差趨向于零。同時(shí)STM32將IMU信息處理后傳輸給上位機(jī)。
總結(jié)
以上是生活随笔為你收集整理的SLAM机器人开发(一)系统框图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 『正睿OI 2019SC Day3』
- 下一篇: GBK 汉字编码转换