Download presentation
Published byBrianna McCoy Modified over 9 years ago
1
Final Project Presentation on autonomous mobile robot
Submitted to Prof, Jaebyung Park Robotics Lab Submitted by Ansu Man Singh Student ID ( )
2
Outline Title Objective Procedure Binary Image
Attractive Potential field Repulsive Potential field Total field Gradient descent Navigation function
3
Title Path planning using attractive and Reflective potential field
4
Objective To generate a path for mobile robot using attractive and repulsive potential field
5
Procedure Goal Position Attractive Potential field Binary Image
Repulsive Potential field Start Position Gradient Descent Algorithm Required Path
6
Binary Image Binary Image of 200 by 200 pixel is taken
1’ will represent free space, 0’s will represent obstacle space example Obstacles
7
Attractive Potential Field
The Attractive Potential field is generated using conic and quadratic functions Quadratic Conic
8
Attractive Potential Field
Attractive Potential function Goal Position
9
Attractive Potential Field
Code Section goal_pos = [ ]; 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
10
Repulsive Potential Field
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
11
Repulsive Potential Field
12
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; Uref(i+k,j+p)= 8; end Uref(i,j) = Uref(i,j) +0;
13
Total Field Total Potential field is addition of attractive and Repulsive field +
14
Gradient Descent 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
15
Gradient Descent Code section while(flag)
position(iteration+1,:) = [pos_x pos_y U_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;
16
Gradient Descent Contour map of field with path Start point = (0,80)
17
Gradient Descent Path 2
18
Gradient Descent Local Minima problem
19
Gradient Descent 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.
20
Navigation function Navigation function on sphere world
Obstacle functions Distance to goal function
21
Navigation function Switch function which is used to map from (0 to infinity) to [0 1] Sharpening function to make critical points non-degenerate
22
Navigation function Final navigation function on sphere world
23
Navigation function Implementation of navigation function on sphere world
24
Navigation function 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
25
Navigation function Conversion from star-shaped set to sphere shaped set This conversion is essential for representation of object in real world.
26
References [1] Howie Choset et al, Principle of robot Motion-Theory, Algorithms and Implementation, [2]Elon Rimon, Daniel E Koditschek, Exact Robot Navigation Using Artificial Potential Functions
27
Thank You
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.