机器人运动控制算法推导及其检验刘述亮.doc

机器人运动控制算法推导及其检验刘述亮.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

机器人运动控制算法推导及其检验

Vivi

Vi

vi

如图假设分别为轮1轮2轮3速度的单位方向矢量,,假设机器人经过时间()

则机器人三个轮子和机器人中心的位移分别为;

假设机器人三个轮子和中心的速度为机器人的角速度为。

则有几何关系可得

机器人三个轮子的驱动速度

所以轮子的驱动速度为

由上式可得(计算程序见附录一)

解线性方程可得(见附录二)

对于地面坐标,由坐标变换得

为了验证上面的结论正确性,对其进行仿真,给定一组一定的速度如果机器人能按照期望运动则说明推导是正确的。(见附录三,四)

附录一

clc

clear

symsvxvyaw;

v0=[vxvy];

e=zeros(3,2);

vi=zeros(3,2);

e(1,:)=[01];

e(2,:)=[-05*sqrt(3)-05];

e(3,:)=[05*sqrt(3)-05];

fori=1:3

forj=1:2

(v0(j)+a*w*e(i,j))*e(i,j)

end

end

附录二

symsv1v2v3aw;

A=[01a;

-05*3^05-05a;

05*3^05-05a];

b=[v1v2v3];

c=[Ab];

rref(c)

附录三

clear

clc

tic;

v1=2;

v2=-15;

v3=-051;

a=06;

dt=003;

sd=0;

x=0;

y=0;

h=plot(x,y,);

set(h,EraseMode,Xor,MarkerSize,20);

vx1=v3/sqrt(3)-v2/sqrt(3);

vy1=(2*v1-v2-v3)/3;

t=0;

w1=1;

w2=1;

fori=1:100000

drawnow

v1=2*sin(w1*sin(05*t)*t)+05;

v2=2*sin(w2*t);

v3=251*sin(w1*t+1);

xy=zeros(4,2);

w=(v1+v2+v3)/3/a;

sd=sd+w*dt;

t=t+dt;

vx=vx1*cos(sd)-vy1*sin(sd);

vy=vx1*sin(sd)+vy1*cos(sd);

x=x+vx*dt;

y=y+vy*dt;

xy(1,1)=x;

xy(1,2)=y;

xy(2,1)=x+a*cos(sd);

xy(2,2)=y+a*sin(sd);

xy(3,1)=x+a*cos(2*pi/3+sd);

xy(3,2)=y+a*sin(2*pi/3+sd);

xy(4,1)=x+a*cos(-2*pi/3+sd);

xy(4,2)=y+a*sin(-2*pi/3+sd);

forj=1:4

axis([-55-55]);

plot(xy(j,1),xy(j,2),);

holdon

end

holdoff

end

toc

附录四仿真动画

clear

clc

tic;

v1=2;

v2=-15;

v3=-051;

a=06;

dt=005;

sd=0;

x=0;

y=0;

h=plot(x,y,);

set(h,EraseMode,Xor,MarkerSize,20);

vx1=v3/sqrt(3)-v2/sqrt(3);

vy1=(2*v1-v2-v3)/3;

t=0;

w1=1;

w2=1;

fori=1:10000

drawnow

v1=2*sin(w1*sin(05*t)*t)+05;

v2=2*sin(w2*t);

v3=251*sin(w1*t+1);

w=(v1+v2+v3)/3/a;

sd=sd+w*dt;

t=t+dt;

vx=vx1*cos(sd)-vy1*sin(sd);

vy=vx1*sin(sd)+vy1*cos(sd);

x=x+vx*dt;

y=y+vy*dt;

xy=zeros(4,2);

n=10;

fork=1:n

xy(1,1)=x;

xy(1,2)=y;

xy(2,1)=x+k*a*cos(sd)/n;

xy(2,2)=y+k*a*sin(sd)/n;

xy(3,1)=x+k*a*cos(2*pi/3+sd)/n;

xy(3,2)=y+k*a*sin(2*pi/3+sd)/n;

xy(4,1)=x+k*a*cos(-2*pi/3+sd)/n;

xy(4,2)=y+k*a*sin(-2*pi/3+sd)/n;

forj=1:4

axis([-55-55]);

plot(xy(j,1),xy(j,2),);

holdon

end

end

holdoff

end

toc

文档评论(0)

189****5087 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7102116031000022
认证主体仪征市思诚信息技术服务部
IP属地江苏
统一社会信用代码/组织机构代码
92321081MA278RWX8D

1亿VIP精品文档

相关文档