AutoRob
Contents
 1 Fully autonomous navigation of AutoNav robot in industrial scenario
 2 RGBD autolocalization with visual markers (ARUCO)
 3 RGBD autolocalization with visual markers (AprilTags)
 4 GUIDesktop component and path navigation in simulation
 5 Distancebased evolutive localization algorithm tests in simulation
 6 First lap: Complete!
 7 pointcloud to laserscan
 8 VFF real
 9 Kinect localization
 10 Odometry
 11 Genetic algorithm (autolocalization)
 12 Real robot teleoperation
 13 Recording path
 14 Local Navigation (Autonav local navigation with VFF )
 15 Building path by hand
 16 Rapidlyexploring Random Trees (RRT)
 17 Non holonomic rectriction
 18 Gradient Path Planning global navigation
 19 Virtual Force Field (VFF) for local navigation
 20 Visualize sensors
 21 Segment Kinect planes
 22 Visibility graph
 23 kinematic model
 24 Collada mesh
 25 Visibility graph
 26 Teleoperador Tablet
 27 Nonholonomic vehicle
 28 References
[edit]
RGBD autolocalization with visual markers (ARUCO)[edit]
RGBD autolocalization with visual markers (AprilTags)[edit]
[edit]
Distancebased evolutive localization algorithm tests in simulation[edit]
These are records and data from different simulations using EvolutiveViewer component and gazebo simulator (1.8 series).
Algorithm test run on simulated real environment (noisy encoders)  
This is a test run of the raw algorithm using encoders with noise as position reference. The algorithm uses the laser readings and the encoder to calculate the most likely pose; taking advantage of a map of areas in which is impossible for the robot to be located (restricted areas).


Algorithm test run on artificial environment (noisy encoders)  
This is a test run of the raw algorithm using encoders with noise as position reference. The algorithm only uses the laser readings and the encoder to calculate the most likely pose; without taking advantage of other possible constraints or information.


Algorithm test run on simulated real environment (noisy encoders)  
This is a test run of the raw algorithm using encoders with noise as position reference. The algorithm only uses the laser readings and the encoder to calculate the most likely pose; without taking advantage of other possible constraints or information. 
First lap: Complete![edit]

This video shows complete autonomous global and local navigation in the Robotics Lab at the URJC. The environment is mainly static and the map represents properly the real environment.
pointcloud to laserscan[edit]
VFF real[edit]


Kinect localization[edit]

Odometry[edit]
Genetic algorithm (autolocalization)[edit]


Real robot teleoperation[edit]


Recording path[edit]

[edit]

Building path by hand[edit]
Building path by hand 

Building path by hand 
Rapidlyexploring Random Trees (RRT)[edit]
A Rapidly exploring random tree (RRT) is a data structure and algorithm designed for efficiently searching nonconvex, highdimensional search spaces. The tree is constructed in such a way that any sample in the space is added by connecting it to the closest sample already in the tree.
RRT 

Non holonomic rectriction[edit]
Most nonholonomic systems and cost functions are too complex to allow the derivation of explicit formulae for optimal paths. If the vehicle must always move forwards the shortest paths are known as Dubins' curves and if reversals are allowed they are called ReedsShepp curves. These results form the basis of several effective planners for the practically important case of carlike vehicles.
Dubins curves and ReedsSheep curves[edit]
Dubins' Theorem: For a car with minimum turning radius R moving forwards in an empty plane, the shortest path between any two configurations is a sequence of straight line segments(S) and circular arcs of radius R (C) of the form CSC , CCC , or a subsequence of one of these. In more detail there are exactly 6 possibilities to check: LSL, LSR, RSL, RSR, LRL, RLR, where L left turn, R right turn.
ReedsShepp Theorem : If the car is also allowed to reverse there is a shortest path which has the form (a subset of) CCSCC , where  indicates an optional reversal (cusp). In detail there are 68 possibilities to check. The shortest paths are no longer unique, there may be continuous families of them.
Dubins curves  Reeds  Sheep curves 


Turn round[edit]
Dubins' Curves turn round 

Compare Visibility Graph[edit]
In this picture we can compare the optimal path with nonholonomic constraints and the optimal path with holonomic constraints.
Compare 
[edit]
Grid map  Gradient path planning 

Gradient path planning 

[edit]
To make the robot move in a logical way to the target, the robot must have an algorithm of motion. This time has been implemented Virtual Force Field.
VFF consists in calculating two vectors. The first vector (attraction vector) is generated toward the target. And the second vector (repulsion vector) is generated based on the sensors in this case the laser and is opposed to the obstacles. To find the resulting vector you have to add this two vectors and the solution is used to move the robot.
As you can see in the picture below: attraction vector is represented in blue, repulsive vector in green and the result vector in sky blue.
Visualize sensors[edit]
Laser  Kinect 
Segment Kinect planes[edit]
Points  Planes 

Visibility graph[edit]
kinematic model[edit]
In this video you can see a nonholonomic vehicle driving with a PC teleoperator. Also is possible to visualize the information of kinect (the cloud point or the RGB image). In the image you can see the path, the red line show the calculated position of the robot based on the kinematic model and in green the position of the center of the mass of the robot. Because of that these line are not exactly equal.
Driving 

Driving  Show the path 

Collada mesh[edit]
Collada 3D to 2D projection[edit]
Visibility graph[edit]
visualization[edit]
[edit]
Teleoperador Tablet[edit]
In the video below is possible to see an Android Application to control a robot in Gazebo. The GUI allow to modify the speed and rotational speed.
Nonholonomic vehicle[edit]
References[edit]
 [ Kurt Konolige ], A Gradient Method for Realtime Robot Control
 [ Borenstein and Koren, 1989 ] J. Borenstein and Y. Koren. Realtime obstacle avoidance for fast mobile robots
 [ NELSON ROLANDO CARDENAS CALLE ] Diseño y construcción de un robot móvil didáctico para estudios experimentales en robótica cooperativa.
 [ L. V. Calderita, L. Manso and P. Nuñez ] Assessment of PrimeSense RGBD camera for robotic applications
 [ Ford, 1984] D.R Ford, L.R. y Fulkerson. Graphs and algorithms. Wiley, 1984.
 [ Lopez, 2005] Navegación global utilizando el método del grafo de visibilidad.
 [ Vega, 2008] Navegación y autolocalización un robot guía de visitantes.
 [ N. Sariff 1 and N. Buniyamin, 2006] An Overview of Autonomous Mobile Robot Path Planning Algorithms
 [ P. Raja and S. Pugazhenthi ,2012], Optimal path planning of mobile robots: A review
 [ Kunchev, 2006] Path Planning and Obstacle Avoidance for Autonomous Mobile Robots: A Review
 [ JIANG, 1999] A Shortest Path Based Path Planning Algorithm for Nonholonomic Mobile Robots
 [ L. E. Dubins, 1957] On Curves of Minimal Length with a Constraint on Average Curvature, and with Prescribed Initial and Terminal Positions and Tangents.
 [ ReedsShepp, 1990] Optimal paths for a car that goes both forwards and backwards
 [ Bill Triggs] Motion Planning for Nonholonomic Vehicles: An Introduction