Skip to main content

2 posts tagged with "arm"

View All Tags

Constructing Tasks with MoveIt

· 18 min read
Michael Hart
Mike Likes Robots

How are complex robot arm motions actually planned and executed? Robot arms are usually mounted within an enclosure or with some kind of environment that restricts their movement, and their task is rarely as simple as picking a simple object from above. How can we plan arm movements that avoid colliding with anything and reliably accomplish their tasks? There's more than one answer, of course, but one excellent answer is to use MoveIt.

MoveIt is a powerful and widely used framework for motion planning in robotics. It helps robots figure out how to get from one point to another while avoiding obstacles, respecting joint limits, and following physical constraints.

In this post, I'll go through the tutorials available from the MoveIt website for MoveIt 2. I have a few notes to add for the first few tutorials, but the majority of my focus is on the final tutorial, Pick and Place with MoveIt Task Constructor. I'll explain more about how it works and the underlying principles so you can get started building your own task set for MoveIt.

This post is also available in video form. I work through all the tutorials on camera so you can see every step. If you'd prefer to watch, click the link below:

Controlling a 6DOF Robot Arm with ros2_control

· 17 min read
Michael Hart
Mike Likes Robots

Moving and manipulating objects are one of the most common tasks in robotics. Examples include moving objects, folding clothes, or solving Rubik's cubes. Robots that perform these tasks are often called manipulators, and they tend to be arms with some kind of gripper on the end - in my experience, a pinch or suction gripper.

One method of controlling the movement of a robot arm to a given pose is using ros2_control. By using this framework, we can use existing robot controllers for moving motors, and we even gain access to advanced behaviour like incorporating feedback into a PID control loop to more accurately position our arm. This post is all about how to control a simulated robot arm with 6 joints, using the sample code from the ROS 2 Controller Examples.

This post is also available in video form. If you'd prefer to watch, click the link below: