色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

怎樣用Tactigon通過BLE控制Arduino驅動的機器人

454398 ? 來源:工程師吳畏 ? 2019-08-01 09:52 ? 次閱讀

我們需要什么

配置了Arduino IDE的Tactigon

機器人。我們使用帶有Arduino板的2輪機器人和與UART接口的BLE無線電。其他類型的機器人或定制機器人也可以正常工作。

機器人BLE MAC地址和特征

趣味

收集BLE MAC地址和特征

配置好環境并且我們的電路板開啟后,我們需要收集BLE MAC地址和特征。為此,我們使用了一個名為BLE Scanner的免費Android應用程序。

應用程序顯示后幾秒鐘機器人的BLE:

如我們所見,我們周圍的所有BLE設備都在本節中展示。我們需要記下Waveshare_BLE MAC地址:在這個例子中它是:00:0E:0B:0C:4A:00

通過點擊CONNECT按鈕,我們可以訪問設備的信息作為屬性,服務和自定義特征。

這里我們需要寫下CUSTOM CHARACTERISTIC UUID,在這種情況下:0000ffe1-0000 -1000-8000-00805f9b34fb。

通過這些項目,我們可以將Tactigon BLE設置為代碼的setup()部分中的BLE Central。

Tactigon Sketch

循環

在本節中,我們有草圖的核心。在頻率為50Hz時,我們更新四元數和歐拉角。

由Tactigon庫提供的Analizyng俯仰角,我們可以通過減速來確定轉向半徑內輪和加速外輪。

Analizying roll,我們可以確定機器人的行進速度。

使用sprintf我們準備緩沖區以寫入特征。

機器人草圖

由于我們的藍牙通過UART發送接收數據,因此我們可以直接在串行緩沖器中獲得輪速。

我們將機器人引腳設置如下,全部作為輸出:

要解析命令,我們首先讀取所有串行緩沖區并驗證它是否長于0:

如果命令包含“Wh”,我們可以解析字符串并收集leftSpeed和rightSpeed。

direct_motor函數將Tactigon傳輸的速度分配給機器人的每個車輪。通過這樣做Tactigon將充當虛擬方向盤!

最終注意事項

此草圖顯示了Tactigon的潛在應用,BLE Central模式可以連接到現有的BLE設備并收集信息或控制它們。

請繼續關注更多Tactigon的代碼!

Alphabot2代碼

Tactigon代碼

#include

#include

#include

extern int ButtonPressed;

T_Led rLed, bLed, gLed;

T_QUAT qMeter;

T_QData qData;

T_BLE bleManager;

UUID targetUUID;

uint8_t targetMAC[6] = {0x00,0x0e,0x0b,0x0c,0x4a,0x00};

T_BLE_Characteristic accChar, gyroChar, magChar, qChar;

int ticks, ticksLed, stp, cnt, printCnt;

float roll, pitch, yaw;

void setup() {

// put your setup code here, to run once:

ticks = 0;

ticksLed = 0;

stp = 0;

cnt = 0;

//init leds

rLed.init(T_Led::RED);

gLed.init(T_Led::GREEN);

bLed.init(T_Led::BLUE);

rLed.off();

gLed.off();

bLed.off();

//init BLE

bleManager.setName(“Tactigon”);

bleManager.InitRole(TACTIGON_BLE_CENTRAL); //role: CENTRAL

targetUUID.set(“0000ffe1-0000-1000-8000-00805f9b34fb”); //target characteristic

bleManager.setTarget(targetMAC, targetUUID); //target: mac device and its char UUID

}

void loop() {

char buffData[24];

int deltaWheel, speedWheel;

int pitchThreshold, rollThreshold, th1, th2;

//update BLE characteristics @ 50Hz (20msec)

if(GetCurrentMilli() 》= (ticks +(1000 / 50)))

{

ticks = GetCurrentMilli();

//get quaternions and Euler angles

qData = qMeter.getQs();

//Euler angles: rad/sec --》 degrees/sec

roll = qData.roll * 360/6.28;

pitch = qData.pitch * 360/6.28;

yaw = qData.yaw * 360/6.28;

//build command to rover depending on Euler angles

//left/right

pitchThreshold = 15;

if(pitch 《 -pitchThreshold || pitch 》 pitchThreshold)

{

if(pitch《-pitchThreshold)

{

deltaWheel =- (fabs(pitch) - pitchThreshold)*3;

}

else

{

deltaWheel =+ (fabs(pitch) - pitchThreshold)*3;

}

}

else

{

deltaWheel=0;

}

//forward/backword

rollThreshold = 15;

th1 = 90 + rollThreshold;

th2 = 90 - rollThreshold;

roll = fabs(roll);

if(roll 》 th1)

{

speedWheel = (roll - th1) * 3;

}

else if(roll 《 th2)

{

speedWheel = (roll - th2) * 3;

}

else

{

speedWheel = 0;

}

//command in buffData

sprintf(buffData,“Wh(%d)(%d)”, speedWheel-(-deltaWheel/2), speedWheel+(-deltaWheel/2));

//if connected and attached to peripheral characteristic write in it

if(bleManager.getStatus() == 3)

{

//signal that connection is on

bLed.on();

//send command every 100msec

rLed.off();

cnt++;

if(cnt 》 5)

{

cnt = 0;

bleManager.writeToPeripheral((unsigned char *)buffData, strlen(buffData));

rLed.on();

}

}

//say hello on serial monitor every second and blink green led

printCnt++;

rLed.off();

if(printCnt 》 50)

{

//Serial.println(“Hello!”);

//Serial.println(roll);

printCnt = 0;

rLed.on();

}

}

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器人
    +關注

    關注

    211

    文章

    28632

    瀏覽量

    208033
  • BLE
    BLE
    +關注

    關注

    12

    文章

    670

    瀏覽量

    59512
  • Arduino
    +關注

    關注

    188

    文章

    6477

    瀏覽量

    187626
收藏 人收藏

    評論

    相關推薦

    【「具身智能機器人系統」閱讀體驗】2.具身智能機器人的基礎模塊

    具身智能機器人的基礎模塊,這個是本書的第二部分內容,主要分為四個部分:機器人計算系統,自主機器人的感知系統,自主機器人的定位系統,自主機器人
    發表于 01-04 19:22

    【「具身智能機器人系統」閱讀體驗】2.具身智能機器人大模型

    。 多模態融合的創新與突破 機器人控制技術的另一個重要突破在于多模態大模型的應用。相比于僅通過文字進行人機交互的傳統方法,現代機器人能夠融合視覺、聲音、定位等多模態輸入信息,為任務執行
    發表于 12-29 23:04

    【「具身智能機器人系統」閱讀體驗】1.初步理解具身智能

    與未來,涵蓋如基于行為的人工智能、生物啟發的進化人工智能及認知機器人技術的發展。這一歷史背景為隨后的大模型驅動的具身智能討論奠定了基礎,隨著人工智能模型復雜性和能力的不斷提升,這一主題也變得愈加
    發表于 12-28 21:12

    【開源項目】你準備好DIY一款功能強大的機器人了嗎?

    以及3D打印機械部件。通過運動控制、藍牙連接和可定制的眼部表情,讓這款機器人活靈活現。 所需材料 電子元件: Atmega328p微控制器(SMD VQFN版本)、L293電機
    發表于 11-08 10:53

    構建語音控制機器人 - 線性模型和機器學習

    2024-07-31 |Annabel Ng 在該項目的[上一篇博客文章]中,我介紹了運行機器人電機、處理音頻信號和調節電壓所需的電路的基礎知識。然而,機器人還沒有完全完成!盡管機器人可以正確移動
    的頭像 發表于 10-02 16:31 ?254次閱讀
    構建語音<b class='flag-5'>控制</b><b class='flag-5'>機器人</b> - 線性模型和<b class='flag-5'>機器</b>學習

    伺服控制機器人控制方式有哪些

    伺服控制機器人是一種高度精確的自動化設備,它能夠執行復雜的任務,如精確定位、重復運動和力控制。伺服控制系統是機器人技術中的核心部分,它負責接
    的頭像 發表于 09-04 09:16 ?558次閱讀

    開源項目!ESP32做一個可愛的無用機器人

    簡介 作者在完成碩士論文答辯后,利用空閑時間制作了一個他一直想做的機器人——可愛無用機器人。 無用機器人原理是一個連接到開關的電機,通過邏輯門
    發表于 09-03 09:34

    開源項目!ESP32做一個可愛的無用機器人

    簡介 作者在完成碩士論文答辯后,利用空閑時間制作了一個他一直想做的機器人——可愛無用機器人。 無用機器人原理是一個連接到開關的電機,通過邏輯門
    發表于 08-30 14:50

    Al大模型機器人

    豐富的知識儲備。它們可以涵蓋各種領域的知識,并能夠回答相關問題。靈活性與通用性: AI大模型機器人具有很強的靈活性和通用性,能夠處理各種類型的任務和問題。持續學習和改進: 這些模型可以通過持續的訓練
    發表于 07-05 08:52

    如何使用PLC控制機器人

    隨著工業自動化技術的飛速發展,機器人技術作為其中的重要組成部分,其應用范圍日益廣泛。在機器人控制系統中,PLC(Programmable Logic Controller,可編程邏輯控制
    的頭像 發表于 06-17 10:50 ?1926次閱讀

    機器人控制系統的基本單元有哪些

    的自主控制機器人控制系統的基本單元包括傳感器、執行器、控制器、驅動器和通信接口等,這些單元相互協作,共同完成
    的頭像 發表于 06-16 15:36 ?1728次閱讀

    工業機器人控制系統的基本組成有哪些

    機器人關節的角度位置。 速度傳感器 :測量機器人關節的旋轉速度。 力/力矩傳感器 :檢測機器人末端執行器與環境的交互力。 視覺傳感器 :提供機器人對環境的視覺感知能力。 執行器系統 :
    的頭像 發表于 06-16 15:26 ?2093次閱讀

    基于FPGA EtherCAT的六自由度機器人視覺伺服控制設計

    ,在 PS層運行 蘇姆的裸機程序, 并將六自由度串聯機器人逆解算法移植到主站代碼里,進行機器人末端位置對于視覺反饋的實時跟隨控制。 (4)通過實驗驗證了本設計的對物塊識別的準確性和實
    發表于 05-29 16:17

    基于飛凌嵌入式RK3568J核心板的工業機器人控制器應用方案

    控制系統當中。那么今天,我們就通過多軸工業機器人來聊聊機器人控制系統以及控制器的實現。 1
    發表于 05-11 09:40

    怎樣用精益思維推動智能機器人的發展?

    提供了全新的視角和動力。本文,天行健咨詢將分享如何用精益思維推動智能機器人的發展,以期為相關領域的從業者提供有益的啟示。 一、精益思維與智能機器人的結合 精益思維起源于制造業,強調以客戶需求為導向,通過消除
    的頭像 發表于 02-19 09:48 ?380次閱讀
    主站蜘蛛池模板: 久久精品国产色蜜蜜麻豆国语版 | 青青草原国产在线 | 国语大学生自产拍在线观看 | 亚洲qvod图片区电影 | 黑人巨摘花破女处 | 久久伊人天堂视频网 | 无套内射无矿码免费看黄 | 日本高清免费一本在线观看 | 国产亚洲精品久久综合阿香蕉 | 在线播放真实国产乱子伦 | 色怕怕 | 国产树林野战在线播放 | 九九热精品在线观看 | 国产 在线 亚洲 欧美 动漫 | 毛片无码免费无码播放 | 亚洲黄色片免费看 | 国产不卡免费 | 俄罗斯freeⅹ性欧美 | 亚洲精品国产品国语在线试看 | 亚洲国产剧情中文视频在线 | 4455永久在线毛片观看 | 乱码午夜-极品国产内射 | 无码AV精品一区二区三区 | 色多多污污在线播放免费 | 国产精品日本不卡一区二区 | 男女爽爽无遮挡午夜视频在线观看 | 欧美日韩中文国产一区发布 | 暖暖的视频完整视频免费韩国 | 十分钟在线观看免费视频高清WWW | 亚洲精品久久久久无码AV片软件 | 国产AV亚洲一区精午夜麻豆 | 国产免费高清mv视频在线观看 | 久久亚洲伊人中字综合精品 | 同居了嫂子在线观看 | 有人在线观看的视频吗免费 | 亚欧洲乱码视频一二三区 | 无颜之月5集全免费看无删除 | 岛国电影网址 | 国产成人精品久久一区二区三区 | 综合激情区视频一区视频二区 | 无限资源在线观看播放 |