![]() |
使用MATLAB进行问题即时运动控制
我在matlab的运动控制中遇到问题,想象一下这样的四连杆机构。如您所知,在普通的四连杆机构中,我们有2个固定点,但在这里我们只有一个&第二个固定在小齿轮上(小齿轮比。因此我们有teta1&teta2 teta2 = 5 * teta1之间的关系(机构可以在第一个固定点旋转)
我曾经为运动控制编写此代码,但是当我运行它时,图形不正确(因为它们应该是链接sin或cos图的东西) d(n)是用于解方程的辅助向量,请询问是否还有其他问题 这是代码: clc, close all, clear all, ax=0; ay=0; r1=12; r2=7; r3=9; r4=5; n=0; for teta1=0:pi/180:2*pi n=n+1; D = r1*exp(i*teta1)-r2*exp(i*5*teta1); tetad(n) = angle(D); d(n) = abs(D); landa(n)=acos((d(n)^2+(r3)^2-(r4)^2)/(2*d(n)*r3)); alfa(n)=acos((d(n)^2+(r4)^2-(r3)^2)/(2*d(n)*r4)); teta3(n)=landa(n)+tetad(n); teta4(n)=(+pi-alfa(n)+tetad(n)); end aa(n)=teta1*180/pi; hh(n)=tetad(n)*180/pi; bb(n)=landa(n)*180/pi; cc(n)=alfa(n)*180/pi; nn(n)=teta3(n)*180/pi; dd(n)=5*teta1*180/pi; ee(n)=teta4(n)*180/pi; figure(1),plot(aa,hh),xlabel('teta1'),ylabel('tetad'); figure(2),plot(aa,d),xlabel('teta1'),ylabel('d'); figure(3),plot(aa,bb),xlabel('teta1'),ylabel('landa'); figure(4),plot(aa,cc),xlabel('teta1'),ylabel('alfa'); figure(5),plot(aa,nn),xlabel('teta1'),ylabel('teta3'); figure(6),plot(aa,dd),xlabel('teta1'),ylabel('5*teta1'); figure(7),plot(aa,ee),xlabel('teta1'),ylabel('teta4'); [B]回答:[/B] 我不知道您要在这里解决什么,但是您可能想将for循环的end向下移动几行,因此绘制的向量不仅包含最后一个值,还包含所有值。 [url=https://stackoverflow.com/questions/3177609]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 01:08。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.