999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ROS的室內(nèi)自主移動(dòng)機(jī)器人設(shè)計(jì)

2023-02-19 14:26:18周寶昌林錦勝周旭華謝智陽
電子制作 2023年3期
關(guān)鍵詞:移動(dòng)機(jī)器人系統(tǒng)

周寶昌,林錦勝,周旭華,3,謝智陽

(1.河源職業(yè)技術(shù)學(xué)院,廣東河源, 517000;2.河源市工業(yè)機(jī)器人技術(shù)應(yīng)用工程技術(shù)研究中心,廣東河源, 517000;3.河源市智能汽車與智慧交通工程技術(shù)研究中心,廣東河源, 517000)

0 引言

隨著科技的發(fā)展和進(jìn)步,代替人類工作的各種機(jī)器人出現(xiàn)在工廠、車間、倉庫、醫(yī)療等場合,為了給以上作業(yè)場合等帶來方便,設(shè)計(jì)出一款室內(nèi)自主移動(dòng)機(jī)器人[1]。該機(jī)器人通過上位機(jī)(Jetson Nano)與下位機(jī)(Arduino板和驅(qū)動(dòng)板)的通信,使下位機(jī)接收到上位機(jī)的消息,將消息轉(zhuǎn)換成發(fā)送到驅(qū)動(dòng)板上,從而達(dá)到驅(qū)動(dòng)板對(duì)機(jī)器人進(jìn)行速度和方向的控制。上位機(jī)接收到激光雷達(dá)數(shù)據(jù)反饋,把數(shù)據(jù)處理后得到?jīng)Q策指令發(fā)送到下位機(jī),來完成機(jī)器人前進(jìn)、左轉(zhuǎn)、右轉(zhuǎn)、后退和避障等功能。結(jié)合激光雷達(dá)SLAM建圖算法技術(shù)和導(dǎo)航算法技術(shù),大大地提高了機(jī)器人的性能,更好地實(shí)現(xiàn)作業(yè)場合的工作效率。

1 系統(tǒng)總體結(jié)構(gòu)

■1.1 上位機(jī)層

上位機(jī)層有兩部分組成,一部分是ROS系統(tǒng),本文使用的是18.04的版本,另外一部分為處理器與驅(qū)動(dòng)層進(jìn)行數(shù)據(jù)交互的軟件驅(qū)動(dòng)部分。其中,ROS系統(tǒng)是移動(dòng)機(jī)器人的核心,集成了各個(gè)功能模塊,包括實(shí)時(shí)定位、地圖構(gòu)建、運(yùn)動(dòng)規(guī)劃等;而軟件驅(qū)動(dòng)部分則應(yīng)為驅(qū)動(dòng)層的各個(gè)模塊提供相應(yīng)的通訊接口,為底層硬件和上層功能模塊之間建立對(duì)應(yīng)的數(shù)據(jù)傳輸?shù)耐ǖ馈?/p>

■1.2 下位機(jī)層

下位機(jī)層由傳感器和驅(qū)動(dòng)器組成。其中傳感器作為整個(gè)移動(dòng)平臺(tái)系統(tǒng)的信息感知單元,負(fù)責(zé)將機(jī)器人移動(dòng)平臺(tái)的外部工作環(huán)境、系統(tǒng)自身各項(xiàng)數(shù)據(jù)信息收集起來,并以某類電信號(hào)的形式傳輸給驅(qū)動(dòng)控制器、上位機(jī)層,為系統(tǒng)其他部分提供相應(yīng)的環(huán)境數(shù)據(jù)信息。驅(qū)動(dòng)器則主要對(duì)各傳感器采集的數(shù)據(jù)進(jìn)行預(yù)處理,并把處理后的數(shù)據(jù)傳送給上位機(jī)層,避免了上位機(jī)層需要不斷采集傳感器數(shù)據(jù)而耗費(fèi)自身的計(jì)算能力。同時(shí),下位機(jī)層的主要工作是對(duì)上位機(jī)指令進(jìn)行接收,來實(shí)現(xiàn)對(duì)室內(nèi)自主移動(dòng)機(jī)器人的運(yùn)動(dòng)進(jìn)行控制。

總體結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)總體結(jié)構(gòu)

2 硬件設(shè)計(jì)

■2.1 硬件的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

移動(dòng)機(jī)器人硬件設(shè)計(jì)選用包括Jetson Nano、激光雷達(dá)、Arduino Mega 2560板、IMU、降壓模塊、12.6V電池、雙路直流電機(jī)驅(qū)動(dòng)板和編碼器電機(jī)等部件構(gòu)成。整體硬件結(jié)構(gòu)如圖2所示。

圖2 系統(tǒng)硬件結(jié)構(gòu)

根據(jù)功能對(duì)上位機(jī)和下位機(jī)進(jìn)一步劃分,分為了控制系統(tǒng)、傳感系統(tǒng)、執(zhí)行系統(tǒng)、驅(qū)動(dòng)系統(tǒng)四部分。

■2.2 電源模塊設(shè)計(jì)

整個(gè)硬件系統(tǒng)均由同一個(gè)鋰離子電池供電,電池直接向電機(jī)驅(qū)動(dòng)板供電,Arduino控制板、IMU和激光雷達(dá)通過USB線與Jetson Nano連接,實(shí)現(xiàn)硬件之間的通信并且間接給Arduino控制板和激光雷達(dá)供電。電機(jī)在調(diào)速、轉(zhuǎn)彎或剎車的過程造成的電壓波動(dòng)極易超過Arduino控制板承受的電壓的極限,因此在給Jetson Nano供電時(shí)必須先通過降壓模塊把電壓降至5V,以免燒壞Arduino控制板。

連接示意圖如圖3所示。

圖3 電源與各模塊的連接

要想室內(nèi)自主移動(dòng)機(jī)器人能正常穩(wěn)定行駛,電源模塊則是整個(gè)硬件系統(tǒng)的動(dòng)力源泉了。由于每個(gè)硬件系統(tǒng)的電壓需求不一樣,如表1所示,為了滿足各個(gè)硬件系統(tǒng)的用電要求,采用規(guī)格為12V、9000mAh的鋰離子充電電池。

表1 硬件各模塊電壓需求情況表

■2.3 激光雷達(dá)傳感器

此傳感器是通過激光點(diǎn)云對(duì)周圍環(huán)境的掃描來反饋消息到ROS主控機(jī)上,通過處理反饋到下位機(jī)完成相應(yīng)的動(dòng)作。本設(shè)計(jì)采用的是思嵐激光雷達(dá),它有全方位無死角的激光掃描,角分辨率小于等于1°,測量半徑為0.15~12m,通過激光雷達(dá)掃描的信息來識(shí)別周圍是否有障礙等,并且實(shí)現(xiàn)避障和做出主控機(jī)給出的指令的動(dòng)作。

■2.4 電機(jī)驅(qū)動(dòng)模塊

Arduino控制板接收到Jetson Nano傳輸來的指令后向電機(jī)驅(qū)動(dòng)板發(fā)送信號(hào),電機(jī)驅(qū)動(dòng)板可通過Arduino控制板上的PWM端口單獨(dú)控制左右邊電機(jī)的速度。左電機(jī)驅(qū)動(dòng)板的INT1、INT2和ENA1控制左前電機(jī)的正反轉(zhuǎn)和速度,INT3、IN4和ENA2控制左后電機(jī)的正反轉(zhuǎn)和速度,右電機(jī)驅(qū)動(dòng)板的INT1、INT2和ENA1控制右前電機(jī)的正反轉(zhuǎn)和速度,INT3、INT4和ENA2控制右后電機(jī)的正反轉(zhuǎn)和速度。

連接示意圖如圖4所示。

圖4 電機(jī)驅(qū)動(dòng)板與Arduino控制板和電機(jī)的連接

■2.5 電動(dòng)機(jī)編碼電路

電機(jī)編碼器與Arduino控制板連接,可以測量電機(jī)的速度并調(diào)整,還可以通過上位機(jī)的驅(qū)動(dòng)指令速度調(diào)節(jié)可實(shí)現(xiàn)移動(dòng)機(jī)器人在建圖和手動(dòng)模式時(shí)速度的快慢。

Arduino控制板與左右邊四路編碼器的連接如圖5所示。

圖5 Arduino控制板與編碼器的連接

■2.6 整體硬件集成設(shè)計(jì)

下位機(jī)整體硬件的設(shè)計(jì),主要是將編碼器、驅(qū)動(dòng)模塊接口和電源優(yōu)化集成一塊PCB擴(kuò)展板,再將PCB擴(kuò)展板和Arduino Mega2560板連接,通過對(duì)比,集成一塊擴(kuò)展板減少線路接頭的松動(dòng)和裸露;增加了各線路安全性、可靠性和穩(wěn)定性,減少了接線的數(shù)量。

3 系統(tǒng)軟件設(shè)計(jì)

■3.1 軟件系統(tǒng)設(shè)計(jì)

ROS系統(tǒng),是一個(gè)開源的機(jī)器人操作系統(tǒng),它包含了大量的軟件包和庫代碼,擁有一種發(fā)布-訂閱的通信框架,它能把各硬件所要進(jìn)行的工作整合在一起,但是各個(gè)工作是獨(dú)立進(jìn)行的。ROS系統(tǒng)能在Linux上運(yùn)行,它支持多種編程語言,也便于對(duì)程序的修改。

Jetson Nano 是一款功能強(qiáng)大的小型人工智能主控機(jī),內(nèi)置SOC系統(tǒng)級(jí)芯片,搭載了1.43GHz的64位四核處理器,128核GPU,能通過無線WiFi與計(jì)算機(jī)連接。它擁有強(qiáng)大的處理能力和豐富的接口資源,可以運(yùn)行完整的Linux系統(tǒng),移動(dòng)機(jī)器人以Jetson Nano為控制核心,并在其上安裝運(yùn)行了Ubuntu系統(tǒng)和ROS系統(tǒng)[2]。Jetson Nano主要負(fù)責(zé)接收分析激光雷達(dá)掃描傳輸來的信息和處理、給激光雷達(dá)供電和傳輸指令給下位機(jī)Arduino Mega 2560控制板。

軟件系統(tǒng)由環(huán)境感知層和運(yùn)動(dòng)控制層兩部分組成。按照軟件系統(tǒng)的功能要求,軟件設(shè)計(jì)流程如圖6所示。

圖6 軟件設(shè)計(jì)整體流程圖

(1)環(huán)境感知層,由連接在Jetson Nano上的激光雷達(dá)、構(gòu)建地圖、導(dǎo)航的驅(qū)動(dòng)程序三部分組成,主要是用來采集周圍環(huán)境和感知周圍環(huán)境,再由主控機(jī)對(duì)構(gòu)建地圖和導(dǎo)航的算法進(jìn)行分析處理,使底盤作出相應(yīng)的動(dòng)作。

(2)運(yùn)動(dòng)控制層,由ROS底盤、Arduino mega 2560控制板、電機(jī)驅(qū)動(dòng)板和運(yùn)動(dòng)層控制程序組成,主要負(fù)責(zé)接收樹莓傳送來的指令控制小車的行駛,利用左右輪差速來實(shí)現(xiàn)轉(zhuǎn)彎。

■3.2 子模塊程序設(shè)計(jì)

在ROS系統(tǒng)上下載ros_arduino_bridge功能包,這個(gè)ROS功能包集包括了Arduino庫(ROSArduinoBridge)和一系列用來控制基于Arduino的ROS功能包,它使用的是標(biāo)準(zhǔn)的ROS消息和服務(wù)[3]。安裝ros_arduino_bridge庫后配置ros_arduino_python節(jié)點(diǎn),實(shí)現(xiàn)小車底盤的通信搭建。

啟動(dòng)底盤:

啟動(dòng)激光雷達(dá):

啟動(dòng)激光雷達(dá)里程計(jì):

啟動(dòng)建圖功能包:

移動(dòng)機(jī)器人進(jìn)行單點(diǎn)導(dǎo)航,啟動(dòng)以上程序的底盤、激光雷達(dá)、激光雷達(dá)里程計(jì)的功能包:

移動(dòng)機(jī)器人盤進(jìn)行自主導(dǎo)航,首先啟動(dòng)底盤、激光雷達(dá)、激光雷達(dá)里程計(jì)和導(dǎo)航功能的功能包,再啟動(dòng)速度平滑控制程序和多點(diǎn)導(dǎo)航程序。

4 作品測試及結(jié)果分析

將筆記本電腦通過USB線或者無線網(wǎng)絡(luò)連接到Jetson nano上,進(jìn)行ROS系統(tǒng)和所需的功能包下載安裝,并進(jìn)行編程和通信。

測試時(shí),將機(jī)器人放在一個(gè)空地上準(zhǔn)備測試。打開所有功能包,首先,構(gòu)建地圖,觀察構(gòu)建地圖的效果,根據(jù)實(shí)際情況調(diào)整參數(shù),然后保存地圖,加載地圖進(jìn)行單點(diǎn)導(dǎo)航,觀察是否到達(dá)指定地點(diǎn)和方向正不正確,根據(jù)實(shí)際情況調(diào)整參數(shù)。

通過調(diào)試,移動(dòng)機(jī)器人能夠構(gòu)建理想效果地圖和導(dǎo)航,構(gòu)建地圖可視化圖如圖7所示。

圖7 構(gòu)建地圖可視圖

機(jī)器人在行駛過程中環(huán)境和自身狀態(tài)的不確定性,使得機(jī)器人在動(dòng)態(tài)環(huán)境下要進(jìn)行路徑規(guī)劃,并且精準(zhǔn)地到達(dá)目標(biāo)點(diǎn)。機(jī)器人通過機(jī)關(guān)雷達(dá)傳回的數(shù)據(jù)變化經(jīng)算法處理可以得出固定障礙物或移動(dòng)障礙物的距離和機(jī)器人的相對(duì)速度,及時(shí)避開障礙物,從而達(dá)到避障的目的。自主導(dǎo)航圖如圖8所示。

圖8 導(dǎo)航可視化圖

5 結(jié)語

本文設(shè)計(jì)了一種室內(nèi)自主移動(dòng)機(jī)器人,并對(duì)該機(jī)器人的系統(tǒng)硬件結(jié)構(gòu)、系統(tǒng)軟件結(jié)構(gòu)以及主要控制算法進(jìn)行了分析和設(shè)計(jì)。室內(nèi)自主移動(dòng)機(jī)器人以Jetson Nano為核心,將Arduino板、激光雷達(dá)、電機(jī)驅(qū)動(dòng)模塊有機(jī)整合,可以實(shí)現(xiàn)底盤通過激光雷達(dá)采集周圍環(huán)境信息并利用Jetson Nano控制底盤規(guī)劃路線行走,并避障。本設(shè)計(jì)利用ROS系統(tǒng)內(nèi)開源的代碼提高了自主移動(dòng)機(jī)器人研究的效率,使用Arduino開發(fā)環(huán)境獲得了大量的庫文件和簡化了程序代碼,采用模塊化連接簡化了電路。室內(nèi)自主移動(dòng)機(jī)器人主要運(yùn)用ROS向激光雷達(dá)模塊發(fā)送消息,激光雷達(dá)模塊通過SLAM算法進(jìn)行建圖,能實(shí)現(xiàn)自主導(dǎo)航和自主避障等功能。

猜你喜歡
移動(dòng)機(jī)器人系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
移動(dòng)機(jī)器人自主動(dòng)態(tài)避障方法
移動(dòng)機(jī)器人VSLAM和VISLAM技術(shù)綜述
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
基于Twincat的移動(dòng)機(jī)器人制孔系統(tǒng)
室內(nèi)環(huán)境下移動(dòng)機(jī)器人三維視覺SLAM
主站蜘蛛池模板: 国产H片无码不卡在线视频| 亚洲一区第一页| 亚洲妓女综合网995久久| 麻豆国产原创视频在线播放| 国产日韩丝袜一二三区| 小蝌蚪亚洲精品国产| 欧美激情视频二区| 亚洲 欧美 偷自乱 图片| 草逼视频国产| 国产传媒一区二区三区四区五区| 国产高潮视频在线观看| 毛片免费高清免费| www.亚洲国产| 又粗又大又爽又紧免费视频| 黄色免费在线网址| a级毛片在线免费观看| 91免费在线看| 色婷婷成人| 高清无码手机在线观看| 91丝袜乱伦| 在线欧美a| 白浆免费视频国产精品视频| 亚洲中文精品人人永久免费| 色婷婷在线播放| 69av在线| 国产亚洲男人的天堂在线观看| 久久久久久午夜精品| 国产电话自拍伊人| 99久久人妻精品免费二区| 成人国产三级在线播放| 国产第一色| 国产精品综合久久久| 国产激爽大片高清在线观看| 尤物特级无码毛片免费| 国产日韩丝袜一二三区| 91免费国产高清观看| 亚洲高清在线播放| 成年午夜精品久久精品| 999国内精品视频免费| 亚洲男人的天堂网| 天天做天天爱夜夜爽毛片毛片| 亚洲无码高清视频在线观看| 超清无码熟妇人妻AV在线绿巨人 | 国产丰满大乳无码免费播放| 成人在线观看不卡| 亚洲日韩AV无码一区二区三区人 | 亚洲精选高清无码| 亚洲日韩精品欧美中文字幕| 精品国产一区91在线| 亚洲欧洲一区二区三区| 99精品热视频这里只有精品7 | 国产呦视频免费视频在线观看| 国产午夜一级淫片| 波多野结衣第一页| 亚洲乱码在线播放| …亚洲 欧洲 另类 春色| 国产精品夜夜嗨视频免费视频 | 欧美自拍另类欧美综合图区| 免费一级α片在线观看| 午夜视频www| 久久亚洲黄色视频| 免费a在线观看播放| 国产日韩欧美在线视频免费观看| 91青青在线视频| 国产欧美日韩在线一区| 亚洲婷婷丁香| 国产精品成人第一区| 亚洲AⅤ波多系列中文字幕| 国产精品一区二区久久精品无码| 欧美成人看片一区二区三区| 乱人伦中文视频在线观看免费| 国产精品福利导航| 国产午夜精品鲁丝片| 亚洲欧美国产高清va在线播放| 91亚洲影院| 国产欧美精品一区二区| AV不卡在线永久免费观看| 国产乱人伦精品一区二区| 欧洲在线免费视频| 永久免费av网站可以直接看的| 成人午夜精品一级毛片| 欧洲在线免费视频|