Dynamic Obstacle in matlab environment

12 Ansichten (letzte 30 Tage)
Maria
Maria am 10 Feb. 2014
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 .
  3 Kommentare
Maria
Maria am 11 Feb. 2014
yes , changing velocity , that is what i meant.
Auday
Auday am 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;

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 10 Feb. 2014
x = x + rand() * max_x;
y = y + rand() * max_y;
or
theta = rand() * 2 * pi;
r = rand() * max_velecity;
[deltax, deltay] = pol2cart(r, theta);
x = x + deltax;
y = y + deltay;
  2 Kommentare
Maria
Maria am 11 Feb. 2014
Many thanks to you Walter, I will check that code .
passioncoding
passioncoding am 2 Jan. 2019
did this code work?
I am doing same thing I need information

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Mischa Kim
Mischa Kim am 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);
figure
subplot(2,1,1)
plot(T, Xsol(:,1),T, Xsol(:,2))
title('x and vx vs. t')
subplot(2,1,2)
plot(Xsol(:,1), Xsol(:,3))
title('x vs. y')
end
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)];
end
  5 Kommentare
Mudasser  Wahab
Mudasser Wahab am 18 Aug. 2014
Hey can you help me with a problem. How can I simulate a static obstacle?
I have the kinematic model of a differential drive robot. I have been able to navigate it from one point to another in an obstacle free environment. Now I want to insert a static obstacle and ovoid them using obstacle avoidance techniques.
The problem is I don't know How to simulate an obstacle in simulink.
Ruqaiya Attaullah
Ruqaiya Attaullah am 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.

Melden Sie sich an, um zu kommentieren.


Maria
Maria am 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.
thanks

Kategorien

Mehr zu Robotics finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by