How to reorientate the orientation of a mobile robot to a specific angle.
1 次查看(过去 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 -
0 个评论
回答(1 个)
Torsten
2023-1-31
编辑:Torsten
2023-1-31
You mean change
orientation_old = [2*pi*rand(1),0]
to
orientation_new = fliplr(orientation_old)
?
3 个评论
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
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 Center 和 File Exchange 中查找有关 ROS Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!