0
$\begingroup$

Rosanswers logo

Hi

I am trying to send trajectory commands to the ABB IRB120. I have looked at the Moveit!-based package provided for this robot as well as the ROS-I based packages to control the robot.

Both the individual packages have sort-of enough documentation, but it wasn't very clear to me when to use which one. For my simple task of sending a trajectory command, is it okay to just work with the Moveit! based package?

Appreciate the help!


Originally posted by yash_5 on ROS Answers with karma: 18 on 2021-12-15

Post score: 0

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

The packages you are referring to are actually both part of the ROS-I project. Packages with the name abb_xxx_support provide URDF models for various ABB robots, and packages with the name abb_xxx_moveit_config provide configuration files for integration with the MoveIt! planning framework. These packages are distributed via the ROS build farm (as you linked), and the source code is hosted on this ROS-I Github repository. Additional "experimental" models can be found in this repository.

The second package that you linked to is a robot driver that allows trajectories planned in ROS to be executed on the robot controller. It also publishes the current joint state of the robot. This package used to be part of the same repository as the support and MoveIt packages, but it was recently moved to its own repository.

For my simple task of sending a trajectory command, is it okay to just work with the Moveit! based package?

You'll actually need all three packages:

  • The support package provides the URDF to be a representation of the robot (i.e. meshes, kinematic structure, etc.)
  • The MoveIt! config package defines launch and configuration files for running a MoveIt! motion planning node
  • The driver allows trajectories planned in MoveIt to be executed on the robot

Check out the ABB driver wiki for instructions on installing the driver onto your robot controller. There are also some good tutorials here in exercises 3.3 and 3.4 and here about MoveIt! config packages and basic planning in MoveIt! using Rviz.


Originally posted by marip8 with karma: 26 on 2021-12-17

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by yash_5 on 2021-12-17:
Thanks for the detailed answer with clear explanations of how different packages talk to each other!

$\endgroup$
0
$\begingroup$

Rosanswers logo

Using MoveIt! is a great way to do simple tasks like the one you describe. The key thing to understand is that although the MoveIt! package may include calls to start up the robot itself, it doesn't include any of the robot-specific drivers. To make a physical robot move, you'll need to build the robot driver package in addition to the ...moveit_config package (as well as configuring the robot to accept commands from ROS). This page has some info on how to set up the robot itself.

The ABB driver package that you linked is a new one which has a lot of great features, but for something simple like you're doing, you might look at the older version (which is still in wide use). This is the driver that the MoveIt! config package is currently trying to call when this launch file is run with the sim flag set to false (the actual call to launch the driver is in the included launch file).


Originally posted by bgreenberg with karma: 11 on 2021-12-17

This answer was NOT ACCEPTED on the original site

Post score: 1


Original comments

Comment by yash_5 on 2021-12-17:
Understood, thanks!

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.