User Tools

Site Tools


robotino_pfnav

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
robotino_pfnav [2016/10/28 20:46] – created dwallacerobotino_pfnav [2016/10/28 20:52] (current) dwallace
Line 5: Line 5:
 This project will demonstrate how to create a controller to cause the robotino to navigate a potential field. This project will demonstrate how to create a controller to cause the robotino to navigate a potential field.
  
-For more information and progress videos please visit the [[robotino_operation_log|Robotino_Operation_Log]]+For more information and progress videos please visit the [[robotino_operation_log|Robotino Operation Log]]
  
 To download the completed ROS package:  {{dylanw:robotino_control_PFNav.zip}} To download the completed ROS package:  {{dylanw:robotino_control_PFNav.zip}}
  
-{{youtube>87D3sv-VHUI?large}}+{{youtube>87D3sv-VHUI?large}}\\ 
  
 ===== Program Setup ===== ===== Program Setup =====
  
-{{dylanw:objects.png}}+{{dylanw:objects.png}}\\ 
  
-=== **robotinoNavigator** ===+=== robotinoNavigator ===
  
 robotinoNavigator is the base class that deals with the mundane navigation aspects of the robotino.  For example setting speed, setting arm position, retrieving odometer values.  robotinoNavigator is designed to be inherited by other classes to run higher level navigation algorithms.  It provides the following Member functions.  It is based on the approach_grab class for more information see the [[robotino_object_seeking|Robotino Object Seeking]] tutorial. robotinoNavigator is the base class that deals with the mundane navigation aspects of the robotino.  For example setting speed, setting arm position, retrieving odometer values.  robotinoNavigator is designed to be inherited by other classes to run higher level navigation algorithms.  It provides the following Member functions.  It is based on the approach_grab class for more information see the [[robotino_object_seeking|Robotino Object Seeking]] tutorial.
Line 76: Line 76:
 </code> </code>
  
-=== **potentialField** ===+=== potentialField ===
  
 The potentialField class is designed to represent the model of potential fields used in PF navigation.  It allows the user to store a series of points, either repulsive or attractive and then provides functions useful in navigating the potential field.  Below is a list of available functions.    The potentialField class is designed to represent the model of potential fields used in PF navigation.  It allows the user to store a series of points, either repulsive or attractive and then provides functions useful in navigating the potential field.  Below is a list of available functions.   
Line 128: Line 128:
 </code> </code>
  
-=== **PFNav** ===+=== PFNav ===
  
 The PFNav class **extends** the robotinoNavigator class.  It adds the ability to move toward lower potential by following the gradient of the potential field.  This class is quite simple because the majority of the work is done in the previous two classes.  Note that the class's potentialField is public so users can edit it directly. The PFNav class **extends** the robotinoNavigator class.  It adds the ability to move toward lower potential by following the gradient of the potential field.  This class is quite simple because the majority of the work is done in the previous two classes.  Note that the class's potentialField is public so users can edit it directly.
Line 148: Line 148:
 </code> </code>
  
-=== **PFNavNode** ===+=== PFNavNode ===
  
 PFNavNode contains our main function.   A few lines of pseudo code will explain how it works. PFNavNode contains our main function.   A few lines of pseudo code will explain how it works.
robotino_pfnav.1477712776.txt.gz · Last modified: 2016/10/28 20:46 by dwallace