經常翻車的朋友們都知道,能在翻車后快速擺正車身的車才是好車。
就像動畫《四驅兄弟》中展現的那樣,在比賽中需要跟著賽車一起跑圈,而且賽車如果被撞翻還需要重新用手扶正,所浪費的時間非常影響比賽結果。
如果小豪和小烈可以擁有一款能通過發揮R128的WiFi&藍牙特性的平衡小車,從而能通過WiFi或藍牙連接的方式進行控制,既可以自平衡和轉向,又可以遠程操控,那冠軍豈不是手到擒來。
它,就是可以自平衡的賽車機器人——B_ROBOT_100ASK
項目簡介
本項目基于jjrobots的開源項目B-ROBOT EVO2進行復刻,與原開源項目不一樣的地方是,作者將原本適配的的Arduino控制板移植為DShanMCU-R128s2-DevKit開發板,與此同時還添加了一些功能,比如自平衡功能、WiFi&藍牙控制、App控制以及語音控制功能,讓平衡小車的操控樂趣更上一層樓。
B_ROBOT_100ASK
自平衡演示
硬件設計
本項目中的自平衡賽車機器人的硬件設計結構非常簡單,硬件部分主要由R128開發板和幾個驅動模塊組成。
硬件設計模塊
供電模塊
自平衡機器人采用鋰電池供電的方式,并利用mini360航模電池降壓模塊來將較進行電壓的轉化工作,以滿足小車設備對電壓方面的需求
電機驅動模塊
自平衡機器人選用兩個NEMA17步進電機,并選用DDRV8825步進電機驅動模塊來負責與電機之間的控制信息傳輸。
DDRV8825步進電機驅動模塊的體積小,驅動能力強,它只需要一個PWM波就能控制步進電機,同時基本上三個引腳就能完全控制步進電機。
通過該模塊可以使小車快速反應R128下達的運動信息,驅動小車本身的輪子進行運動。
平衡模塊
MPU6050是一種6軸運動跟蹤傳感器,它包含3軸陀螺儀、3軸加速度計、運動處理器和溫度傳感器。它可以通過I2C總線接口與微控制器進行通信,并且可以通過輔助I2C總線與其他傳感器設備通信。
MPU6050的主要作用是幫助機器人實現姿態感知和運動控制,提高機器人的自主性和靈活性。
遙控手柄UI控制(LVGL)
作者本人還利用R128開發板來移植了一個酷炫的LVGL遙控手柄UI,通過手柄上的菜單欄UI可以選擇不同的機器人基礎參數設置和進行機器人操控。
手柄UI菜單欄滑動
在自平衡機器人啟動后,可以通過面包板上的兩個手柄去遙控機器人的前進后退和轉彎,并且在屏幕上還會實時返回機器人的傾斜角度、速度、電量等狀態。
實現App控制
在機器人競速中,必須要在準確性和速度之間找到平衡。為了更好的反饋給自平衡機器人設置不同參數下的運動狀態,作者針對自平衡機器人進行了控制App的適配。
App控制自平衡小車界面
App可以實時顯示電池狀態和機器人的傾斜角度,操作者只需要通過App中的幾個可視化按鈕和滑動欄來實時修改其PID,以實現對機器人速度和狀態的遠程控制。
自平衡機器人的一般行為由一組參數定義:
// NORMAL MODE PARAMETERS #define MAX_THROTTLE 550 MAXIMUM VELOCITY #define MAX_STEERING 140 MAXIMUM SPINNING VELOCITY #define MAX_TARGET_ANGLE 14 MAXIMUM ANGLE REACHED WHEN MOVING // PRO MODE = MORE AGGRESSIVE (MAXIMUM SETTINGS) #define MAX_THROTTLE_PRO 860 MAXIMUM VELOCITY. PRO MODE #define MAX_STEERING_PRO 280 MAXIMUM SPINNING VELOCITY. PRO MODE #define MAX_TARGET_ANGLE_PRO 32 MAXIMUM ANGLE REACHED WHEN MOVING. PRO MODE #define KP 0.32 // 0.14 #define KD 0.050 // 0.028 #define KP_THROTTLE 0.075 //0.075 #define KI_THROTTLE 0.1 // 0.1 #define KP_POSITION 0.06 //0.055 #define KD_POSITION 0.45 //0.5 //#define KI_POSITION 0.02
比如:
高MAX_THROTTLE_PRO值會使機器人更快,但如果不能順利恢復垂直位置,穩定性會降低。
高MAX_STEERING_PRO值會讓機器人旋轉得更快,但轉彎時更難精確控制。
高MAX_TARGET_ANGLE_PRO值將使機器人減小其相對于地板的角度,但這會使恢復和轉彎變得更加困難。
UDP網絡通信控制
這個功能的實現比較簡單,利用R128本身自帶的WiFi&藍牙特性,來實現兩塊R128開發板(機器人自身攜帶&手上的操控端)的UDP網絡通信控制。
UDP網絡通信控制演示
源碼獲取
基于R128-S2設計的全套開發板已上線淘寶百問網韋東山老師個人店進行售賣,包含黑色的DshanMCU-R128s2-R16N16模組和全套的DshanMCU-R128s2-DEVKIT。
審核編輯:湯梓紅
-
機器人
+關注
關注
213文章
29463瀏覽量
211517 -
藍牙
+關注
關注
116文章
6026瀏覽量
173156 -
WIFI
+關注
關注
81文章
5370瀏覽量
207414 -
開發板
+關注
關注
25文章
5499瀏覽量
102162
原文標題:用R128復刻自平衡賽車機器人,還實現了三種不同的操控方式
文章出處:【微信號:gh_79acfa3aa3e3,微信公眾號:全志在線】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
開源項目!教你如何復刻自平衡賽車機器人、智能家居中控、競技機器人先進模糊控制器等
全志R128入門編寫HelloWorld
全志R128 Devkit開發板原理圖模塊介紹及使用說明
【orangepi zero申請】基于香橙pi的機器人設計
如何應對機器人設計開發中的挑戰?
基于SLAM的移動機器人設計
全志R128應用開發案例—點亮一顆LED燈

DshanMCU-R128s2 R128 DevKit 開發板

評論