How to reorientate the orientation of a mobile robot to a specific angle.

3 次查看(过去 30 天)
Hi there, I wanted to reoreintate my mobile robot to 90 degree angle (point to North side), given that the initial orientation of the mobile robot is randomly generated, how can I do that? Thanks.
target_angle = pi/2;
orientation = 2*pi*rand(1);
angular_velocity = 0.1;
- Shin -

回答(1 个)

Torsten
Torsten 2023-1-31
编辑:Torsten 2023-1-31
You mean change
orientation_old = [2*pi*rand(1),0]
orientation_old = 1×2
1.3872 0
to
orientation_new = fliplr(orientation_old)
orientation_new = 1×2
0 1.3872
?
  3 个评论
Torsten
Torsten 2023-1-31
Yes, the vector "orientation_old" points to the right and the vector "orientation_new" points upwards, thus rotated by 90 degrees.
Torsten
Torsten 2023-1-31
Like this ?
But it's not clear if the rotation should be clockwise or counter-clockwise, I guess.
rng("default")
target_angle = pi/2; % target orientation angle
current_angle = 2*pi*rand(1); % current orientation angle
omega = 0.1;
angle = @(t) current_angle + omega*t*(target_angle - current_angle)/abs(target_angle - current_angle);
t = linspace(0,abs(target_angle - current_angle)/omega,100);
plot(t,angle(t))

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Robotics 的更多信息

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by