《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 帶單節(jié)拖車的機(jī)器人控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
帶單節(jié)拖車的機(jī)器人控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
2018年電子技術(shù)應(yīng)用第11期
任工昌1,吳夢(mèng)珂1,朱愛(ài)斌2,劉 朋1,宋紀(jì)元2
1.陜西科技大學(xué) 機(jī)電工程學(xué)院,陜西 西安710021;2.陜西省智能機(jī)器人重點(diǎn)實(shí)驗(yàn)室,陜西 西安710049
摘要: 帶拖車的移動(dòng)機(jī)器人是一種多車體系統(tǒng),多車體機(jī)器人在運(yùn)行過(guò)程中的控制難度也相應(yīng)增加。針對(duì)帶單節(jié)拖車的室內(nèi)配送機(jī)器人,研究其運(yùn)動(dòng)學(xué)模型,提出了一種采用單車體運(yùn)動(dòng)學(xué)模型控制帶單節(jié)拖車的配送機(jī)器人的控制方案。首先設(shè)計(jì)了帶單節(jié)拖車的移動(dòng)機(jī)器人的運(yùn)動(dòng)學(xué)模型,然后以搭載著ROS(機(jī)器人操作系統(tǒng))的車載MiniPC作為上位機(jī),STM32F103作為下位機(jī),完成了對(duì)帶單節(jié)拖車的室內(nèi)配送機(jī)器人系統(tǒng)的設(shè)計(jì)與搭建,實(shí)現(xiàn)了機(jī)器人的自主運(yùn)動(dòng)控制。實(shí)驗(yàn)結(jié)果表明,該控制系統(tǒng)在室內(nèi)直線走廊與“T”字形走廊都可以很好地兼顧到拖車部分的轉(zhuǎn)向情況,實(shí)現(xiàn)了帶單節(jié)拖車的配送機(jī)器人的自主導(dǎo)航。該設(shè)計(jì)為帶單節(jié)拖車的配送機(jī)器人控制提出了一種有效的方案。
中圖分類號(hào): TP368.1
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.181058
中文引用格式: 任工昌,吳夢(mèng)珂,朱愛(ài)斌,等. 帶單節(jié)拖車的機(jī)器人控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2018,44(11):41-44,49.
英文引用格式: Ren Gongchang,Wu Mengke,Zhu Aibin,et al. Design and implementation of robot control system with single trailer[J]. Application of Electronic Technique,2018,44(11):41-44,49.
Design and implementation of robot control system with single trailer
Ren Gongchang1,Wu Mengke1,Zhu Aibin2,Liu Peng1,Song Jiyuan2
1.College of Mechanical & Electrical Engineering,Shaanxi University of Science and Technology,Xi′an 710021,China; 2.Shaanxi Key Laboratory of Intelligent Robots,Xi′an 710049,China
Abstract: The mobile robot with a trailer is a multi-vehicle system, and the control difficulty of the multi-robot during operation is also increased accordingly. This paper studies the kinematics model of an indoor delivery robot with a single trailer and proposes a control scheme for the distribution robot with a single trailer using a single kinematics model. Firstly, the kinematics model of a mobile robot with a single trailer was designed. Then, a vehicle-mounted MiniPC equipped with ROS(Robot Operating System) was used as a host computer, and STM32F103 was used as a lower-level machine to complete an in-house delivery robot system with a single trailer,to achieve the robot′s autonomous motion control. The experimental results show that both in the linear corridor and the “T-shaped” corridor the control system can well take into account the steering conditions of the trailer part, and realize the autonomous navigation of the distribution robot with single trailer. An effective solution has been proposed for the control of distribution robots with single trailer.
Key words : with single trailer;mobile robot;ROS;autonomous navigation

0 引言

    室內(nèi)服務(wù)型移動(dòng)機(jī)器人作為機(jī)器人中一個(gè)重要的分支,使人們的生活變得更加便捷。目前,已有一些機(jī)器人應(yīng)用到現(xiàn)實(shí)生活中,例如美國(guó)TRC公司研制的Helpmate醫(yī)用機(jī)器人、IROBOT公司的掃地機(jī)器人Roomba等[1]

    當(dāng)前,室內(nèi)服務(wù)型機(jī)器人多采用兩輪差速驅(qū)動(dòng),其主要原因是控制系統(tǒng)較為成熟,但是對(duì)于帶有配送功能的機(jī)器人來(lái)說(shuō),帶拖車的結(jié)構(gòu)能夠在驅(qū)動(dòng)電機(jī)扭矩不變的情況下,運(yùn)輸更多的貨物,并且轉(zhuǎn)向更加靈活。帶拖車的移動(dòng)機(jī)器人主要由一節(jié)牽引車頭與若干節(jié)拖車組成,牽引車主要完成驅(qū)動(dòng)與轉(zhuǎn)向作用,拖車隨著牽引車進(jìn)行運(yùn)動(dòng)。這類自主運(yùn)行的配送機(jī)器人可用于工廠車間的材料運(yùn)輸,醫(yī)院內(nèi)部的藥品運(yùn)輸,大型碼頭的貨物運(yùn)輸?shù)取?/p>

    單車體移動(dòng)機(jī)器人的路徑規(guī)劃方法通常采用姿態(tài)空間法,即以機(jī)器人外接圓半徑擴(kuò)張障礙物,同時(shí)將單車體機(jī)器人縮為一個(gè)控制點(diǎn),于是路徑規(guī)劃可轉(zhuǎn)化為在擴(kuò)張后的姿態(tài)空間中一個(gè)點(diǎn)的規(guī)劃路徑[2]。對(duì)于帶拖車的移動(dòng)機(jī)器人,它的外接圓時(shí)刻是變化的,采用包含所有車體的外接圓來(lái)拓展障礙物和建立環(huán)境模型的方法往往人為地減少了運(yùn)行空間,使得系統(tǒng)找不到最優(yōu)或可行路徑[3]。

    本設(shè)計(jì)中將牽引車部分設(shè)計(jì)在拖車前端的車底部,因此該機(jī)器人在運(yùn)行過(guò)程中仍可看成是一個(gè)單車體。針對(duì)該結(jié)構(gòu)建立運(yùn)動(dòng)學(xué)模型,以搭載著ROS的MiniPC作為上位機(jī),接收底層編碼器與激光雷達(dá)反饋的信息,完成自主定位與路徑規(guī)劃的相關(guān)計(jì)算,并向下位機(jī)發(fā)送機(jī)器人控制點(diǎn)的速度與角速度信息。以STM32F103作為下位機(jī),接收上位機(jī)傳來(lái)的運(yùn)動(dòng)信息并最終換算成驅(qū)動(dòng)輪電機(jī)的轉(zhuǎn)速,驅(qū)動(dòng)底層電機(jī)轉(zhuǎn)動(dòng),完成機(jī)器人控制系統(tǒng)的搭建,并在機(jī)器人實(shí)體上進(jìn)行實(shí)驗(yàn)。

1 帶單節(jié)拖車的配送機(jī)器人運(yùn)動(dòng)學(xué)模型建立

1.1 機(jī)器人結(jié)構(gòu)介紹

    如圖1、圖2所示,整個(gè)機(jī)器人結(jié)構(gòu)可以分為兩大部分,一部分為牽引車車頭轉(zhuǎn)向部分,另一部分為拖車部分。牽引車轉(zhuǎn)向部分通過(guò)轉(zhuǎn)盤(pán)與拖車部分連接,牽引車部分的兩個(gè)輪為驅(qū)動(dòng)輪,驅(qū)動(dòng)電機(jī)尾部安裝有編碼器,可以得到驅(qū)動(dòng)電機(jī)的轉(zhuǎn)速信息;牽引車部分與拖車部分安裝有陀螺儀,可以測(cè)得車頭與拖車部分的相對(duì)轉(zhuǎn)動(dòng)角度信息。拖車前部上方安裝有激光雷達(dá),可以為上位機(jī)反饋周邊環(huán)境信息。

qrs4-t1.gif

qrs4-t2.gif

1.2 運(yùn)動(dòng)學(xué)模型建立

    將以上機(jī)器人結(jié)構(gòu)進(jìn)行簡(jiǎn)化,得到如圖3所示的運(yùn)動(dòng)簡(jiǎn)圖。其中,k0點(diǎn)為機(jī)器人車頭牽引車部分的旋轉(zhuǎn)中心,k1點(diǎn)為機(jī)器人拖車部分后輪中心部位。V0、W0為k0點(diǎn)運(yùn)動(dòng)的速度與角速度,V1、W1為k1點(diǎn)運(yùn)動(dòng)的速度與角速度,L為k0到k1長(zhǎng)度,α為車頭驅(qū)動(dòng)輪與拖車車軸的夾角,X-Y為k1點(diǎn)的坐標(biāo)系,θ是k1點(diǎn)運(yùn)動(dòng)方向與X軸的夾角。假設(shè):整個(gè)系統(tǒng)是在平面上運(yùn)動(dòng);車輪是無(wú)滑動(dòng)的;車體關(guān)于其縱向軸線對(duì)稱;車輪與地面是點(diǎn)接觸,且是純滾動(dòng)運(yùn)動(dòng);車體是剛體;用于牽引車車頭與車體連接的轉(zhuǎn)盤(pán)是無(wú)摩擦的。

qrs4-t3.gif

    對(duì)于自主運(yùn)動(dòng)的帶拖車配送機(jī)器人,選取拖車部分后軸中心為控制點(diǎn),即k1點(diǎn)。上位機(jī)通過(guò)控制k1點(diǎn)的速度與角速度來(lái)實(shí)現(xiàn)機(jī)器人的自主運(yùn)行。

    V1、W1與V0、W0的關(guān)系如下:

qrs4-gs1-3.gif

2 ROS簡(jiǎn)介

    在2007年,斯坦福大學(xué)與機(jī)器人技術(shù)公司W(wǎng)illow Garage進(jìn)行了一次項(xiàng)目合作,ROS系統(tǒng)便誕生于這次的項(xiàng)目合作[4],由于其分布式的控制機(jī)制使得機(jī)器人系統(tǒng)的開(kāi)發(fā)大大簡(jiǎn)化,在這之后ROS便被機(jī)器人領(lǐng)域的眾多研究人員所熟知[5]。

    ROS運(yùn)行時(shí)是由多個(gè)松耦合的進(jìn)程組成的,這些進(jìn)程被稱之為節(jié)點(diǎn)(Node),每個(gè)節(jié)點(diǎn)獨(dú)立運(yùn)行,又與其他相關(guān)節(jié)點(diǎn)進(jìn)行通信。在實(shí)際使用時(shí),這種模塊化的設(shè)計(jì)可以大大提高開(kāi)發(fā)效率[6]。

    ROS支持多種開(kāi)發(fā)語(yǔ)言,不同的節(jié)點(diǎn)可以采用不同的語(yǔ)言進(jìn)行編寫(xiě)。由于各個(gè)節(jié)點(diǎn)模塊的獨(dú)立性與開(kāi)源性,使得所有ROS使用者都可以將自己編寫(xiě)的功能包進(jìn)行共享[7]。

3 控制系統(tǒng)硬件設(shè)計(jì)

    從該機(jī)器人工作角度考慮,控制系統(tǒng)設(shè)計(jì)整體分為兩部分:上位機(jī)設(shè)計(jì)與下位機(jī)設(shè)計(jì)。上位機(jī)由PC主機(jī)與車載MiniPC機(jī)組成,兩者之間通過(guò)無(wú)線局域網(wǎng)進(jìn)行通信。下位機(jī)由車體、車輪、帶編碼器的直流減速電機(jī)、電機(jī)驅(qū)動(dòng)器、STM32F103開(kāi)發(fā)板、電源、陀螺儀以及激光雷達(dá)組成。STM32F103RCT6作為下位機(jī)的主要控制單元,其作用是將上位機(jī)發(fā)出的控制指令轉(zhuǎn)換成各個(gè)電機(jī)對(duì)應(yīng)的速度,并將其輸出給電機(jī)驅(qū)動(dòng)器,實(shí)現(xiàn)機(jī)器人不同形式的運(yùn)動(dòng);與此同時(shí),STM32將編碼器反饋的速度信號(hào)進(jìn)行計(jì)算和轉(zhuǎn)換,得到對(duì)應(yīng)車輪的速度信息并將這些信息反饋給上位機(jī)。在拖車部分和牽引車車頭部分分別安裝有一個(gè)陀螺儀,陀螺儀的型號(hào)為T(mén)ransducerM,通過(guò)計(jì)算兩個(gè)陀螺儀的偏航角之差,可得到牽引車相對(duì)于拖車部分的旋轉(zhuǎn)角度,即圖3中的角α。激光雷達(dá)采用的是HOKUYO公司的URG-04LX-UG01二維激光雷達(dá),用于反饋周圍環(huán)境信息給上位機(jī)。

    上位機(jī)的車載MiniPC以拖車尾部車軸中點(diǎn)為控制點(diǎn),向下位機(jī)發(fā)送移動(dòng)指令。本設(shè)計(jì)中上位機(jī)向下位機(jī)發(fā)送的是該點(diǎn)的速度與角速度信息。同時(shí)接受下位機(jī)反饋的里程信息。車載MiniPC采用的是占美微型電腦,電源采用12 V-5 A適配器,具有體積小、價(jià)格低、性能高、接口豐富等特點(diǎn)??刂葡到y(tǒng)硬件框圖如圖4所示。

qrs4-t4.gif

4 控制系統(tǒng)軟件設(shè)計(jì)

    控制系統(tǒng)軟件設(shè)計(jì)在移動(dòng)機(jī)器人的整體設(shè)計(jì)中占有絕對(duì)的核心地位,這直接關(guān)系到機(jī)器人運(yùn)行的魯棒性與穩(wěn)定性。本設(shè)計(jì)中的控制系統(tǒng)軟件是基于ROS平臺(tái)。在車載MiniPC中裝有ROS系統(tǒng),車載MiniPC與下位機(jī)通過(guò)串口進(jìn)行通信,主控電腦通過(guò)無(wú)線局域網(wǎng)采用ssh遠(yuǎn)程登錄方式對(duì)車載MiniPC進(jìn)行控制。下位機(jī)通過(guò)解算由上位機(jī)發(fā)送的速度與角速度等信息最終得到驅(qū)動(dòng)電機(jī)的PWM波值,從而實(shí)現(xiàn)對(duì)電機(jī)的控制。

4.1 下位機(jī)軟件設(shè)計(jì)

    下位機(jī)的主要作用是接收上位機(jī)傳來(lái)的運(yùn)動(dòng)信息,并解算成最終的驅(qū)動(dòng)信號(hào),與此同時(shí),向上位機(jī)反饋里程計(jì)信息,供上位機(jī)做位姿定位使用。圖5為下位機(jī)的工作流程圖。

qrs4-t5.gif

    下位機(jī)上電后首先對(duì)整個(gè)系統(tǒng)進(jìn)行初始化,這里由于整個(gè)配送機(jī)器人是在室內(nèi)環(huán)境下使用的,因此陀螺儀初始化時(shí)就失去了使用GPS的校準(zhǔn)功能,但是初始化完成后,陀螺儀偏航角的相對(duì)精度還是可以保證的。

    當(dāng)下位機(jī)接收到上位機(jī)傳來(lái)的控制點(diǎn)的角速度W1與速度V1信息時(shí),通過(guò)式(3)將其解算成牽引車部分運(yùn)動(dòng)的速度V0與航向角度α。為了減少下位機(jī)運(yùn)算量和防止角速度的突變,直接給定車頭部分一個(gè)恒定的角速度量W0=0.4 rad/s,當(dāng)V1=0時(shí),W0=0。W0的正負(fù)由W1決定,當(dāng)W1為正時(shí),W0=0.4 rad/s;當(dāng)W1為負(fù)時(shí),W0=-0.4 rad/s。牽引車與拖車部分的陀螺儀通過(guò)串口反饋各自的偏航角,在系統(tǒng)初始化之后,以當(dāng)前偏航角值為初始值,計(jì)算各自的變化量,再將兩者相減,即可得到牽引車與拖車部分的相對(duì)轉(zhuǎn)角α*。再將此轉(zhuǎn)角與解算后的目標(biāo)α做對(duì)比,直到α*=α?xí)r,車頭部分的W0=0,只留下一個(gè)前進(jìn)方向的速度V0,在這里為了防止?fàn)恳囋谀繕?biāo)α角周圍來(lái)回抖動(dòng),所以將目標(biāo)α角范圍擴(kuò)大±0.2。

    接下來(lái)將牽引車部分的速度與角速度進(jìn)行換算得到最終驅(qū)動(dòng)電機(jī)的PWM波值。與此同時(shí),下位機(jī)還將讀取到的編碼器信息通過(guò)式(1)換算成控制點(diǎn)的速度與角速度信息,再由串口回傳至上位機(jī)做處理。

4.2 上位機(jī)軟件的設(shè)計(jì)

    上位機(jī)的主要作用是對(duì)下位機(jī)反饋的里程計(jì)信息以及激光雷達(dá)捕捉到的周圍環(huán)境的信息進(jìn)行計(jì)算,得到當(dāng)前整車的位姿信息,并且對(duì)下一步的運(yùn)動(dòng)路線進(jìn)行規(guī)劃,換算成速度與角速度信息,發(fā)送給下位機(jī)。

    在建好地圖的情況下,ROS導(dǎo)航主要需要使用到兩個(gè)程序包,一個(gè)是move_base,另一個(gè)是amcl。move_base包可以根據(jù)各個(gè)傳感器反饋的信息進(jìn)行路徑規(guī)劃,使機(jī)器人移動(dòng)到指定位置,amcl包主要是根據(jù)已有的地圖進(jìn)行自主定位與導(dǎo)航[8]。圖6為導(dǎo)航包的整體格局。

qrs4-t6.gif

    move_base包主要提供了對(duì)于自主導(dǎo)航的相關(guān)參數(shù)配置、系統(tǒng)與各種傳感器的接口等,主要包括兩個(gè)部分。第一部分為全局路徑規(guī)劃(global planner):使用者給定目標(biāo)位置后,系統(tǒng)根據(jù)給定的目標(biāo)位置進(jìn)行整體路徑規(guī)劃;第二部分為本地實(shí)施規(guī)劃(local planner):在導(dǎo)航過(guò)程中,系統(tǒng)根據(jù)自身傳感器所反饋的周圍環(huán)境信息,對(duì)附近的障礙物進(jìn)行避障路線規(guī)劃。

    除此之外ROS還提供了一種可視化工具——rviz。使用這種插件機(jī)制可以擴(kuò)展豐富的功能,便于進(jìn)行二次開(kāi)發(fā)[9]。在這里,可以通過(guò)設(shè)置footprint的大小來(lái)規(guī)定機(jī)器人的最大邊界,由于該移動(dòng)機(jī)器人的牽引車驅(qū)動(dòng)部分處于拖車車體前端的下方,因此拖車部分的最大邊界即為整車的最大邊界。通過(guò)rviz,還可以實(shí)時(shí)觀測(cè)到機(jī)器人在地圖中的位置、激光雷達(dá)反饋的信息、每一時(shí)刻的速度方向以及上位機(jī)對(duì)導(dǎo)航路徑的規(guī)劃情況等。

5 配送機(jī)器人實(shí)驗(yàn)與分析

    帶單節(jié)拖車的配送機(jī)器人樣機(jī)如圖7所示。在實(shí)驗(yàn)開(kāi)始之前,需要將車載MiniPC與遠(yuǎn)程控制PC都連接上同一個(gè)WiFi,在遠(yuǎn)程控制PC上打開(kāi)一個(gè)終端,通過(guò)ssh命令登錄上車載MiniPC,啟動(dòng)控制機(jī)器人的所有相關(guān)節(jié)點(diǎn)。在遠(yuǎn)程控制PC端打開(kāi)rviz界面,輸入機(jī)器人起始點(diǎn)信息,給定目標(biāo)點(diǎn),機(jī)器人即可開(kāi)始自主導(dǎo)航。

qrs4-t7.gif

    圖8是機(jī)器人在直線走廊的導(dǎo)航情況,圖9是機(jī)器人在直線走廊導(dǎo)航的rviz結(jié)果,圖10是機(jī)器人在“T”字形走廊拐角處的導(dǎo)航情況,圖11是機(jī)器人在“T”字形走廊拐角處的導(dǎo)航的rviz結(jié)果。

qrs4-t8.gif

qrs4-t9.gif

qrs4-t10.gif

qrs4-t11.gif

    由圖可見(jiàn),該機(jī)器人在直線走廊中可以順利地避開(kāi)遇到的障礙物,在“T”字形走廊拐角處也可以兼顧到拖車部分的轉(zhuǎn)向情況,實(shí)現(xiàn)了帶單節(jié)拖車的自主導(dǎo)航。

6 結(jié)論

    本文研究了帶單節(jié)拖車的配送機(jī)器人控制系統(tǒng),并在物理樣機(jī)上實(shí)現(xiàn)了相關(guān)的功能。針對(duì)帶單節(jié)拖車的配送機(jī)器人,提出了一種采用單車體運(yùn)動(dòng)學(xué)模型控制帶單節(jié)拖車的配送機(jī)器人的控制方案,建立了運(yùn)動(dòng)學(xué)模型,以及下位機(jī)接收到上位機(jī)信息之后的決策方案,從而有效地解決了帶單節(jié)拖車的室內(nèi)配送機(jī)器人遇到障礙物的避障問(wèn)題與在“T”字形走廊的轉(zhuǎn)向問(wèn)題。

參考文獻(xiàn)

[1] 羅振華.醫(yī)院服務(wù)機(jī)器人室內(nèi)導(dǎo)航算法與自主充電系統(tǒng)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2016.

[2] 劉作軍,孔鑫,楊鵬,等.帶拖車移動(dòng)機(jī)器人的運(yùn)動(dòng)學(xué)分析與仿真[C].2006中國(guó)控制與決策學(xué)術(shù)年會(huì)論文集,2006.

[3] 李宏超,黃亞樓,夏毅,等.帶拖車的移動(dòng)機(jī)器人包絡(luò)路徑分析與描述[J].機(jī)器人,2001(4):334-337.

[4] QUIGLEY M,BERGER E,NG A Y.Stair:hardware and software architecture[C].AAAI Robotics Workshop,2007.

[5] QUIGLEY M,GERKEY B P,CONLEY K,et al.ROS:an open-source robot operating system[C].Proceeding of IEEE ICRA Workshop on Open Source Robotics,2009.

[6] 路飛,田國(guó)會(huì),劉國(guó)良,等.智能空間下基于WiFi指紋定位與粒子濾波的服務(wù)機(jī)器人復(fù)合全局定位系統(tǒng)設(shè)計(jì)[J].機(jī)器人,2016(2):178-184.

[7] 張建偉,張立偉,胡穎.開(kāi)源機(jī)器人操作系統(tǒng)-ROS[M].北京:科學(xué)出版社,2012.

[8] 白亮亮,平雪良,陳盛龍,等.分布式移動(dòng)機(jī)器人控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)械設(shè)計(jì)與制造,2015(10):180-183.

[9] 劉維惠,陳殿生,張立志.人機(jī)協(xié)作下的機(jī)械臂軌跡生成與修正方法[J].機(jī)器人,2016,38(4):504-512.



作者信息:

任工昌1,吳夢(mèng)珂1,朱愛(ài)斌2,劉  朋1,宋紀(jì)元2

(1.陜西科技大學(xué) 機(jī)電工程學(xué)院,陜西 西安710021;2.陜西省智能機(jī)器人重點(diǎn)實(shí)驗(yàn)室,陜西 西安710049)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。