成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

TFmini與舵機(jī)結(jié)合的機(jī)器人小車避障應(yīng)用方案

raoyi / 1198人閱讀

摘要:舵機(jī)接線小車避障原理小車啟動(dòng)后,小車開始向前運(yùn)動(dòng)。搭載的外部電源過重時(shí),會(huì)影響小車車輪的摩擦力,可能兩個(gè)車輪的轉(zhuǎn)速不一致,導(dǎo)致小車并不能按照軌跡行駛。小車車輪在光滑地面有可能造成空轉(zhuǎn)的現(xiàn)象,導(dǎo)致小車不能走直線。

1.試驗(yàn)設(shè)備及接線
1.1實(shí)驗(yàn)設(shè)備
? MiniQ 桌面機(jī)器人底盤

底盤直徑:122mm

輪子直徑:42mm

底盤高度:15mm

兼容 Arduino 標(biāo)準(zhǔn)板及 Romeo 控制器固定孔

電機(jī)參數(shù):

? N20 電機(jī)電壓:3-9V
? 無負(fù)載轉(zhuǎn)速:13000rpm
? 50:1 減速箱
? 260rpm@6V
? 40mA@6V
? 360mA 堵轉(zhuǎn)@6V
? 10 盎司英寸扭矩@6V

? Romeo 三合一 Arduino 兼容控制器

采用 Atmel Atmega328 單片機(jī)

Arduino UNO bootloader

完全兼容 Aruduino UNO 的端口布局

集成 APC220 無線數(shù)傳和 DF-BluetoothV3(SKU:TEL0026)藍(lán)牙模塊接口

支持 5 組 I2C 總線接口

支持兩路電機(jī)驅(qū)動(dòng),峰值電流 2A,4 個(gè)控制口使用跳線切換

外部輸入電壓范圍:6V~20V

更詳細(xì)的參數(shù)介紹詳見附錄的網(wǎng)頁地址。

? MiniQ 小車上層安裝板

? Benewake TFmini 標(biāo)版

TFmini 詳細(xì)參數(shù)見 TFmini 使用說明。

? 9g 舵機(jī)

1.2接線

2.小車避障原理
小車啟動(dòng)后,小車開始向前運(yùn)動(dòng)。當(dāng)雷達(dá)探測到前方閾值內(nèi)有障礙物時(shí),小車停止運(yùn)動(dòng),開始左右掃描尋路。舵機(jī)搭載 TFmini 從 90°開始向 180°掃描,然后從 180°向 0°掃描。

當(dāng)掃描方向無障礙物時(shí),小車向此方向轉(zhuǎn)向,舵機(jī)回正到 90°。若從左至右掃描一圈都沒有可以行進(jìn)的路線,則小車后退,舵機(jī)回正。
邏輯流程圖如下所示:

3.注意事項(xiàng)
? 當(dāng)前避障原理模型只用來拋磚引玉,探索用 TFmini 避障的可行性,并不能大范圍的適用于大規(guī)模的商業(yè)場景,如有需要,應(yīng)以專業(yè)軟件開發(fā)人員的代碼為準(zhǔn)。
? 搭載的外部電源過重時(shí),會(huì)影響小車車輪的摩擦力,可能兩個(gè)車輪的轉(zhuǎn)速不一致,導(dǎo)致小車并不能按照軌跡行駛。
? 小車車輪在光滑地面有可能造成空轉(zhuǎn)的現(xiàn)象,導(dǎo)致小車不能走直線。
? 如果多帶帶對(duì) TFmini 外部供電,則需將外部電源和控制板共地處理。
? 如果搭載更高復(fù)雜度的程序,要考慮芯片的能力,當(dāng)前開發(fā)板在跑程序時(shí)已經(jīng)發(fā)現(xiàn)會(huì)有卡頓的現(xiàn)象。
4.附錄
4.1代碼

include

Servo myservo;
int pos=90; //定義舵機(jī)角度
bool flag=true;//定義舵機(jī)轉(zhuǎn)向
float dist_f;//定義 foward 方向距離
float dist_s;//定義 sideway 方向距離
int E1=5; //定義 M1 使能
int E2=6; //定義 M2 使能
int M1=4; //定義 M1 控制
int M2=7; //定義 M2 控制
int temp_distance =0;
/**

雙輪停止

*/
void brake(void){
digitalWrite(E1,LOW); //給 E1 低電平
digitalWrite(E2,LOW); //給 E2 低電平
}
/**

雙輪前進(jìn)

*/
void advance(char a, char b){
analogWrite(E1,a);
digitalWrite(M1,LOW);
analogWrite(E2,b);
digitalWrite(M2,LOW);
}
/**

雙輪后退

*/
void back(char a, char b){
analogWrite(E1,a);
digitalWrite(M1,HIGH);
analogWrite(E2,b);
digitalWrite(M2,HIGH);
}
/**

左轉(zhuǎn)

*/
void turn_L(char a, char b){
analogWrite(E1,a);
digitalWrite(M1,LOW);
analogWrite(E2,b);
digitalWrite(M2,HIGH);
}
/**

右轉(zhuǎn)

*/
void turn_R(char a, char b){
analogWrite(E1,a);
digitalWrite(M1,HIGH);
analogWrite(E2,b);
digitalWrite(M2,LOW);
}
/**

讀取 TFmini 測量結(jié)果

*/
void getTFminiData(int distance, int strength) {
static char i = 0;
char j = 0;
int checksum = 0;
static int rx[9];
if(Serial.available()) {
rx = Serial.read();
if(rx[0] != 0x59) {
i = 0;
} else if(i == 1 && rx[1] != 0x59) {
i = 0;
} else if(i == 8) {
for(j = 0; j < 8; j++) {
checksum += rx[j];
}
/*
if(rx[8] == (checksum % 256)) {
distance = rx[2] + rx[3] 256;
strength = rx[4] + rx[5] 256;
}*/
distance = rx[2] + rx[3] 256;
strength = rx[4] + rx[5] 256;
i = 0;
} else {
i++;
}
}
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
//舵機(jī)的插口在 4
myservo.attach(4);
brake();
/*

將雷達(dá)指向前方

*/
myservo.write(pos);
/*

設(shè)置輪胎電機(jī)輸出口

*/
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
delay(10);
}
void loop() {
/*

讀數(shù)一次

*/
int distance = 0;
int strength = 0;
getTFminiData(&distance, &strength);
while(!distance) {
getTFminiData(&distance, &strength);
Serial.print("Distance: ");
Serial.print(distance);
Serial.print("cm ");
Serial.print("strength: ");
Serial.println(strength);
}
/*

設(shè)置 30CM 閾值

*/
if(distance <= 30 && distance > 0){
temp_distance = distance;
}
delay(10);
/*

判斷讀數(shù)距離

如果度數(shù)距離小于閾值,則停車,開始向左向右掃描,直到掃描出有空隙可以走,然后車輪轉(zhuǎn)彎,然后掃描器回正

如果讀數(shù)距離大于閾值,則開車

*/
if(temp_distance <= 30 && temp_distance >= 0){
brake();
/*

判斷當(dāng)前舵機(jī)應(yīng)該向左還是向右轉(zhuǎn)

*/
if(flag){
if(pos<170){
pos=pos+45;
}else{
flag = false;
}
/*

如果探測距離大于閾值,則舵機(jī)回正,小車轉(zhuǎn)向

*/
if(distance > 32){
pos = 90;
myservo.write(pos);
delay(1200);
//判斷小車回正方向
if(pos >= 90){
turn_L(35,35);
}else{
turn_R(35,35);
}
delay(250);
temp_distance = distance;
}
/*

如果探測距離小于閾值,則繼續(xù)掃描

*/
else{
myservo.write(pos);
delay(1200);
}
}else{
if(pos>10){
pos=pos-45;
}else{
flag=true;
}
/*

如果探測距離大于閾值,則舵機(jī)回正,小車轉(zhuǎn)向

*/
if(distance > 32){
pos = 90;
myservo.write(pos);
delay(1200);
//判斷小車回正方向
if(pos >= 90){
turn_L(35,35);
}else{
turn_R(35,35);
}
delay(250);
temp_distance = distance;
}
/*

如果探測距離小于閾值,則繼續(xù)掃描

*/
else{
myservo.write(pos);
delay(1200);
}
}
}
/*

如果前方?jīng)]有障礙物,直行

*/
else if(distance > 32 && distance < 1200){
advance(35,35);
}
/*

如果雷達(dá)掛了,小車停止

*/
else if(distance == -3){
brake();
}
}
如您認(rèn)可上述經(jīng)驗(yàn),歡迎您的聯(lián)系:
010-57456983
www.benewake.com
北醒(北京)光子科技有限公司
北醒激光雷達(dá)
電話:010-5745 6983
郵箱:[email protected]
官方微信公眾號(hào):benewake-bj
或搜索淘寶:北醒光子科技有限公司https://shop155404578.taobao....

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/105679.html

相關(guān)文章

  • 樹莓派31/100 - Pico連接HC-SR04超聲波傳感器,為自動(dòng)避障智能小車打好基礎(chǔ)

    摘要:超聲波傳感器,英文,既可以發(fā)射超聲波,也可以接收超聲波,它有一個(gè)重要作用,可以提前探測到附近的物體,而且通過聲波速度,能夠推算出附近物體離傳感器的大概距離。 超聲波...

    neuSnail 評(píng)論0 收藏0
  • 基于STM32f103c8t6和L292N驅(qū)動(dòng)設(shè)計(jì)避障小車(核心函數(shù)建立為自己所寫)

    基于STM32f103c8t6和L292N驅(qū)動(dòng)設(shè)計(jì)避障小車(核心函數(shù)的建立為自己所寫) 一.項(xiàng)目感觸 完成這個(gè)項(xiàng)目自己一開始也是無法從本身上出發(fā),看著這個(gè)最小系統(tǒng)板和這個(gè)電機(jī)驅(qū)動(dòng)模塊上面想著怎樣實(shí)現(xiàn)讓這兩塊板子實(shí)現(xiàn)四個(gè)電機(jī)上面轉(zhuǎn)動(dòng)呢,還要加入避障模塊,自己一開始一頭霧水,于是開始了漫長的借鑒之路,首先作為一個(gè)開發(fā)者,我覺得學(xué)習(xí)的地方首選是B站,所以我找了相關(guān)的做智能小車的視頻 首先是B站智能小車教...

    CoffeX 評(píng)論0 收藏0
  • 四足機(jī)器狗——12自由度舵機(jī)狗DIY(一)

    摘要:四足仿生機(jī)器人具有高機(jī)動(dòng)性,負(fù)載能力和適應(yīng)能力強(qiáng),可運(yùn)用于物資運(yùn)輸搶險(xiǎn)救援等方面,具有廣闊前景。由于制作電機(jī)狗需要高昂的成本。自主設(shè)計(jì)制造一款舵機(jī)狗來學(xué)習(xí)研究四足機(jī)器狗的步態(tài)算法是一件性價(jià)比極高且很有意義的一件事。 文章目錄 前言 一、初步了解四足結(jié)構(gòu) 1.1.2串聯(lián)機(jī)構(gòu) 1.2?...

    不知名網(wǎng)友 評(píng)論0 收藏0
  • 樹莓派視覺小車 -- 小球追蹤(顏色追蹤)(OpenCV色彩空間HSV)

    摘要:一般調(diào)高飽和度會(huì)降低中相對(duì)較低的數(shù)值,凸顯主要顏色的純度。對(duì)當(dāng)前唯一的方法霍夫梯度法,它表示在檢測階段圓心的累加器閾值。第八個(gè)參數(shù),類型的有默認(rèn)值,表示圓半徑的最小值。 目錄 效果展示? 基礎(chǔ)理論(HSV) 為什么用HSV空間而不是RGB空間? HSV 1、Hue(色相) 2、Value(明...

    developerworks 評(píng)論0 收藏0
  • TFmini-Plus 實(shí)現(xiàn)人流、身高測量方案

    摘要:人流身高測量儀說明本方案為利用北醒公司產(chǎn)品和板結(jié)合開發(fā)出的小設(shè)備。其作用為統(tǒng)計(jì)人流數(shù)量以及相應(yīng)目標(biāo)身高高度。人流身高測量原理雷達(dá)啟動(dòng)后,設(shè)置安裝高度身高限度下限值??紤]人行走時(shí)身高會(huì)浮動(dòng),盡量讓腳落在光斑左右,探測到最高值,減小誤差。 人流身高測量儀說明 本方案為利用北醒公司產(chǎn)品 TFmini-Plus 和 Arduino-UNO 板結(jié)合開發(fā)出的小設(shè)備。其作用為:統(tǒng)計(jì)人流數(shù)量以及相應(yīng)目...

    xbynet 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<