/Velocity-Obstacle-and-Motion-Planning

A Collision Avoidance and Path Planning Framework implemented for a dual arm Pick and Place robot task simulation. Velocity Obstacles and RRTStar Motion Planner are used in the algorithm to plan dynamic collisionless trajectories.

Primary LanguagePythonMIT LicenseMIT

Velocity-Obstacle-and-Motion-Planning

A Collision Avoidance Framework implemented for a dual arm Pick and Place robot task simulation, using Velocity Obstacles and RRTStar Motion Planner.

UBC Electrical Engineering
ELEC 499: Bachelor's Thesis

This thesis focuses on the development of an integrated task and motion planning (TMP) strategy for a multilateral automated model, providing a flexible task coordination approach in a dynamic environment. The sampling based motion planner RRT* is implemented to generate a collision-free path for each PSM moving towards a point of interest. The position and range of each individual arm is tracked in order to avoid possible collisions using a Velocity Obstacle approach.
The main idea of this approach is to compute collision-avoiding velocities with respect to other robots, such that each robot may continue on their path without changing their initial trajectory. The objectives of this work concern identifying and handling collisions with the static environment obstacles and potential collisions with PSMs dynamically without impeding the parallelism aspect of the robotic arm movements.

Thesis: https://iandre.ca/assets/notes/elec499/bachelors_thesis.pdf
Demo Link: https://youtu.be/wWmJCkLgELY

System Overview

Our proposed execution model builds upon the concept of Velocity Obstacles as a means of solving dynamic collisions while minimizing disturbances to the path generated by a motion planner.
Finite State Machines (FSMs) are used as a base structure to coordinate a single arm movement for a given task. Each arm is assigned to its own FSM, planning and controlling their own individual path and task execution. We simulate six states to run a pick-and-place subtask.

_Figure 3.2.1: PSM1 and PSM2 basic pick-and-place state machines and task states_

In order to use the arm state machines in Figure 3.2.1 while minimizing the probability of collisions, we integrate our motion planning and collision avoidance framework in the pick-and-place task.

The sampling based planner RRT* is used to calculate optimal and collisionless paths around static obstacles.
image Figure 3.3.1: RRT (green) and RRT* (orange) generated paths.