Robotic Manipulation
BLOG.ROBOTIQ.COM

Robotic Manipulation

The projects described in this post leverage the MoveIt Motion Planning Framework (source code for ROS 2). This open source platform provides key components like motion planning, manipulation, inverse kinematics, realtime control, and collision checking. Having knowledge in this library saves developers a considerable amount of time.

I describe in this post the projects I’ve worked on where I’ve implemented solutions from the MoveIt framework to control robotic manipulators. The last section summarizes the technical skills I’ve improved on and acquired while working on these projects.

Universal Robots


UR5e

During the summer of 2022, Universal Robots was kind enough to lend us one of their UR5e manipulators for a period of three weeks. As part of our technical development at RIF Robotics, we worked on integrating our software with the UR ROS 2 drivers such that our high-level logic could control the arm.

Our software leverages the MoveIt framework to generate efficient trajectories for picking and placing surgical instruments. The following video highlights our proof-of-concept prototype.

UR3e

As participants of the Georgia Manufacturing Extension Partnership (GaMEP) at Georgia Tech, we gained access to their UR3e manipulator to continue our technical development at RIF Robotics.

The following video shows the first time we controlled the manipulator with the RIF Robotics software. Similar to the work done with the UR5e, the logic is “assembling” surgical instruments. However, instead of having physical instruments detected by our machine learning models, we’re simulating the positon of the instruments. Their coordinates are handled in the same manner as if it were physical instruments, allowing MoveIt’s motion planner to generate the appropriate trajectories.

URSim + Docker

As always, it’s important to test and debug sofwtare in simulation as much as possible before trying it out on a physical system. Luckily, Universal Robots provides an environment that simulates the dynamics of their manipulators allowing developers to first test their solutions before interfacing them with the physical robots.

I setup URSim in a Docker container and was able to control the simulated arm with our RIF software. The beauty of our software is that we developed it to be platform agnostic. As such, however it performed with the simulated dynamics, is exactly how it performed when controlling the physical arm.

The window on the left of the video shows RIF’s high-level logic controlling the arm in RViz. The window on the right of the video shows the simulated UR3e manipulator inside the URSim environment.

Technical Skills


The following summarizes my proficiency in the technical skills I improved on and acquired while working on the projects described in this post:

ROS and ROS 2
Expert
C++
Expert
Python
Expert
Manipulation Simulation
Proficient
Motion Planning
Proficient