XR806聯(lián)調控制
四足馬術機器人
本文為XR806開發(fā)板測評文章
作者:木頭
1項目介紹
四足馬術機器人
本項目使用XR806串口協(xié)議與大疆A板的stm32通訊,實現(xiàn)并聯(lián)四足機器人的單腿運動學逆解與整體步態(tài)規(guī)劃,本文將講解項目所涉及的算法以及代碼實現(xiàn)步驟。
四足馬術機器人實物
2單腿運動學逆解
相關算法
控制2個無刷電機(紅色箭頭各代表一個電機控制)并聯(lián)成單足,經(jīng)過角度閉環(huán)解算出足端軌跡,由足端做擺線軌跡(下圖中綠色部分)形成類似于動物貓狗等單腿的運動
%擺線方程(matlab) sigma=2*pi*t/(Ts); xep=(xf-xs)*((sigma-sin(sigma))/(2*pi))+xs; zep=h*(1-cos(sigma))/2+zs; x=[x,xep]; z=[z,zep];

3整體步態(tài)規(guī)劃
相關算法
Walk步態(tài)是一種靜態(tài)步態(tài),即在運動過程中始終有三條腿處于支撐相,至多只有一條腿處于擺動相,四足動物在walk步態(tài)中四條腿最常見的輪換順序為1→3→4→2→1。
4無刷電機角度速度
pid閉環(huán)
以P比例、I積分、D微分通過增量式PID使無刷電機能穩(wěn)定的控制速度,角度使用pd控制函數(shù)如下
int Balance(float Angle,float Gyro,int Middle,float Balance_Kp,float Balance_Kd) { float Angle_bias,Gyro_bias; int balance; Angle_bias=Middle-Angle; Gyro_bias=0-Gyro; balance=Balance_Kp*Angle_bias+Gyro_bias*Balance_Kd; return balance; }
5關鍵功能實現(xiàn)
代碼展示
XR806初始化串口配置:
if(HAL_UART_Init(UARTID, ¶m) != HAL_OK) return -1; /*使能DMA*/ if (HAL_UART_EnableTxDMA(UARTID) != HAL_OK) return -2; if (HAL_UART_EnableRxDMA(UARTID) != HAL_OK) return -3;
在main函數(shù)中while循環(huán)用下列函數(shù)發(fā)送對應數(shù)據(jù):
HAL_UART_Transmit_DMA(UARTID, (uint8_t *)buffer,sizeof(buffer));
串口3接收回調,執(zhí)行難對應的前進后退:
switch(RxBuffer_control) { case 'W': Motor_Control( 1, 1, 1, 1); break; case 'S': Motor_Control(-1, -1, -1, -1); break; case 'A': Motor_Control(-1, -1, 1, 1); break; case 'D': Motor_Control( 1, 1, -1, -1); break; case 'P': Motor_Control( 0, 0, 0, 0); break; }
審核編輯:湯梓紅
-
機器人
+關注
關注
213文章
29555瀏覽量
211895 -
串口
+關注
關注
14文章
1586瀏覽量
79245 -
開發(fā)板
+關注
關注
25文章
5576瀏覽量
102993 -
大疆
+關注
關注
30文章
910瀏覽量
83213 -
xr806
+關注
關注
0文章
14瀏覽量
1442
原文標題:讓XR806控制四足機器人,單腿運動、步態(tài)規(guī)劃都能行
文章出處:【微信號:gh_79acfa3aa3e3,微信公眾號:全志在線】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
評論