
Using Moveit for the first time can be challenging. This video explains how moveit fits in to the overall robot software architecture, and help you understand the context of the following lectures.
This video walks you through using the Moveit setup assistant. This setup wizard will use your existing URDF robot model to automatically create a ROS package containing all the needed components for kinematics and path planning. This step also prepares you for using the ROS Controllers discussed in the next lecture.
Explore how MoveIt plans trajectories and interfaces with ROS control through a hardware interface, using a Picnic Robotics boilerplate and two functions (read and write) to bridge the data layer.
This lecture begins with Installing the boilerplate hardware interface code that will be customized for your own robot. Then, a code overview explains what the boilerplate contains.
Create your own hardware interface package and create the required template files inside.
Create the hardware interface class by copying the boilerplate template. The primary action is renaming so that our custom class makes sense for our robot.
We use the boilerplate Main to create our own customized main with just a few modifications. We then go through the process of getting this new package to compile.
In this section we add custom messages to our hardware interface that will allow ROS to write commands to the robot as well as read feedback. These messages will be used to communicate with the Arduino style microcontroller connected to the robot.
In this video we create the all important Read and Write functions of the hardware interface. These use a publisher and subscriber to directly communicate with a microcontroller communicating with the robot.
In this video we create the configuration files required to customize the Hardware Interface as well as launch files for starting Moveit and our custom interface.
RVIZ setup to best display our MoveIt enabled robot.
The robot works! This is a short clip showing our progress in action on the real robot.
This video explains a buffering strategy to ensure the robot has enough points to execute in its queue. This is a critical component to achieving consistently smooth motion.
This is the final step! In this video we analyze and configure velocities to be safe for deployment on the real robot.
This course is designed for students with some ROS experience and who are wanting to use ROS to control a robotic arm. This course teaches how to actually use MoveIt - from start to finish- with a real robot arm. This is the most comprehensive course on creating a hardware interface to enable real robots to work seamlessly with MoveIt.
I begin with the basics of the MoveIt Setup Assistant, which is a simple wizard application for describing the physical characteristics of your actual robot to the MoveIt software. I then use a templated approach to creating a custom hardware interface built with ROS Control. This hardware interface provides the direct link between ROS and the real robot by leveraging ROS Control’s ability to transform MoveIt path planning into real-time joint commands.
This course has been developed using a industrial Aubo robot which is directly interfaced to and Arduino type microcontroller. Because of the Arduino interface, this course is directly applicable to any robot - wether it is industrial or DIY - that can be controlled using a series joint commands.
I have created this course because when I was working through the process of using MoveIt with an actual robot, I was surprised that there is almost no documentation that walks you through the entire process. This course is my attempt to fill this need.