Live Connection to the ABB Robot

The objective of this tutorial is to present the procedure for connecting to the service port of the ABB controller and polling the robot configuration real time. This is a unique feature of Jeneratiff that bring the physical world into the digital, simplifies calibration and development.

Preliminary Work

Create a Robot Model, a Forward Kinematic and Display Model & Traces components as per standard operating procedure. Insert a Robot Communications component and provide the Internet Address with Port Number 5515. Use 500msec polling interval so the controller is not overwhelmed. I have not extensively tested the limits of polling below 100msec but I would imagine at some point the connection will get saturated and packets will be dropped if nothing worse happens. So keep the polling Interval to 250-500msec range. Right click the component and select activate.

If everything goes as planned the robot will start transmitting information such as the joint angles, inputs and outputs back to Jeneratiff. The joint angles will be transformed through the Forward Kinematics into a State object which will then be visualized on screen. If the connection fails it might be that you cannot connect to the robot anyway (try to use an FTP client to ensure that this is the case and not a Jeneratiff problem). It may be that the Windows or Antivirus firewall is blocking out-going connections from the particular port number (you need add an exception in the firewall configuration rule set).

Verifying Robot Motion Profile

A typical use case for this feature is to record and study the actual behavior of the robot by tracking its motion path through the Robot Motion Traces component. Set the Program Pointer to Main, reduce the speed fraction to 25% or lower, reset the trace recorder and play back the robot program. Jeneratiff will capture the points visited on the fly and trace the path as reported by the robot. This is super useful for approximate position paths where interim target frames are not visited exactly. It is also rather useful for studying the smoothness of transitions between target frames. Nevertheless, you will need to find a good balance between motion speed and polling interval in order to produce high resolution recordings.

Quick Calibration Procedure

The conventional approach for binding between the digital and the physical world for all kinds of computer controlled machinery involves jogging the machine to various positions around the workspace and sampling machine configurations. For instance a laser cutter or a 3-axis CNC machine require one origin point, often at the top of material, while the orientation of the X, Y and Z-axes are fixed along the machine’s volume. In the case of robots, due to higher degrees of freedom, it is necessary to either record unambiguous joint angles (common in pick and place applications) or a complete coordinate system by taking at least three points: origin, X-axis and Y-axis which can be used from CAD/CAM to physical space transformations.

Robot Communications makes this process so much easier as it is no longer required to setup abstract work coordinates in Rhino and sampled work piece transforms to the physical context. Instead you may jog the robot till it touches off workspace key-features, double click the forward kinematics component and record positions and orientations directly in Rhino. The robot is thus transformed into an old school contact 3D scanner where you can import contextual features such the table extremities or existing objects within the workspace and then directly design in place or around them.

From Monitoring to Feedback

The data transmitted from the robot to Jeneratiff may used for general purpose computations. It is not clear as of yet what the implications of this may be but it certainly has potential for interesting applications. More on this topic in the future.