• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種三輪全向移動機器人的設(shè)計與實現(xiàn)

    2019-05-16 07:39:30王吉芳
    關(guān)鍵詞:移動機器人運動學激光雷達

    曹 棟,王吉芳

    (北京信息科技大學 機電工程學院,北京 100192)

    0 引言

    國外對于移動機器人技術(shù)的研究起步很早,在20世紀70年代就研制出了自主移動機器人 Shakey。80年代就出現(xiàn)了一大批研制移動機器人平臺的世界著名公司,如美國通用電氣、日本本田、索尼等[1]。國內(nèi)對于移動機器人技術(shù)的研究雖然晚于國外,但經(jīng)過多年發(fā)展,也有了一大批國內(nèi)知名研究機構(gòu)和科技企業(yè)對其進行研究,如中國科學技術(shù)大學、哈爾濱工業(yè)大學、百度、京東等。移動機器人作為服務(wù)機器人中的一大類,目前已經(jīng)在社會服務(wù)中取得了巨大進步,廣泛應(yīng)用于各種服務(wù)行業(yè),如工廠倉庫中的物流運輸車,餐廳中的上菜機器人,酒店、商場中的引導機器人,家庭中的保潔和娛樂機器人。而輪式移動機器人作為室內(nèi)服務(wù)機器人的一個重要代表,相對于腿式機器人和履帶式機器人,其移動機構(gòu)相對靈活簡單,運動控制實現(xiàn)容易,能夠在一個平面環(huán)境里平穩(wěn)、精準、高速地運動,因此是未來應(yīng)用型服務(wù)機器人中首選的機器人種類[2]。對于輪式移動機器人的研究,是具有很大實際意義的。

    1 機器人硬件平臺設(shè)計

    1.1 機器人結(jié)構(gòu)設(shè)計

    本文采用三輪全向運動機構(gòu)形式且以三軸互成120°作為機器人的底盤結(jié)構(gòu)。將機器人外形設(shè)計成等邊三角型形式,減少搭建材料的使用量,并采用鋁型材作為主體結(jié)構(gòu)材料,大幅度減輕機器人的整體重量,減少機器人慣性對其運動控制的影響,最終移動機器人樣機如圖1所示。

    圖1 移動機器人樣機

    1.2 機器人運動模型

    為了簡化機器人運動學數(shù)學模型,現(xiàn)做如下假設(shè):全向輪三軸線互成120°角,且到中心距離完全一致;所安裝的各驅(qū)動輪與驅(qū)動電機各項性能指標參數(shù)完全相同;地面有足夠的摩擦力,全向輪在主動運動方向上不會產(chǎn)生打滑現(xiàn)象。機器人的運動學分析如圖2所示。其中V1、V2、V3分別為3個全向輪1、2、3的線速度,Vx為機器人整體的沿X軸方向線速度,Vy為機器人整體沿Y軸線速度,ω為機器人整體的角速度,方向以機器人整體的逆時針方向為正方向。θ=120°為全向輪軸線間的夾角,R為全向輪到機器人中心的距離。

    首先分析機器人正運動學模型,即已知機器人的整體線速度Vx、Vy和角速度ω,求解3個驅(qū)動輪的線速度V1、V2、V3。根據(jù)平面運動過程的速度分解與合成關(guān)系,可建立如下運動學方程關(guān)系[3]:

    (1)

    在ROS系統(tǒng)中,機器人坐標系是以其前進的方向作為X軸正方向,Y軸正方向位于X軸左側(cè),逆時針旋轉(zhuǎn)是它的正方向,如圖3所示。

    圖3 ROS系統(tǒng)下機器人坐標系

    其中Vxr、Vyr分別表示ROS系統(tǒng)坐標系下機器人沿X軸、Y軸的線速度,ωr表示ROS系統(tǒng)坐標系下機器人整體的角速度,逆時針為其正方向。對比圖2的機器人運動分析圖,可得到2種坐標系下速度間的等式關(guān)系:

    (2)

    綜合式(1)和式(2),可得到基于ROS系統(tǒng)坐標系下機器人整體速度和各輪線速度之間的正向運動方程:

    (3)

    機器人逆運動學模型,是正向運動學求解的逆過程,即已知各輪的線速度V1、V2和V3,求解機器人整體的線速度Vxr、Vyr和角速度ωr。根據(jù)前面已經(jīng)得到的運動學方程式(3),通過求逆可推導出機器人逆運動學模型:

    (4)

    1.3 機器人控制系統(tǒng)

    本文中機器人采用上、下位機兩級控制體系[4-5],其控制系統(tǒng)如圖4所示。

    圖4 機器人控制系統(tǒng)

    圖中上位機為nvidia的TX2硬件平臺,里邊安裝了kinetic版本的ROS系統(tǒng)。下位機是ST公司的STM32F407開發(fā)板。激光雷達采用的是上海思嵐的A2系列。整個系統(tǒng)控制流程如下:激光雷達檢測環(huán)境信息,給機器人構(gòu)建環(huán)境地圖或者自主導航時提供測量數(shù)據(jù)。TX2平臺ROS系統(tǒng)接受激光雷達傳感器發(fā)來的環(huán)境測量數(shù)據(jù)和下位機開發(fā)板發(fā)來的里程計信息,經(jīng)算法處理后得到機器人的速度控制指令,通過RS232串口下發(fā)給下位機。下位機將得到的速度指令,通過機器人運動學正向模型,分解成3個電機轉(zhuǎn)速下發(fā)值,通過CAN總線將每個電機速度值發(fā)送到相應(yīng)的電機驅(qū)動器;同時,下位機將每個驅(qū)動器發(fā)送來的電機實際速度值,通過機器人運動學逆向模型,合成機器人的實際速度,得到里程計信息,再通過串口發(fā)送給上位機ROS系統(tǒng)。電機驅(qū)動器通過PID方式控制電機轉(zhuǎn)速,使電機在給定的速度下運轉(zhuǎn);同時,驅(qū)動器通過讀取電機編碼器將電機的實際轉(zhuǎn)速反饋給下位機,使系統(tǒng)獲得機器人實際速度的反饋信息。在各個控制平臺和傳感器的協(xié)調(diào)工作下,機器人最終實現(xiàn)了整個硬件控制系統(tǒng)的正常運行。

    2 機器人軟件系統(tǒng)

    機器人軟件系統(tǒng)采用的是開源機器人操作系統(tǒng)(ROS)。它主要的數(shù)據(jù)通信方式是通過各個獨立節(jié)點間進行話題的訂閱和發(fā)布來實現(xiàn)不同節(jié)點間的數(shù)據(jù)傳遞。軟件系統(tǒng)的核心功能是SLAM建圖和定位導航。

    2.1 SLAM建圖

    在 ROS 中使用較為廣泛的地圖構(gòu)建方法是占用柵格地圖法,它是一種基于粒子濾波器且能同時定位與構(gòu)建地圖的算法。它的優(yōu)點是運算速度快并且精度高。ROS 中集成了利用此方法進行地圖構(gòu)建的功能包 gmapping,該功能包主要利用了里程計信息和激光雷達傳感器的信息,然后利用RB粒子濾波算法,最終創(chuàng)建并輸出基于概率的二維柵格地圖[6],該功能包的總體框架如圖5所示。

    圖5 gmapping功能包總體框架

    gmapping功能包節(jié)點間通訊關(guān)系如圖6所示。

    圖6 gmapping節(jié)點間通訊關(guān)系

    圖6中節(jié)點/rplidarNode代表了激光雷達傳感器,話題/scan代表了激光雷達所發(fā)布的環(huán)境掃描數(shù)據(jù);節(jié)點/joint_state_publisher和/state_publisher以及它們所發(fā)布的話題/joint_states和/tf_static用于發(fā)布機器人模型中車輪坐標系的轉(zhuǎn)換數(shù)據(jù);節(jié)點/base_frame_laser和話題/tf用于發(fā)布激光雷達傳感器坐標系和車體坐標系間的轉(zhuǎn)換數(shù)據(jù);節(jié)點/teleop_twist_keyboard代表了發(fā)布機器人運動速度的鍵盤控制設(shè)備,話題/cmd_vel代表了控制設(shè)備所發(fā)布的機器人運動速度數(shù)據(jù),節(jié)點/serial_node代表了下位機,它接受所發(fā)布的速度控制指令數(shù)據(jù),控制機器人運動,同時,又通過話題/tf發(fā)布實際運動后機器人坐標系與地圖坐標系odom間的位置變換數(shù)據(jù);節(jié)點/slam_gmapping最終通過訂閱各個話題,獲得節(jié)點間發(fā)布的數(shù)據(jù),生成環(huán)境地圖。

    2.2 定位導航

    作者設(shè)計的機器人采用了自適應(yīng)蒙特卡洛定位(amcl)算法。它是一種非參數(shù)定位算法,用粒子集來表示機器人位姿的置信度,能夠近似模擬多種概率分布,比傳統(tǒng)的采用高斯濾波技術(shù)的定位算法適用性更廣。另外,自適應(yīng)蒙特卡洛算法通過在粒子集重采樣階段不斷加入新的隨機粒子,使得該算法還具有一定程度的定位失效恢復(fù)能力。

    機器人路徑規(guī)劃分為全局路徑規(guī)劃和本地實時規(guī)劃。全局路徑規(guī)劃采用了Dijkstra算法,它是一種最短路徑算法,生成機器人總體行進路徑。本地實時規(guī)劃采用了Trajectory Rollout和 Dynamic Window Approaches算法,為機器人規(guī)劃每個周期應(yīng)該行駛的具體路線。在ROS系統(tǒng)中定位算法和路徑規(guī)劃算法,分別集成在amcl功能包和move_base功能包之中。定位導航時節(jié)點間通訊關(guān)系如圖7所示。

    圖7 定位導航節(jié)點間通訊關(guān)系

    圖7中有一些節(jié)點名稱和話題名稱與圖6中完全一致,功能含義也相同。不同的是新增加了/amcl節(jié)點、/map_server節(jié)點和/move_base節(jié)點。/amcl節(jié)點代表了自適應(yīng)蒙特卡洛定位(amcl)算法,它接受激光雷達節(jié)點/rplidarNode發(fā)來的環(huán)境檢測數(shù)據(jù)和機器人關(guān)節(jié)狀態(tài)發(fā)來的/tf坐標變換數(shù)據(jù),實現(xiàn)機器人在實際環(huán)境中的定位,并向節(jié)點/move_base發(fā)送機器人坐標系和地圖坐標系的運動轉(zhuǎn)換數(shù)據(jù)。節(jié)點/map_server代表地圖服務(wù)器,它以/map話題形式發(fā)送由SLAM建圖得到的環(huán)境地圖信息。節(jié)點/move_base代表了機器人路徑規(guī)劃算法,它結(jié)合/map地圖信息,/tf位置變化信息和/move_base/goal給定目標位置信息,規(guī)劃出最優(yōu)行進路徑,并將路徑點速度/cmd_vel發(fā)送給下位機/serial_node執(zhí)行,最終實現(xiàn)機器人準確到達目標位置,完成自主導航。

    3 實驗

    3.1 構(gòu)建二維占用刪格地圖

    本次實驗以作者所在實驗室部分環(huán)境作為slam建圖的實際環(huán)境。占用柵格地圖分辨率越低,對計算機硬件存儲要求越高,建圖時間也越長,因此本次實驗將地圖分辨率設(shè)置為5 cm,這樣既能滿足導航要求又能提高建圖效率。啟動gmapping功能包,通過無線鍵盤設(shè)備,控制機器人在實驗室運行一圈,所建二維柵格地圖如圖8所示。圖中精確地建出了實驗室墻壁、桌子等物品位置信息,圖中物品位置尺寸與實際尺寸的偏差小于1.5 cm。

    圖8 二維柵格地圖

    3.2 自主導航實驗

    機器人的系統(tǒng)誤差對于路徑規(guī)劃的精度有很大影響,因此在實驗前先對機器人直線運動誤差和旋轉(zhuǎn)運動誤差進行測量統(tǒng)計,統(tǒng)計結(jié)果見表1和表2。根據(jù)表1、2數(shù)據(jù)可計算出機器人直線運動1 m均值誤差為15 mm,旋轉(zhuǎn)90°機器人均值誤差為1.78°。實際誤差值會因輪子實際打滑情況與運轉(zhuǎn)狀態(tài)會有所不同。

    表1 直線運動誤差統(tǒng)計 mm

    表2 旋轉(zhuǎn)運動誤差統(tǒng)計 (°)

    通過ROS中可視化工具Rviz,在地圖中給定機器人導航目標位姿,觀察機器人導航情況。實驗過程如圖9所示。

    圖9 自主導航過程

    圖9中長線條為機器人的實時規(guī)劃路徑,箭頭代表機器人的目標位姿。實驗結(jié)果:機器人實際導航位置與目標點位置距離偏差150 mm,角度偏差5°。在由低成本結(jié)構(gòu)和傳感器組成的系統(tǒng)下,機器人取得了良好的導航效果。

    3.3 自主避障實驗

    在環(huán)境地圖中隨機給定機器人一導航目標點,在機器人行進的路線中,加入一個地圖中未構(gòu)建障礙物(紙箱),觀察機器人實時避障情況。實驗過程如圖10、11所示。

    圖10中箭頭代表了機器人導航目標點位姿,彎曲的長線條是機器人檢測到障礙物后,自主生成的新的路徑,機器人左上側(cè)的一小段橫線是檢測到的障礙物外形信息。圖11為機器人實際避障過程圖,圖中機器人與紙箱保持著一定安全距離,運動過程沒發(fā)生碰撞接觸。

    圖10 自主避障路徑規(guī)劃圖

    圖11 實際避障過程圖

    實驗結(jié)果表明,設(shè)計的機器人在激光雷達檢測到障礙物信息后,能夠在Trajectory Rollout和 Dynamic Window Approaches路徑規(guī)劃算法下實時調(diào)整行進路線,規(guī)劃出新的路徑,控制機器人準確無碰撞地躲避障礙物(紙箱)。

    4 結(jié)束語

    本文設(shè)計的基于ROS系統(tǒng)的三輪全向移動機器人,成本低廉,結(jié)構(gòu)簡單,控制容易,且不存在最小轉(zhuǎn)彎半徑,更加適合復(fù)雜的室內(nèi)空間環(huán)境。通過建立正逆運動學模型,進行機器人速度的合成與分解,得到了機器人優(yōu)良的運動控制性能和較小的系統(tǒng)運動誤差。同時,經(jīng)過實驗驗證了所設(shè)計的機器人在ROS系統(tǒng)下環(huán)境地圖構(gòu)建、定位導航和自主避障性能。用gmapping算法所建環(huán)境地圖信息精確,尺寸誤差小于15 mm,能滿足機器人定位導航使用。用amcl定位算法并配合Dijkstra、 Trajectory Rollout和 Dynamic Window Approaches路徑規(guī)劃算法獲得了良好的自主導航效果。另外,所設(shè)計的機器人在有未建模障礙物進入環(huán)境時,能夠做出快速反應(yīng),及時調(diào)整行進路徑,自主躲避障礙物。

    猜你喜歡
    移動機器人運動學激光雷達
    手持激光雷達應(yīng)用解決方案
    北京測繪(2022年5期)2022-11-22 06:57:43
    移動機器人自主動態(tài)避障方法
    法雷奧第二代SCALA?激光雷達
    汽車觀察(2021年8期)2021-09-01 10:12:41
    基于MATLAB的6R機器人逆運動學求解分析
    基于激光雷達通信的地面特征識別技術(shù)
    基于D-H法的5-DOF串并聯(lián)機床運動學分析
    基于激光雷達的多旋翼無人機室內(nèi)定位與避障研究
    電子制作(2018年16期)2018-09-26 03:27:00
    基于Twincat的移動機器人制孔系統(tǒng)
    基于運動學原理的LBI解模糊算法
    雙足機器人運動學分析與仿真
    合水县| 泸水县| 惠州市| 大荔县| 东方市| 贵南县| 安多县| 邵东县| 凤城市| 大化| 平定县| 甘孜县| 永善县| 固阳县| 万宁市| 永丰县| 新兴县| 汽车| 天长市| 桑日县| 定陶县| 鄂州市| 呼图壁县| 临猗县| 陆良县| 大姚县| 林口县| 信宜市| 随州市| 沙坪坝区| 白城市| 兴业县| 宾川县| 尚志市| 平潭县| 当阳市| 奇台县| 博客| 洛阳市| 舞钢市| 遂平县|