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].電子工業出版社.

主站蜘蛛池模板: 国产真实乱人视频| 欧美a级在线| 高清久久精品亚洲日韩Av| 欧美色综合网站| 国产乱子伦精品视频| 成年人国产网站| 久久精品无码中文字幕| 国产在线第二页| 亚洲视频无码| 激情综合图区| 国产激情影院| 亚洲精品无码抽插日韩| 欧美性爱精品一区二区三区| 国产欧美性爱网| 无码中文字幕精品推荐| 高清免费毛片| 免费网站成人亚洲| 亚洲三级a| 色哟哟国产成人精品| 中文字幕色站| 香蕉久久永久视频| 热久久这里是精品6免费观看| 日本一区高清| 五月丁香伊人啪啪手机免费观看| 萌白酱国产一区二区| 成人免费视频一区| 亚洲无线视频| 国产av色站网站| 免费人欧美成又黄又爽的视频| a级免费视频| 欧美精品不卡| 97se亚洲综合在线天天| 国产精品页| 91九色最新地址| 国产欧美高清| 亚洲精品你懂的| AV无码无在线观看免费| 免费无遮挡AV| 99热这里只有精品5| 欧美高清国产| 国产精品xxx| 91小视频在线观看免费版高清| 日本黄色a视频| 亚洲国产在一区二区三区| 免费又爽又刺激高潮网址| 色综合色国产热无码一| 久久成人国产精品免费软件| 一级一级一片免费| 精品一区二区三区波多野结衣 | 国产www网站| 夜夜拍夜夜爽| 精品视频第一页| 67194成是人免费无码| 亚洲综合专区| a级毛片免费在线观看| 亚洲欧美另类中文字幕| 国产菊爆视频在线观看| 福利小视频在线播放| 色偷偷一区二区三区| 日韩美一区二区| 亚洲高清国产拍精品26u| 亚洲精品在线观看91| 2019年国产精品自拍不卡| 久久狠狠色噜噜狠狠狠狠97视色 | 国产簧片免费在线播放| 日韩视频免费| 欧美中文一区| 色婷婷在线影院| 国产第二十一页| 国产麻豆精品久久一二三| 国产高清不卡| 一本久道热中字伊人| 四虎影视8848永久精品| 91啪在线| 亚洲一区免费看| 久久亚洲美女精品国产精品| 免费观看国产小粉嫩喷水| 国产91小视频在线观看| 久久精品66| 手机精品福利在线观看| 国产精品分类视频分类一区| 国产极品美女在线观看|