Robot origin and BASE coordinate system

Started by bsuroboticslab, November 13, 2015, 10:10:37 PM

Previous topic - Next topic


Hi Johannes,

When I set the BASE XYZABC values in the latest KUKA|prc v2 beta, the origin/position of the robot itself changes to the XY coordinates I specified for the BASE, which is not what I would expect since as I understand it the BASE specifies the coordinate system for the work surface/piece, not the robot origin.  How/where is the robot position specified?  What is the relationship of the robot origin to the world coordinate system?

Thanks in advance for your help!

Johannes @ Robots in Architecture

Hello Dan,

That is "working as intended": Basically the base defines a local coordinate system through its offset from the robot's global origin. So you could either show that by placing the robot on the origin of Rhino and moving the toolpath, or the other way round. As robots - and their global origins - can be placed quite freely in 3D space we decided that moving the robot makes more sense than moving the workpiece. Otherwise you would also e.g. have a disconnect between your referenced geometry and the robot toolpaths.
The only situation where we rotate the workpiece along with it is when rotary axes are used, as it would be very strange to have the robot rotate around you in the simulation.

I hope that makes our decision clearer - as often with robot things there is no "right" way to do it, but many different ways that lead to the same goal.



Hi Johannes,

This topic is quite old. I've attached a definition of my cell (Arm + custom track + custom turn table). In this definition, one can choose between the 2 positioning systems you are referring to in your post :

A. The cell is positioned so that $WORLD = Rhino WorldXY
B. The cell is positioned so that $BASE = Rhino WorldXY

Option A is what I want as my robot is interacting with other systems in the cell (a tool changer, some laser pointers, a washing area, ...). However, I still want to produce a KRL code that is expressed relative to the $BASE (positioned at the center of my turn table).

1. How would you achieve this ?!

2. More generally, would it be possible to produce KRL commands relative to an input base ?

3. How would you achieve change of $Base in the same simulation ? This last possibility would be useful if your robot is working on several parts at different locations/tables and you want to produce each part of the toolpath relative to the base of the table the robot is working on.


Johannes @ Robots in Architecture


Changing the base is currently not supported as we never saw it as a high priority. But I've now also come across a few projects that would have benefited from it.
I'll put it to my todo list!