How to draw a true robot trajectory ?

5 ビュー (過去 30 日間)
Adam Stepniak
Adam Stepniak 2017 年 3 月 2 日
コメント済み: Talat Buyukakin 2017 年 10 月 12 日
Hello everyone !
I work on two-wheels robot mobile project. One part of the project is making a visualization of trajectory like a plot in Matlab. The plot shows how robot ride along black line in line follower mode and it is scalled to centimeters. The problem is with coordinate Y. In reality Y oscillate between 0-3 cm but plot shows even 20 cm. Do you know maybe how to deal with this inaccuracy ?
this link contains excel file with encoders values https://megawrzuta.pl/download/2c94ed93d2e8675ba2388cecff7bc53e.html
  5 件のコメント
Adam Stepniak
Adam Stepniak 2017 年 10 月 12 日
Walter was faster ;), good luck with your project Talat.
Talat Buyukakin
Talat Buyukakin 2017 年 10 月 12 日
Thank you too Adam :)

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2017 年 3 月 2 日
It is difficult for us to test with a picture of code, so I typed it in, but skipped the comments.
Your alfa (angle) has been calculated based upon difference in linear distance traveled, rather than based upon angular distance traveled. When I divided alfa by R to get angular distance, the results looked plausible.
modified version that looks plausible:
filename='encoders.xlsx';
encoders=xlsread(filename);
el=encoders(:,1);
er=encoders(:,2);
R=3.25;
L=16;
n=192;
dr=er.*((2*pi*R)/n);
dl=el.*((2*pi*R)/n);
d=(dr+dl)/2;
alfa=(dr-dl)/L/R;
c=cos(alfa);
s=sin(alfa);
x=d.*c;
y=d.*s;
plot(x,y);
title('trajectory');
xlabel('X')
ylabel('Y')
axis([0 200 -50 50])
hold on
grid on
  1 件のコメント
Adam Stepniak
Adam Stepniak 2017 年 3 月 9 日
Thank you for fast resposnse, in fact the plot shows more realistic results in case of following straight line.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeRobotics についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by