- 99 Views
- Uploaded on
- Presentation posted in: General

Final Project Presentation on autonomous mobile robot

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Final Project Presentation on autonomous mobile robot

Submitted to

Prof, Jaebyung Park

Robotics Lab

Submitted by

Ansu Man Singh

Student ID (201150875)

- Title
- Objective
- Procedure
- Binary Image
- Attractive Potential field
- Repulsive Potential field
- Total field
- Gradient descent
- Navigation function

- Path planning using attractive and Reflective potential field

- To generate a path for mobile robot using attractive and repulsive potential field

Goal Position

Attractive Potential field

Binary Image

Repulsive Potential field

Start Position

Gradient Descent Algorithm

Required Path

- Binary Image of 200 by 200 pixel is taken
- 1’ will represent free space, 0’s will represent obstacle space
- example

Obstacles

- The Attractive Potential field is generated using conic and quadratic functions

Quadratic

Conic

- Attractive Potential function

Goal Position

- Code Section

goal_pos = [180 180];

Uatt = zeros(wSpace_Size);

d_xtrix_goal =3;

K=0.06;

const1 = 0.5*K*d_xtrix_goal^2;

for i=1:wSpace_Size(1)

for j=1:wSpace_Size(2);

A=(goal_pos(1)-i)^2+(goal_pos(2)-j)^2;

distance=sqrt(A);

if(distance > d_xtrix_goal)

Uatt(i,j)=d_xtrix_goal*K*distance -const1;

else

Uatt(i,j)=0.5*d_xtrix_goal*K*distance^2 ;

end

end

end

- Repulsive function used
- Repulsive function is generated by the help of binary image.
- Steps used in generating Repulsive function
- Find the obstacle position in the binary image
- Generate field using the equation for the distance Q* above and below the obstacle pixel position

- Repulsive Potential Field

- Code section

for i=1:wSpace_Size(1)

for j=1:wSpace_Size(2);

if(wSpace_Bin(i,j)==0)

Uref(i,j)=8;

for k= -xtrix_OBS:xtrix_OBS

for p =-xtrix_OBS:xtrix_OBS

if((i+k)>wSpace_Size(1)||(i+k)<1||(j+p)>wSpace_Size(2)||(j+p)<1)

else

if(wSpace_Bin(i+k,j+p)~= 0)

distance2 = sqrt((k)^2+(p)^2);

Uref(i+k,j+p)=Uref(i+k,j+p)+ 0.5*2*(1/distance2 - 1/xtrix_OBS)^2;

else

Uref(i+k,j+p)= 8;

end

end

end

end

else

Uref(i,j) = Uref(i,j) +0;

end

end

end

- Total Potential field is addition of attractive and Repulsive field

+

- Algorithms used to find the path in the field
- Gradient descent always follows negative slope

Input: A means to compute the gradient ∇U (q)at a point q

Output: A sequence of points {q(0), q(1), ..., q(i)}

1: q(0) = qstart

2: i = 0

3: while ∇U (q(i)) ≠= 0 do

4: q(i + 1) = q(i) + α(i)∇U (q(i))

5: i = i + 1 6: end while

- Code section

while(flag)

position(iteration+1,:) = [pos_xpos_yU_tot(pos_y,pos_x)];

pos_x = ceil(pos_x+ alpha*grad_x);

pos_y = ceil(pos_y+ alpha*grad_y);

if((grad_x==0&&grad_y==0)||iteration >1000)

flag = 0;

end

if (pos_x>=200||pos_y>=200)

flag =0;

else

grad_x=-fx(pos_y,pos_x);

grad_y=-fy(pos_y,pos_x);

iteration= iteration+1;

end

end

- Contour map of field with path

Start point = (0,80)

- Path 2

- Local Minima problem

- Local Minima problem can be using navigation function
- Navigation function definition

A function is called a navigation function if it

- is smooth (or at least Ck for k ≥ 2),
- has a unique minimum at qgoal in the connected component of the free space that contains qgoal,
- is uniformly maximal on the boundary of the free space, and
- is Morse.

- Navigation function on sphere world
- Obstacle functions
- Distance to goal function

- Switch function which is used to map from (0 to infinity) to [0 1]
- Sharpening function to make critical points non-degenerate

- Final navigation function on sphere world

- Implementation of navigation function on sphere world

- Code section

clear all ;

x= -10:0.1:10;

y= -10:0.1:10;

x_goal = 8;

y_goal = 8;

K= 4;

nav_fxn = zeros(length(x),length(y));

lambda = 2;

for i = 1 :length(x)

for j = 1:length(y)

beta = beta_function(x(i),y(j));

dist_goal = norm([x(i)-x_goal y(j)-y_goal],2);

radius = norm([x(i) y(j)],2);

if(radius>10)

nav_fxn(i,j) = 1;

else

nav_fxn(i,j) = dist_goal^2/(dist_goal^(2*K) + lambda*abs(beta))^(1/K);

end

end

end

- Conversion from star-shaped set to sphere shaped set
- This conversion is essential for representation of object in real world.

- [1] HowieChoset et al, Principle of robot Motion-Theory, Algorithms and Implementation,
- [2]ElonRimon, Daniel E Koditschek, Exact Robot Navigation Using Artificial Potential Functions