User Tools

Site Tools


test_mediawiki

Differences

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

Link to this comparison view

test_mediawiki [2016/10/24 23:25] – created dwallacetest_mediawiki [2016/10/24 23:45] (current) dwallace
Line 1: Line 1:
-**This tutorial is part of the [[Robotino|Operation]] series.**+====== Robotino Potential Field Navigator With Object Pickup ======
  
 +**This tutorial is part of the [[robotino_operation|Robotino Operation]] series**
  
-The completed project can be downloaded here [[:File:robotino_control_PF_pickup.zip]] 
  
-This is an extension of the [[Robotino|Vision Pickup]] and [[Robotino|Potential Field Navigator]] tutorials  It is recommended that you complete that tutorial before proceeding.+The completed project can be downloaded here {{dylanw:robotino_control_pf_pickup.zip}} 
 + 
 +This is an extension of the [[robotino_vision_pickup|Robotino Vision Pickup]] and [[robotino_pfnav|Robotino Potential Field Navigation]] tutorialsIt is recommended that you complete that tutorial before proceeding.
  
  
Line 11: Line 13:
 The completed project in action. The completed project in action.
  
-{{#ev:youtube|kOHOl9oaBE4}} +{{youtube>kOHOl9oaBE4?large }} 
-{{#ev:youtube|sLznp5lZsg8}}+{{youtube>sLznp5lZsg8?large }}
  
 =====  Procedure  ===== =====  Procedure  =====
  
-The only functional update to this tutorial from the [[Robotino|Potential Field Navigator]] tutorial is in the PFNavNode.cpp.    +The only functional update to this tutorial from the [[robotino_pfnav|Robotino Potential Field Navigation]] tutorial is in the PFNavNode.cpp. 
- +    
-  #include "PFNav.h" +<code c++ PFgrab.cpp> 
-  #include "approach_grab.h"+#include "PFNav.h" 
 +#include "approach_grab.h"
      
      
-  int main(int argc, char **argv) +int main(int argc, char **argv) 
-  +
-     ros::init(argc, argv, "PFNavNode");+   ros::init(argc, argv, "PFNavNode");
      
-      PFNav navigator; +    PFNav navigator; 
-      approach_grab mygrab;+    approach_grab mygrab;
              
-      // preapare some points and add them to the potential field.+    // preapare some points and add them to the potential field.
              
-      navigator.tileGridGoal(10,2,10); +    navigator.tileGridGoal(10,2,10); 
-      navigator.tileGridObstacle(4,2,20,2); +    navigator.tileGridObstacle(4,2,20,2); 
-      navigator.tileGridObstacle(6,-2,20,2); +    navigator.tileGridObstacle(6,-2,20,2); 
-      navigator.tileGridObstacle(8,3,20,2); +    navigator.tileGridObstacle(8,3,20,2); 
-      navigator.navField.printPotentialField();+    navigator.navField.printPotentialField();
      
              
-      navigator.setOdom(0,0,0); // set the odometer to 0 +    navigator.setOdom(0,0,0); // set the odometer to 0 
-      navigator.spin(); // start running! +    navigator.spin(); // start running! 
-      mygrab.spinOnce();                            // run one loop of our approach grab +    mygrab.spinOnce();                            // run one loop of our approach grab 
-      navigator.tileGridGoal(0,0,10);           // go back to the origin +    navigator.tileGridGoal(0,0,10);           // go back to the origin 
-      navigator.spin(); // Run again!+    navigator.spin(); // Run again!
              
              
-      return 0; +    return 0; 
-  }+} 
 +</code>
  
 As you can see the way to add items to the Navigator's potential field has been simplified.  You can also enter the object location in units of DASL floor tiles for convenience. As you can see the way to add items to the Navigator's potential field has been simplified.  You can also enter the object location in units of DASL floor tiles for convenience.
  
-Other than adding the unit conversions in the PFNav class and adding the ability to spinOnce in approach_grab the accompanying classes have remained the same. here are the prototypes for the added member functions.  If you are interested you can find their source in the src directory of the completed package.+Other than adding the unit conversions in the PFNav class and adding the ability to spinOnce in approach_grab the accompanying classes have remained the same. Here are the prototypes for the added member functions.  If you are interested you can find their source in the src directory of the completed package.
  
-PFNav+**PFNav**
   void tileGridObstacle(float x,float y, float w, float d);   void tileGridObstacle(float x,float y, float w, float d);
   void tileGridGoal(float x,float y, float w);   void tileGridGoal(float x,float y, float w);
-approach_grab+**approach_grab**
   void spinOnce();   void spinOnce();
  
test_mediawiki.1477376754.txt.gz · Last modified: by dwallace