4.3.4 Movelt! Setup assistant – configuring controllers

Course subject(s) Module 4. Manipulation

We will continue on where we left! In this lecture, we will dive into some deeper details of the configuration of controllers. This is as important as the previous video for a proper understanding of MoveIt!

Configuring the controller manager

The controller file is a part of the trajectory execution launch files. So, we are now focusing on executing motion.

About controllers:

  • Trajectories are executed on simulated robots or real hardware.
  • Trajectory execution is controlled by a controller on a simulator or hardware driver.
  • Communication happens over ROS topics and action servers.

Gazebo is controlled by gazebo_ros_control (all in hrwros_gazebo). Gazebo controls motion and knows poses.
MoveIt! is controlled by moveit_* (all in hrwros_moveit_config). MoveIt! plans movement and manages the controls in Gazebo.

  • In hrwros_gazebo, all controller files live under the config folder.
  • Joint state controllers contain a name, a type, and a publishing frequency.
  • Trajectory controllers contain a name, a type, a list of associated joints, their constraints, and some other information to do with tolerances.
  • Controllers are provided as ROS action servers: They need to be powered by nodes! We can launch them using launch files.
  • In MoveIt!, we need to list all the earlier defined controller clients we want to use, and their namespaces. We also define their action namespaces, their type, and the joints they control (from the gazebo controller).
  • Finally, we need a launch file for our MoveIt! controller, where we define a name, which controller manager system we want to use from MoveIt!, and the file from the previous point where we defined the controller.

Now, we are all set to actually move our robot arms!

Creative Commons License
Hello (Real) World with ROS - Robot Operating System by TU Delft OpenCourseWare is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Based on a work at https://online-learning.tudelft.nl/courses/hello-real-world-with-ros-robot-operating-systems//.
Back to top