Dr Markus Buchholz
post-doc @ HWU
ROS 2 Overview
Motion Planning for real applications
ROS 2. Concept
ROS 2. Concept
Architecture
Data Flow
Architecture
API Architecture
ROS 2: Pick and Place application
Vision
Path Planner
IK
Motion Control
Logging
Data Flow
Pick and Place app: Architecture
Vision
Path Planner
IK
Motion Control
Logging
Node
DDS
Node
Node
Node
Node
sub
pub
sub
pub
sub
pub
sub
pub
sub
pub
Architecture
subscriber - publisher : for example sensors, data from nodes
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!
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.
ROS 2 is framework designed for developing robotic systems. It provides:
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
Motion Planning for AUV
�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.
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.
Motion Planning is HARD
Non industrial motion planning
Motion planning (mobile robots)
Path smoothing
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
Rapidly Exploring Random Trees for Dynamic Obstacle Avoidance
Moveit computes obstacle free path
Moveit 2. Motion planner
ROS 2 helps to solve real challenges
tether
AUV
ASV
HWU Research setup: Motion Control for Tethered Multi-Robot Systems in Marine Environments with Disturbances
30
We introduce motion control framework for
maritime robotics:
�
�
�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
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
Performance of our path planner with A* algorithm
34
We evaluated our framework under real conditions.�
Simulation (3x)
35
We evaluated our framework under real conditions.�
Ocean view
Underwater view
Thanks!