1 of 36

Dr Markus Buchholz

post-doc @ HWU

ROS 2 Overview

Motion Planning for real applications

2 of 36

ROS 2. Concept

3 of 36

  • Building robots is difficult.�
  • Motors (arms, wheels), sensors, SW have to work all together simultaneously and seamlessly to perform a task.
  • The solution is Robot Operating System (ROS), free and open source software, (framework) that provides SW architecture - mechanism, communication layer, tools, and interfaces (SW, HW) to develop, simulate, and deploy Real-Time robotic applications.

ROS 2. Concept

4 of 36

5 of 36

6 of 36

Architecture

Data Flow

7 of 36

Architecture

API Architecture

8 of 36

ROS 2: Pick and Place application

Vision

Path Planner

IK

Motion Control

Logging

Data Flow

9 of 36

Pick and Place app: Architecture

  • We encapsulate robot system task into SW node.
  • Nodes communicated over DDS (Data Distributed Service) network throughout messages.
  • Each node node can message subscribe or publish.

Vision

Path Planner

IK

Motion Control

Logging

Node

DDS

Node

Node

Node

Node

sub

pub

sub

pub

sub

pub

sub

pub

sub

pub

10 of 36

Architecture

subscriber - publisher : for example sensors, data from nodes

11 of 36

Architecture

�Services : for example one node set status of the robot to TRUE and other node change the flag to FALSE under some conditions - service here is the mechanism!

12 of 36

Architecture

�Actions: For example, the application requests the robot to move to a specific position and receives feedback on progress and the final result.

Action consist of three parts: a goal, feedback, and a result.�

Functionally is similar to service but they provide permanent feedback and can be cancelled.

13 of 36

ROS 2 is framework designed for developing robotic systems. It provides:

  • A communication layer (DDS)
  • A mechanism (topics, services, action server)
  • A standardized build process (using tools like colcon) to manage package dependencies and create modular, reusable components.
  • A set of internal packages and tools for core functionalities like robot control, simulation, sensor integration, and more.

14 of 36

Motion Planning

2D (mobile robots)

3D (manipulators, drones, underwater robots)

Grid (X,Y) is the representation of agent searching space

Voxel (X,Y,Z) is the representation of agent searching space

15 of 36

Motion Planning for AUV

16 of 36

IK

(analytical)

Low Level controller�(PID,

Feed Forward, MPC)

Path Interpolator

Defines the geometric path from the start to the goal (joint from IK)

Applies spline interpolation to generate smooth intermediate positions for each joint, (without considering time, velocity, or acceleration)

��Trajectory Generator

Takes the output from the path interpolator and adds time, velocity, acceleration, and jerk constraints.

Ensures smooth motion by creating a time-parameterized trajectory for each joint, ensuring synchronization and real-time execution.

Dynamic model

Target

(program - offline programming)

Motion Control in Industrial Manipulators*�(ABB, Fanuc, KUKA, Yaskawa, Kawasaki)

*We do NOT use path planners in most industrial applications. We do not have access to detailed kinematics and dynamic models.

17 of 36

Steps to Synchronize Joint Motions (interpolator)

1. Define Start and Goal Configurations.

2. Compute the Required Motion for Each Joint i :

3. Compute Time for Each Joint:

4. Determine the Maximum Motion Time T,�Find the joint that requires the longest time to reach its target

5. Adjust Velocity Profiles for Shorter Motions:

6. To ensure smooth motion, use spline interpolation for each joint over the synchronized time T.

18 of 36

Motion Planning is HARD

  • Number of DOF.
  • Constrains (dynamics).
  • Time horizon (real-time computation of path often using pseudo Jacobian).
  • Uncertainty (dynamic obstacles).

Non industrial motion planning

19 of 36

20 of 36

21 of 36

Motion planning (mobile robots)

22 of 36

Path smoothing

23 of 36

Point cloud-> voxel

Voxel is mapped using IK and robot constraints to C-Space (configuration space)

RRT*, A*, PRM�searches for an obstacle-free path in C-space

24 of 36

Rapidly Exploring Random Trees for Dynamic Obstacle Avoidance

25 of 36

Moveit computes obstacle free path

26 of 36

Moveit 2. Motion planner

27 of 36

28 of 36

ROS 2 helps to solve real challenges

29 of 36

tether

AUV

ASV

HWU Research setup: Motion Control for Tethered Multi-Robot Systems in Marine Environments with Disturbances

30 of 36

30

We introduce motion control framework for

maritime robotics:

31 of 36

Linker (ROV-Boat)

ROS 2 Interface Boat

MPC Boat

odom_zero_service

ROS 2 Interface ROV

PID ROV

DDS

DVL

GPS

Frame Sync

ROV Motion Planner

Software architecture

PC_1 (ROV)

ArduPilot

ArduPilot

PC_2(Boat)

32 of 36

32

First, we employ a path planner with A* algorithm and heuristic strategies designed to account for both environmental disturbances and the tether constraints to compute synchronized motion for both vehicles.

Motion around wind turbine and BOP

33 of 36

Performance of our path planner with A* algorithm

34 of 36

34

We evaluated our framework under real conditions.�

Simulation (3x)

35 of 36

35

We evaluated our framework under real conditions.�

Ocean view

Underwater view

36 of 36

Thanks!