MATLAB Answers

Dynamic Obstacle in matlab environment

29 views (last 30 days)
if i have a obstacle (represented as (x,y)) in the mobile robot environment by using matlab , how can i make that obstacle move randomly with dynamic speed .
Auday on 16 Jun 2014
Dear all I have two objects with original and destination positions as in below; how I can make them move using rand function, please
%// Define rectangle values origin_x1 = [9.5 9.5 11.5 11.5 ]; origin_y1 = [12.6 14.6 14.6 12.6]; destination_x1 = origin_x1 + 3; destination_y1 = origin_y1 + 2;
%// Define circle values r = 1; v = linspace(0,2*pi); origin_x2 = 15+r*cos(v); origin_y2 = 10+r*sin(v); destination_x2 = origin_x2 - 1; destination_y2 = origin_y2 + 3;

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 10 Feb 2014
x = x + rand() * max_x;
y = y + rand() * max_y;
theta = rand() * 2 * pi;
r = rand() * max_velecity;
[deltax, deltay] = pol2cart(r, theta);
x = x + deltax;
y = y + deltay;
faiza gul
faiza gul on 2 Jan 2019
did this code work?
I am doing same thing I need information

Sign in to comment.

More Answers (2)

Mischa Kim
Mischa Kim on 10 Feb 2014
I strongly recommend not to "randomize" the position vector since this results in a non-differentiable function. Start with acceleration and work your way back to position by integration. This way you'll at least end up with a solid kinematics system. If you even need to go a step further you have to make sure that the kinetics is compatible, as well.
function rand_mov()
tspan = 0:0.01:5;
X0 = [0 0 0 0];
[T, Xsol] = ode45(@EOM, tspan, X0);
plot(T, Xsol(:,1),T, Xsol(:,2))
title('x and vx vs. t')
plot(Xsol(:,1), Xsol(:,3))
title('x vs. y')
function dX = EOM(t, X)
dX = zeros(4,1);
da = 1;
x = X(1);
vx = X(2);
y = X(3);
vy = X(4);
dX = [vx; da*(rand()-0.5); vy; da*(rand()-0.5)];
Ruqaiya Attaullah
Ruqaiya Attaullah on 22 Apr 2020
Mudasser Wahab can you please help me in navigating the robot from one point to another. I am having trouble with that.

Sign in to comment.

Maria on 11 Feb 2014
Many thanks to you Mischa , now i got it , if i am not wrong that without differentiable function formula i would not could be enabled to sense the velocity and acceleration of the obstacle since my algorithm required that i should compute the the velocity of moving obstacles to compute the relative speed between robot and obstacle , so to here good , but i hope to not be greedy if asked you to give more explanation about the code above because it is not so clear , it need some comments.

Community Treasure Hunt

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

Start Hunting!