AutoRob

From jderobot
Jump to: navigation, search

Fully autonomous navigation of AutoNav robot in industrial scenario[edit]


RGBD autolocalization with visual markers (ARUCO)[edit]

RGBD autolocalization with visual markers (AprilTags)[edit]

GUI-Desktop component and path navigation in simulation[edit]

Distance-based 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).



The interface shows the best prediction (red), encoder given position (bright green), groundtruth position (dark green) and particle status (life from bright blue to dark blue)

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.



The interface shows the best prediction (red), encoder given position (bright green), groundtruth position (dark green) and particle status (life from bright blue to dark blue)

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]


Local Navigation (Autonav local navigation with VFF )[edit]

Building path by hand[edit]

Building path by hand
Building path by hand

Rapidly-exploring Random Trees (RRT)[edit]

A Rapidly exploring random tree (RRT) is a data structure and algorithm designed for efficiently searching nonconvex, high-dimensional 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 Reeds-Shepp curves. These results form the basis of several effective planners for the practically important case of car-like vehicles.

Dubins curves and Reeds-Sheep 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.


Reeds-Shepp Theorem : If the car is also allowed to reverse there is a shortest path which has the form (a subset of) C|CSC|C , 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 non-holonomic constraints and the optimal path with holonomic constraints.


Compare


Gradient Path Planning global navigation[edit]

Grid map Gradient path planning
Gradient path planning

Virtual Force Field (VFF) for local navigation[edit]

VFF

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 non-holonomic 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]

Navegate[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.

Non-holonomic vehicle[edit]



References[edit]

  • [ Kurt Konolige ], A Gradient Method for Realtime Robot Control
  • [ Borenstein and Koren, 1989 ] J. Borenstein and Y. Koren. Real-time 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 RGB-D 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.
  • [ Reeds-Shepp, 1990] Optimal paths for a car that goes both forwards and backwards
  • [ Bill Triggs] Motion Planning for Nonholonomic Vehicles: An Introduction