“jog_control”: package of jog control for robot arms (1)

ByRyosuke Tajima

“jog_control”: package of jog control for robot arms (1)

ROS and MoveIt! are very powerful tools for the robot arm. With the basic function of ROS and the framework of ros_control , any robot arms can be moved with a unified interface. MoveIt! can easily perform the motion plan of the robot arm in consideration of obstacle avoidance and restraint condition using various algorithms. Looking at the ROS – Industrial repository, many packages are already released for various industrial robot arms operating with ROS and MoveIt!. These functions are a major incentive to use the industrial robot arm with ROS.

However, actually using it, you probably noticed the functions that the industrial robot arms support, while they do not exist in ROS… They are jogging and teaching.

Jogging is a function to move the joints and hands of the robot a little at a time and reach the target robot posture. By jogging, it is possible to move the robot continuously by giving a small amount of displacement of the robot’s joint angle while visually observing the robot. It is an essential function for alignment the hand with the workpiece. The MoveIt! rviz plug-in can specify the target position and orientation of the robot’ s hand with the GUI (Interactive Marker) using the mouse. However, you may notice it is quite difficult to move it as desired with the rviz plug-in while the robot are working in actual environment.

Teaching is a programming-like function that describes the order and condition of the target task after remembering the target robot’s posture (as a very simplified explanation).

On commercially available industrial robots, these functions are usually built in the controller and teaching pendant. You may have a choice to use these functions, however, sometimes ROS robots suffer when we try to teach the robot to do some tasks, even in a simple demo.

The “jog_controll” meta-package adds the function of jog operation to ROS and MoveIt!.

It supports “joint jog” which gives motion of small angle to joint and “frame jog” which gives a small displacement of position and orientation to the target coordinate system to operate.

The “jog_msgs” package is a new message package for giving command values ​​for jog operation. It includes JogJoint.msg giving the displacement amount of the joint jog and JogFrame.msg giving the displacement amount of the frame jog.

The “jog_controller” package is a package that receives these messages and actually moves the robot. Currently, there are jog_joint_node for the joint jog and jog_frame_node for the frame jog. It also includes the rviz panel plug-ins “JogJointPanel” and “JogFramePanel” to give these command values.

With these packages, you will be able to jog the various robot arms, for instance, the UR 5, Denso VS 060, TRA 1, NEXTAGE Open and other robots on ROS-I repositories.

Frame jog operation of UR 5

Jog operation of ABB IRB 2400

These packages are still under development, functional and verification are still not enough and documentation is also missing. If you are interested, please try it with your own robot and report problems in Issues. We would like to make a better package by receiving your feedbacks.

New efforts are being made on the teaching function. We would like to introduce this in another article.

IMU ADIS16470 and adi_driver at the 7th IoT / M2M exhibition will be on display!
We are heading to ROS-I Asia Pacific Workshop!

About the author

Ryosuke Tajima administrator

You must be logged in to post a comment.