1 of 18

Self Drive Level 4, Skateboard

Preet Shah

Advisor: Bob Paulose Appackan

(Director and Tech Lead at Engineering Services International)

2 of 18

Abstract

  • A skateboard chassis is basically a drive by wire chassis, with a drive system, and battery pack inbuilt.
  • These were originally designed to aid rapid development of various body types on a single chassis development.
  • Over the years, the advancements in manufacturing and smaller factories, facilitating larger customisation for each vehicle has generated a lot of interest in such chassis.

Similar Chassis, developed by Pixmoving

3 of 18

Software Stack for Skateboard

1) Path planning Algorithm 2) Mapping

4 of 18

Understanding the Environment

  • Our environment comprises of a grid generated in Gazebo.
  • The Skateboard has to navigate through the world, given the starting and ending points.
  • In the path there might be obstacles which the skateboard has to avoid and find an alternative route to reach destination.
  • The global planning will be done with the help of a GPS.

5 of 18

Tasks involved in Motion Planning

  • Navigation is the problem of finding a collision-free motion for the robot.
  • Coverage is the problem of passing a sensor or tool over all points in a space, such as in demining or painting.
  • Localization is the problem of using a map to interpret sensor data to determine the configuration of the robot.
  • Mapping is the problem of exploring and sensing an unknown environment

Exploring an Open Space

6 of 18

Global Path Planning Approach used

  • There are many approaches used for global path planning suh dijkstra, rrt, a* formation etc;
  • For our application, we used RRT* algorithm.
  • It has an upper edge over other algorithms because of its speed and implementation.
  • It tends to create more straight paths
  • Useful especially in dense field of obstacles.

7 of 18

RRT* - Algorithm

  • Sample random point
  • Extend closest point towards sample, if no obstacles
  • For all points in neighbourhood of extension, rewire such that the cost of traversal till extension is least.

8 of 18

RRT*-Obstacles

  • Polygonal Intersections are computationally expensive
  • Massive Speed Boost

9 of 18

Improvised RRT*

  • Make the system flexible, and path find the joint system using RRT*
  • 5 Dimensional configuration space
  • 2 dimensional task space

10 of 18

RRT* Over a Long Distance between starting and Ending Points

11 of 18

Local Path Planning

  • Explored some of the open source approaches like bug algorithms, visibility graph method, voronoi diagrams, cell decomposition method, tangent graph, path velocity decomposition, potential field approach, and TEB_local_planner.
  • Potential field approach seemed to be one of the most efficient ways to avoid obstacles.

12 of 18

Drawbacks of Potential Field Approach

  • Depends on chosen potential function. Finds the collision free path for chosen function, not in accordance with environment.
  • Local Minima Problem - When attractive forces are balanced by repulsive forces, it becomes stationary.
  • In a narrow corridor, it experiences repulsive forces simultaneously from opposite sides, and consequently the motion becomes unstable.

robot

Obstacles

It is stationary as forces are balanced

13 of 18

Teb_Local_Planner

  • Teb implements an online optimal local trajectory planner for navigation and control of mobile robots.
  • It is flexible in a way such that it is able to switch to current globally optimal trajectory among the candidate set.
  • Formulation of sequence of n+1 robot poses linked together from an initial configuration to a goal:
  • which can be solved by means of a least-squares non-linear solver. The terms wk are weights used to balance the different contributions, and ek,i the i-th cost contributions of objective k during the interval ∆ti .

14 of 18

Parallel Planning Enabled

I am speed :)

  • Customising the optimization, we find that trajectory cannot transit across obstacles.
  • Parallel planning specifically needs to get enabled for distinctive topologies

15 of 18

Optimizing multiple trajectories in distinctive topologies

  • Gives current best trajectory, accounting for cheapest optimization cost.

16 of 18

Via Points

  • Investigating the optimizer behaviour under the presence of via-points.
  • Trajectory gets attracted by a via-point.
  • But it does not reach the point.

17 of 18

  • Shifting the waits for via points parameter.
  • The problem occurred due to 2 conflicting objectives:
    • minimum-time trajectory (time optimality)
    • minimize the distance to the via-point

18 of 18

Giving it a tough time

Adding more via-points and obstacles closby to see the performance.