3輪全向輪正解---41


摘要: 原創博客:轉載請標明出處:http://www.cnblogs.com/zxouxuewei/

 

好長時間沒有更新博客了,今天給大家分享福利,三輪的全向輪運動學正解。機器人控制的基礎是運動學分析,利用運動學分析,可以得出機器人運動過程中各類參數的變化規律和相互之間的關系,

采用控制系統對這些參數進行控制,才能設計出正確合理的控制系統。

一,首先車輪的安裝方式決定了你的運動學模型。首先我的安裝方式為120度安裝,如下圖安裝:

在運動建模之前,為簡化運動學數學模型,做下列幾種理想化假設:

(1)全向輪不與地面打滑,同時地面有足夠摩擦力;

(2)電機軸線中心正是底盤重心;

(3)三個全向輪中心處於同上。

二。在以上條件成立的情況下,機器人運動分析如圖所示。

其中:α為yr與輪子的夾角,L1、L2、L3為各全向輪中心與底盤中心的距離,v1、v2、v3為第(i=1,2,3)個車輪中心的線速度。根據平面運動速度分解合成關系,可建立如下方程:

式中,為機器人的角速度,設逆時針方向為正; L1、L2、L3分別為機器人中心到某一時刻各輪子與地面接觸點之間距離;vx、vy為機器人相對於車體中心的速度。 為計算方便將L1、L2、L3取近似平均值L, 根據實際結構可知α=30°。同時,車輪的速度瞬心即車輪與地面接觸點,可知vi=rω (i=1,2,3)。另外,為簡化計算公式,在建立相對坐標系時取θ=0°,將α=30°、θ=0°帶入公式1中,可以得到如公式2所示的最終機器人運動學模型

3.然后可以證明看看機器人在x,y,z方向上運動的模型

證明完成后:控制的底層函數代碼如下:

#define VX_VALUE           (0.5f)
#define VY_VALUE           (sqrt(3)/2.f)      
#define L_value            (20*0.01f)  
#define RADIUS_value       (1.0/12.5*0.01f)
void Speed_Moto_Control(float vx,float vy,float vz)
{
        motor_one   = (-VX_VALUE*vx + VY_VALUE*vy + L_value*vz);
        motor_two   = (-VX_VALUE*vx - VY_VALUE*vy + L_value*vz);
        motor_there = (vx + L_value*vz);
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM