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

基于Arduino的視覺四足步行機器人的研究

2016-12-31 00:00:00王睿
科技創新與應用 2016年10期

摘 要:使用Arduino板控制舵機旋轉角度進而控制機器人的行走是四足步行機器人研究的一個重要方法。文章通過重點研究Arduino的編程程序實現Arduino板、舵機和視覺模塊的聯動,從而控制視覺機器人的工作。

關鍵詞:Arduino;視覺步行機器人;舵機;Pixy

引言

Arduino是一款便捷靈活、方便上手的開源電子原型平臺,包含硬件(各種型號的Arduino板)和軟件(Arduino IDE)。它具有跨平臺性、簡單清晰、開放性等優點,且近年來發展迅速,成為全球最流行的開源硬件,因此將其作為視覺步行機器人的控制模塊具有很高的可操作性。

1 Arduino的軟件--Arduino IDE

Arduino IDE是Arduino的編程軟件,基于processing IDE開發,具有很高的靈活性,且Arduino語言基于wiring語言開發,是對 AVRGCC庫的二次封裝,它可以在Windows、Macintosh OS X、Linux三大主流操作系統上運行,而其他的大多數控制器只能在Windows上開發,對于編程者來說極其便利。

2 Arduino控制舵機角度

舵機是一種位置伺服的驅動器,其工作原理是由接收機或者單片機發出信號給舵機,其內部有一個基準電路,產生周期為20ms,寬度為1.5ms的基準信號,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。一般舵機旋轉的角度范圍是0°到180°度。

正是由于舵機轉動的角度是通過調節PMW(脈沖寬度調制)信號的占空比來實現的,所以可以通過硬件上將Arduino板與舵機接線,軟件上向Arduino嵌入控制程序來控制舵機旋轉角度。

下面是一個簡單的Arduino舵機角度控制程序:

#include

Servo myservo;

int pos = 0;

void setup()

{

myservo.attach(9);

}

void loop()

{

for(pos = 0; pos < 180; pos += 1)

{

myservo.write(pos);

delay(15);

}

}

此程序可以實現舵機0到180度的轉動,且每個角度之間相隔15ms。

通過Arduino控制舵機轉動的控制程序簡單,且角度轉動的精確度較高,對于小型四足步行機器人的行走要求很符合。

3 Arduino控制視覺模塊

視覺模塊我們使用Pixy CMUcam5 圖像識別傳感器。Pixy是一個開源的圖像識別傳感器,支持多物體,多色彩的顏色識別,最高支持識別7種顏色。你可以告訴它你想要的顏色,它就會去尋找所需顏色。Pixy支持多種通信方式,如SPI,I2C等,可以直插在Arduino控制板上面。它搭載的圖像傳感器配合強大的硬件,可以配合PC跟蹤、分析多色的數據。

之所以選擇Pixy這種視覺模塊,不僅因為它與Arduino控制板聯接簡單,功能強大,還因為它非常符合四足步行機器人的要求。它采用以顏色為中心的辦法——使該產品只是將特定顏色的物體的視覺數據發送給相互配合的微型控制器,而不是輸出所有視覺數據以進行圖像處理。所以Arduino板很容易跟它交流,并騰出許多CPU來執行其他事件。這一點對我們的四足機器人至關重要,因為對于四足機器人來說,其步態、行走方式等影響極大。

硬件上Arduino與Pixy的聯接非常簡單,Pixy可以直接與Arduino進行通訊。它會以1Mbits/s的速度發送塊信息給Arduino,這意味著Pixy每秒可以發送超過6000個識別的物體或每幀135個被識別的物體(Pixy每秒可以處理50幀畫面)。想讓Pixy與Arduino進行通訊,只需使用Pixy自帶的數據線連接Pixy到Arduino。軟件上我們通過向Arduino嵌入控制程序來實現與Pixy的聯接。

4 Arduino與視覺模塊、舵機的聯接

硬件上分別將舵機、Pixy與Arduino進行聯接,注意信號線、電源線與接地線的正確連接,這對整個系統的安全至關重要。

軟件上通過一個嵌套的控制程序實現三者的互相聯系。首先Pixy會對被識別物體的大小、形狀進行分析,且對初始位置時物體的中心點編為坐標原點,當被識別物體開始運動時,Pixy會將物體大小和方位的變化信息傳遞給Arduino,Arduino再控制舵機旋轉相應角度,從而實現機器人前后左右的行走。

下面是判斷物體大小方位變化的程序:

if(pixy.blocks[0].x<200pixy.blocks[0].x>100)

{

if(pixy.blocks[0].width * pixy.blocks[0].height<10000)

advance();

else

back();

}

if(pixy.blocks[0].x>200)

right();

if(pixy.blocks[0].x<100)

left();

上面程序中advance()、back()、right()、left()是子函數,控制機器人的行走方向。

下面是advance()函數的程序:

void advance() //前進

{

Serial.println(\"advance\");

for(int j=0;j<16;j++)

{for(int i=0;i<8;i++)

{tst_srv[i].write(adv_srv_pos[i][j]);}

delay(50);}

Serial.println(\"adv end\");

}

經過實驗測試,Arduino完全能承擔控制核心的作用,實現與視覺模塊和舵機的聯動,從而實現視覺四足步行機器人的追蹤功能。

參考文獻

[1][美]Michael McRoberts.Arduino從基礎到實踐[M].電子工業出版

社.

[2]譚鋒.四足機器人視覺系統研究與實現[D].同濟大學.

[3]趙建領,薛園園.51單片機開發與應用技術詳解[M].電子工業出版社.

主站蜘蛛池模板: 国产精品污污在线观看网站 | yjizz视频最新网站在线| 三级毛片在线播放| 成人福利在线免费观看| 爆操波多野结衣| 一级毛片免费不卡在线 | 色综合a怡红院怡红院首页| 日韩成人在线一区二区| 亚洲日韩精品欧美中文字幕| 日本91在线| 国产二级毛片| 亚洲色图欧美一区| 国产呦视频免费视频在线观看| 五月激情婷婷综合| 中字无码av在线电影| 美女免费黄网站| 成人中文在线| 精品91在线| 亚洲自偷自拍另类小说| 欧美日韩亚洲国产主播第一区| 91精品啪在线观看国产| 亚洲欧美色中文字幕| 国内丰满少妇猛烈精品播| 日本不卡在线播放| 久久精品无码一区二区国产区 | 国产精品欧美在线观看| 99尹人香蕉国产免费天天拍| 噜噜噜久久| 91精品国产情侣高潮露脸| 国产一区成人| 国产哺乳奶水91在线播放| 欧美无专区| 欧美性精品| 99热最新网址| 一边摸一边做爽的视频17国产 | 国产成人精品一区二区秒拍1o| 在线免费亚洲无码视频| 国产在线一区二区视频| 国产精品视频系列专区| 国产色婷婷视频在线观看| 日本少妇又色又爽又高潮| 玖玖精品视频在线观看| 在线观看91香蕉国产免费| 亚洲经典在线中文字幕| 亚洲浓毛av| 亚洲国产综合精品中文第一| 欧美激情伊人| 黄色网址免费在线| 日本午夜精品一本在线观看 | 青青久视频| 香蕉视频在线观看www| 日本亚洲欧美在线| 国产靠逼视频| 强奷白丝美女在线观看| 国产一二三区在线| 亚洲欧洲日韩国产综合在线二区| 国产自无码视频在线观看| 伊大人香蕉久久网欧美| 在线免费无码视频| 国产99视频免费精品是看6| 精品国产黑色丝袜高跟鞋| 日韩东京热无码人妻| 国产超碰在线观看| 日韩精品无码免费专网站| 一本色道久久88亚洲综合| 午夜在线不卡| 青草91视频免费观看| 国产精品99一区不卡| 国产精品美人久久久久久AV| 香蕉视频国产精品人| 亚洲无码熟妇人妻AV在线| 日韩国产黄色网站| 亚洲人成成无码网WWW| 亚洲浓毛av| 国产成人综合亚洲网址| 免费看av在线网站网址| 又黄又湿又爽的视频| 91精品啪在线观看国产| 黄色网站不卡无码| 日本人妻丰满熟妇区| 日本不卡免费高清视频| 日韩 欧美 国产 精品 综合|