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

基于STM32單片機控制的六足輪腿式機器人研究

2018-09-10 05:48:51蔡勝宇儲澤楠
河南科技 2018年26期
關鍵詞:單片機動作

蔡勝宇 儲澤楠

摘 要:本文以矩形輪腿式的六足機器人為試驗機器人,以STM32單片機為主要控制核心,以舵機控制板為輔助板,利用上位機編程來編寫六足機器人的動作組,通過PS2手柄發送命令到單片機,單片機控制舵機板實現相應的動作組,后期采用Arduino控制板通過傳感器對環境變化的檢測實現對動作組的控制,實現六足機器人的自動化移動。

關鍵詞:復合運動;STM32;上位機;PS2;舵機控制板Arduino

中圖分類號:TP242文獻標識碼:A文章編號:1003-5168(2018)26-0010-04

隨著社會的不斷發展和進步,人類涉足的范圍盡管不斷增加,但在人類社會和自然界中還存在一些可能危及我們生命的特殊場合,如深山、發生災難的礦井、救援救助等人類當前尚沒有辦法到達的地方,這些地方的地形具有共同的特點:崎嶇不平和地形不規則。通過以往的試驗可以看出,在比較平坦的路面上,輪式機器人無論在速度和靈活程度上都有絕對的優勢,但在不平坦的路面上,輪式機器人在能量消耗上更加明顯且靈活程度大大降低。相對而言,履帶式機器人在不平坦的地面上更具優勢,但在機動性和平衡性方面存在較大缺陷。與輪式、履帶式移動機器人相比,在崎嶇路面上步行的機器人具有更為優越的性能。

筆者結合六足機器人的優點和輪式移動機器人的優點,設計了輪腿式復合機器人。這種復合式機器人通過輪式與足式的不斷變換,不僅可以在平坦的路面上快速行駛,而且能平穩地通過崎嶇的地面[1,2]。

1 六足機器人的總體結構設計

1.1 六足機器人機械結構的選擇

本項目中需要考慮的主要問題是六足復合式機器人的輪腿結構組合方式。現有的輪腿組合方式主要有3種:輪、腿結合式;輪、腿獨立式;輪即是腿,腿即是輪式。六足機器人的機械結構有很多,大部分以圓周型和矩形為主。

本項目采用矩形機械結構,具體如圖1所示。從圖上可以看出,機器人的輪子和腿相對獨立,分別獨立安裝在機器人的本體上,當腿向某一方向折疊收起時,輪子就與地面接觸,這時機器人就可以做輪式運動;當關節伸展站立時,輪子與地面脫離,這時機器人可進行腿式步行。相對圓周形機械結構,矩形機械結構中六足的平行性恰好滿足了機器人由足變成輪時兩組輪子恰好實現了平行性移動的特點。

圖1 六足機器人機械結構三維圖

1.2 控制板的選擇

控制板是整個六足機器人的核心。控制板多種多樣,有樹莓派、32單片機、51單片機、Arduino控制板等。考慮到整個項目對六足機器人的智能控制和便捷操作、板子面積及功耗等方面的影響,加上32單片機有強大的PWM輸出效率、運行速度快、內存大、強大的工程編程環境、數量比較多的IO口,所以選擇32單片機為主要控制板。

本項目采用STM公司的STM32F103系列的單片機,該系列的單片機高性能、低成本、低功耗,具有144個引腳,給項目提供更多IO的使用,內核采用ARM Cortex?-M3微控制器,1μs的雙12位ADC,4Mb/s的UART,18Mb/s的SPI,18MHz的I/O翻轉速度。

2 六足機器人的步態控制

2.1 六足機器人的三角步態

六足機器人步行行走步態(見圖2)是機器人研究的重要問題,自然界內六足類的動物在行走時,一般六足并不是同時直線前進的,而是像人一樣將三對足分成兩組,相當于人的左右腿,以三角形態結構交替前進。六足動物身體左側的前足、后足及右側的中足為一組,其他的為一組。在行進的過程中,其中一組為支撐組,另一組為運動組,這時重心在支撐組。然后,運動組變為支撐組,支撐組變為運動組,這樣周而復始,就可以實現六足的三角步態行走[3-5]。

[X][A][B][C][Z][F][E][D][A][B][C][D][E][F][步長][Y]

圖2 三角步態示意圖

2.2 舵機控制核心

六足機器人足是由18個舵機組成的關節組合,舵機控制板可以同時控制多個舵機的轉動速度,轉動角度。上位機制作是實現電腦對舵機控制板圖形化編程的重要步驟,其能直接明了地實現對單個舵機及舵機動作組的編程。

2.3 單片機對舵機控制板的控制步態

32單片機對舵機控制板是通過串口的通信控制舵機做出相應的動作或者動作組。單片機和舵機控制板存在通信協議,該協議在波特率為9600的環境下通信,該協議的命令由4部分組成,即幀頭、數據長度、指令、參數。舵機板在連續接收到兩個0X55的情況下,表示開始接收數據,即幀頭。數據長度就是指令和參數占用一個字節的長度。

例如,控制舵機動作組的實現,需要的指令名為CMD _ACTION_GROUP_RUN,可以看出指令值為6,數據長度為5,這里只涉及三個參數,格式和控制舵機命令一樣。參數1:要運行的動作組的編號;參數2:動作組要運行的次數低八位;參數3:動作組要運行的次數高八位。

例如,控制2號動作組:幀頭:0X55 0X55;數據長度0X05;指令值:0X06;參數:0x01 0x02 0x01。

通過通信協議的建立,控制舵機動作組的不單單是舵機控制板,32單片機也可以通過串口通信命令的發送實現對舵機動作及動作的實現。

3 六足機器人的輪腿轉換

3.1 輪腿轉換的形態

由于六足機器人具有多關節的特點,加上我們使用的是矩形機械結構,因此,筆者仿照六輪裝甲車多輪轉向的外形,使六足機器人變形以后呈現出六輪機動車的形態,同時使用六足機器人的多關節可活動性,實現六輪的多轉向性,使機器人更加得靈活。六輪的同時轉向比以往的兩輪轉向或者速度轉向更加便捷,對電機速度的要求降低,且操作起來相對比較簡單。六足機器人的輪式三維圖見圖3。

圖3 六足機器人的輪式三維圖

3.2 單片機對六足機器人足變輪變形的控制

本項目中,筆者采用32單片機控制舵機控制板,采用PS2手柄進行手動控制。通過PS2手柄發送命令給32單片機,然后單片機把指令發送給舵機控制板,舵機控制板接收到發送過來的指令后做出相應的動作組或者動作,完成變形任務。其流程如圖4所示。

PS2由手柄和接收器組成。手柄的接收器由8個接口組成,分別是DIDAT、DO/CMD、NC、GND、ACK、CS/SEL、CLK和VDD。DIDAT和DO/CMD接口是手柄到主機和主機到手柄信號的流向接口,這個信號是一個8BIT的串行數據;CS/SEL是手柄的觸發信號;CLK則是一個時鐘信號,主要用于數據的同步;ACK是一個應答信號。

在CS觸發信號發生時,手柄開始進入通信狀態。數據(1bit)的發送與接收是在單片機時鐘下降時完成的,并且是同時完成的。當控制板想要向手柄發送命令或者讀取命令時,會拉低CS的電平,并發送“0X01”的命令,手柄回復之后,控制板將發送“0X42”的請求數據的命令,之后手柄就會發送“0X5A”命令到單片機,單片機就開始接收數據。表1為PS2通信各個數據位的意義。

表1 PS2通信各個數據位的意義

[順序 DO DI Bit0、Bit1、Bit2、Bit3、Bit4、Bit5、Bit6、Bit7 0 0X01 idle - 1 0X42 ID - 2 Idle OX5A - 3 WW data SELECT、L3、R3、START、UP、RIGHT、DOWN、LEFT 4 YY data L2、R2、L1、R1、△、○、×、□ 5 idle data PSS_RX(0X00=left、0XFF=right) 6 idle data PSS_RY(0X00=up、0XFF=down) 7 idle data PSS_LX(0X00=left、0XFF=right) 8 idle data PSS_LY(0X00=up、0XFF=down) ]

3.3 輪式形態的控制

做項目的電機分類有很多:步進電機、直流電機和直流減速電機。筆者采用的是減速直流電機。相比而言,直流減速電機更容易控制,編程簡單,體積更小,速度控制方面更加準確。控制電機則要用到32單片機中PWM輸出模式,在32單片機中,單片機通過對時鐘的控制與寄存器的控制實現PWM波輸出的控制。簡單來說,PWM的輸出主要靠控制占空比來實現PWM波的輸出,從而控制控制電機的轉動。

輪式形態的控制主要是對舵機的控制,通過對舵機的控制實現直行、后退、轉彎等多種形態。由于六足機器人有18個關節,因此,六足機器人的轉動形態較多。筆者選擇把輪子裝在前后兩組足關節的第二個關節上,這樣輪子既不會阻礙足式移動,又能很好地進行足輪轉換。足輪轉換過后,電機轉動的方向就會發生變化,如圖5和圖6所示。足式機器人及其俯視圖見圖7和圖8。

[電機1][電機2][電機4][電機3]

圖5 直行電機轉動的方向

[電機1][電機2][電機4][電機3]

圖6 后退電機轉動方向

圖7 足式機器人

圖8 俯視圖

4 六足機器人智能自控的實現

4.1 Arduino的應用

Arduino是一款與32單片機相似的控制板,其能通過各種各樣的傳感器來感知環境,通過控制燈光、馬達和其他裝置來反饋、影響環境。本項目中以Arduino控制板為輔助板,安裝各種傳感器,如聲音傳感器、紅外傳感器、超聲波傳感器。在六足機器人6個足的底部安裝紅外傳感器以防止六足機器人墜落,利用超聲波傳感器實現避障功能。同樣,Arduino控制和32單片機控制相同,都是通過串口發送命令給舵機控制板,舵機控制板再做出相應的動作。Arduino命令流程見圖9。

4.2 整體自動化的形成

通過傳感器對環境變化的感應,向Arduino發送數字模擬量,Arduino做出相應的命令控制舵機控制板。這樣一來,各個傳感器的相互配合,Arduino就可以識別復雜環境狀況,使六足機器人做出相應的動作來適應相應的環境,從而使機器人實現智能化。

5 結論

本項目從開始選題到買材料再到制作成品,遇到了許多困難,但在這段時間內,筆者獲益匪淺。從選材料開始,就從各個方面尋找能用到的機器人零件、舵機、舵機控制板、電機等,每樣東西都考慮再三,為后期制作編程節約了較多時間。在設置PS2手柄時,使用手柄發送命令,舵機卻一直收不到相應命令,在不斷調試和編程的情況下,終于實現了相應的功能。

但是,該項目的各個功能還有不足之處,仍需要不斷優化,特別是在利用傳感器實現自動化控制方面,需要進一步深入研究。

參考文獻:

[1]田娜,丁希侖,戴建生.一種新型的變結構輪腿式探測車機構設計與分析[J].機械設計與研究,2004(z1):268-270.

[2]蘇軍,陳學東,田文罡.六足步行機器人全方位的步態研究[J].機械與電子,2004(3):48-52.

[3]馬忠梅,王美剛,孫娟,等.單片機的C語言應用程序設計[M].北京:北京航空航天大學出版社,2013.

[4]李增國.傳感器與檢測技術[M].北京:北京航空航天大學出版社,2009.

[5]BOXALL.動手玩轉Arduino[M].北京:人民郵電出版社,2014.

猜你喜歡
單片機動作
下一個動作
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
動作描寫要具體
畫動作
讓動作“活”起來
動作描寫不可少
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
主站蜘蛛池模板: 天天操天天噜| 成人在线不卡视频| 99这里只有精品6| 亚洲视频四区| 区国产精品搜索视频| 99人体免费视频| 国产精品视频观看裸模| 久久综合色播五月男人的天堂| 色悠久久综合| 亚洲欧美成人影院| 中文字幕日韩久久综合影院| 国产高清不卡| 福利在线免费视频| 精品欧美日韩国产日漫一区不卡| 99ri精品视频在线观看播放| 国产视频 第一页| 欧美a级在线| 日韩天堂网| 美女一区二区在线观看| 99尹人香蕉国产免费天天拍| 四虎免费视频网站| 伊人久久影视| 欧美 亚洲 日韩 国产| 国产一区二区丝袜高跟鞋| h视频在线播放| 亚洲国产欧美自拍| 亚洲视频影院| 国产日产欧美精品| 91精品啪在线观看国产60岁| 久久国产热| 国产成人精彩在线视频50| 国产69囗曝护士吞精在线视频| 欧美在线视频不卡| 国产精品久久久久无码网站| 国产成人高清精品免费5388| 综合色区亚洲熟妇在线| 9丨情侣偷在线精品国产| 国产综合精品一区二区| 亚洲欧美激情小说另类| 五月婷婷亚洲综合| 国产电话自拍伊人| 亚洲va精品中文字幕| 国产成人高清精品免费软件| 97亚洲色综久久精品| 毛片网站在线播放| 国产精品福利在线观看无码卡| 日本91视频| 日韩经典精品无码一区二区| 久久青草精品一区二区三区| 91po国产在线精品免费观看| 成人午夜亚洲影视在线观看| 一级爆乳无码av| 狠狠色丁香婷婷| 国产大片黄在线观看| 不卡无码h在线观看| 天天综合色天天综合网| 2020国产精品视频| AV不卡在线永久免费观看| 91极品美女高潮叫床在线观看| 亚洲人精品亚洲人成在线| 91久久偷偷做嫩草影院| 视频一本大道香蕉久在线播放| 国产区成人精品视频| 激情六月丁香婷婷| 亚洲精品在线91| 国产精品无码AV片在线观看播放| 国产麻豆91网在线看| 99青青青精品视频在线| 亚洲国产精品VA在线看黑人| 亚洲精品福利网站| 久久国产精品77777| 67194在线午夜亚洲| 精品无码国产一区二区三区AV| 亚洲日本www| 免费看美女自慰的网站| 亚洲精品手机在线| 亚洲成人高清无码| 日韩精品一区二区深田咏美| 亚洲精品另类| 精品1区2区3区| 国产嫩草在线观看| 91小视频在线观看|