移動(dòng)機(jī)器人的自主定位導(dǎo)航過(guò)程如下:
1)采用激光掃描儀或深度相機(jī)創(chuàng)建地圖;
2)定位:機(jī)器人根據(jù)傳感器的信息并采用自適應(yīng)蒙特卡羅定位算法計(jì)算機(jī)器人在地圖中的當(dāng)前位置。
3)全局路徑規(guī)劃:采用Dijkstra(迪杰斯特拉)算法規(guī)劃出機(jī)器人從當(dāng)前位置到目標(biāo)位置的全局最優(yōu)路徑,該算法以起始點(diǎn)為中心向外層擴(kuò)展,直到擴(kuò)展到終點(diǎn)為止。
4)控制機(jī)器人運(yùn)動(dòng):采用動(dòng)態(tài)窗口法計(jì)算出控制命令并發(fā)送給移動(dòng)平臺(tái),使其沿規(guī)劃的路徑前進(jìn),如圖1所示。
圖1移動(dòng)機(jī)器人的導(dǎo)航定位
下面將以TurtleBot機(jī)器人為例,介紹實(shí)現(xiàn)自主定位導(dǎo)航的方法。
1導(dǎo)航仿真
為了簡(jiǎn)單,我們使用采用rbx1_nav/maps中的地圖進(jìn)行定位導(dǎo)航仿真實(shí)驗(yàn)。
在終端窗口中,分別運(yùn)行下面的命令:
$ roslaunch rbx1_bringup fake_turtlebot.launch
$ roslaunch rbx1_nav fake_amcl.launch map:=test_map.yaml
$ rosrun rviz rviz -d `rospack find rbx1_nav`/amcl.rviz
其中fake_amcl.launch文件位于rbx1_nav/launch目錄下,它的作用是加載地圖、啟動(dòng)并配置move_base節(jié)點(diǎn)、運(yùn)行fake_location節(jié)點(diǎn)。
運(yùn)行結(jié)果如圖2所示:
圖2啟動(dòng)定位導(dǎo)航
使用rviz工具欄上的2DNav Goal,為機(jī)器人設(shè)置目標(biāo)位姿(綠色箭頭),運(yùn)行效果如圖3所示。
圖3定位導(dǎo)航仿真
2導(dǎo)航實(shí)測(cè)
在實(shí)際中,控制TurtleBot需要兩臺(tái)PC,即TurtleBotPC與用戶PC,其中TurtleBot PC主要用于控制TurtleBot機(jī)器人的運(yùn)動(dòng),用戶PC是人機(jī)交互端,可顯示TurtleBotPC發(fā)送過(guò)來(lái)的圖像信息以及向TurtleBot PC發(fā)送控制命令,兩個(gè)PC之間通過(guò)無(wú)線網(wǎng)絡(luò)并以主題的形式進(jìn)行通信。
首先配置TurtleBotPC與用戶PC的IP地址,使兩者接入同一無(wú)線網(wǎng)絡(luò)。
然后在TurtleBotPC上分別運(yùn)行命令:
$ roslaunch turtlebot_bringup minimal.launch
$ roslaunch turtlebot_bringup 3dsensor.launch
其次在用戶PC上運(yùn)行如下命令,啟動(dòng)Rviz:
$ roslaunch turtlebot_rviz_launchers view_robot.launch
運(yùn)行結(jié)果如圖4所示
圖4啟動(dòng)TurtleBot導(dǎo)航實(shí)驗(yàn)
在用戶PC中啟動(dòng)Rviz之后,可在Rviz上看到TurtleBot周圍有一簇綠色的小箭頭,如圖5所示。這些綠色的箭頭是amcl反饋的機(jī)器人的位姿范圍,箭頭越分散說(shuō)明位姿越不確定。因此,我們需要在地圖中設(shè)置TurtleBot機(jī)器人的實(shí)際位置和方向,即TurtleBot在環(huán)境中的實(shí)際位姿與地圖中的位姿相匹配,以保證準(zhǔn)確的定位。首先點(diǎn)擊Rviz工具欄上的2DPose Estimate,然后點(diǎn)擊地圖上TurtleBot實(shí)際所在的大概位置點(diǎn),調(diào)整綠色箭頭的方向,使其與TurtleBot的實(shí)際方向一致。如果激光掃描的結(jié)果與環(huán)境邊界重合,則說(shuō)明TurtleBot在地圖上的位姿與實(shí)際相符,否則重新調(diào)整。
圖5 TurtleBot初始狀態(tài)
設(shè)置TurtleBot的初始位姿之后,可以使用2DNav Goal工具設(shè)置TurtleBot的目標(biāo)位姿。TurtleBot機(jī)器人的導(dǎo)航定位結(jié)果如圖6所示。
圖6 TurtleBot導(dǎo)航實(shí)驗(yàn)結(jié)果
由圖6可知,TurtleBot能夠較準(zhǔn)確的到達(dá)目標(biāo)位姿,說(shuō)明ROS的導(dǎo)航功能包集能夠?qū)崿F(xiàn)移動(dòng)機(jī)器人的自主導(dǎo)航定位。
硅步機(jī)器人(Gaitech Robotics) 是專業(yè)提供機(jī)器人整體解決方案的創(chuàng)新型公司,在香港、首爾、臺(tái)北、上海、山東五地?fù)碛蟹种C(jī)構(gòu)。硅步的業(yè)務(wù)和合作伙伴遍布全球多個(gè)國(guó)家,擁有健全的銷售和服務(wù)網(wǎng)絡(luò)。同時(shí)硅步擁有一支國(guó)際化的高水平技術(shù)團(tuán)隊(duì),致力于為客戶提供業(yè)內(nèi)領(lǐng)先的產(chǎn)品、技術(shù)和專業(yè)的服務(wù)。公司目前主要業(yè)務(wù)是基于ROS(Robot Operating System)系統(tǒng)的智能機(jī)器人的集成、生產(chǎn)、銷售和技術(shù)支持服務(wù)。
硅步機(jī)器人于2016年3月參與投資了加拿大Agile Sensor Technologies Inc.(www.agilesensors.com),致力于機(jī)器人電機(jī)控制系統(tǒng)、無(wú)人機(jī)飛行穩(wěn)定系統(tǒng)、智能相機(jī)和高性能傳感器等技術(shù)和產(chǎn)品的研究和開發(fā)。
硅步機(jī)器人聯(lián)合協(xié)作移動(dòng)機(jī)器人技術(shù)先驅(qū)西班牙Robotnik公司和協(xié)作機(jī)械臂國(guó)際知名公司北京遨博智能共同研發(fā)了工業(yè)智能移動(dòng)抓取機(jī)器人JR2,它代表了目前國(guó)際上協(xié)作機(jī)器人的最高技術(shù)水平,有著巨大的市場(chǎng)潛力。
考慮到山東的人文環(huán)境、地理區(qū)位、產(chǎn)業(yè)基礎(chǔ)等多個(gè)有利因素,硅步機(jī)器人于2017年3月斥資3億元在山東鄒城建造了科教無(wú)人機(jī)及工業(yè)機(jī)器人研發(fā)生產(chǎn)基地。這意味著硅步機(jī)器人正式進(jìn)入機(jī)器人生產(chǎn)、加工產(chǎn)業(yè)鏈條,與研發(fā)和銷售互為有效補(bǔ)充,標(biāo)志著硅步機(jī)器人的發(fā)展從此邁上一個(gè)新的臺(tái)階。
同時(shí),硅步所屬企業(yè)積極參與了多項(xiàng)國(guó)家自然科學(xué)基金和973項(xiàng)目,擁有多項(xiàng)產(chǎn)品專利和軟件著作權(quán)。在引進(jìn)消化吸收國(guó)際先進(jìn)技術(shù)的同時(shí),硅步所屬企業(yè)與國(guó)內(nèi)科研單位緊密合作,不斷創(chuàng)新,加速中國(guó)智造的前進(jìn)步伐。
2025-09-15 10:22
2025-09-12 11:33
2025-09-12 11:32
2025-09-12 11:31
2025-09-12 11:29
2025-09-12 11:27
2025-09-12 11:25
2025-09-11 10:45
2025-09-11 10:44
2025-09-11 10:36