com.kuka.roboticsAPI.geometricModel
Class PhysicalObject

java.lang.Object
  extended by com.kuka.common.TaggableObject
      extended by com.kuka.roboticsAPI.geometricModel.SceneGraphObject
          extended by com.kuka.roboticsAPI.geometricModel.SpatialObject
              extended by com.kuka.roboticsAPI.geometricModel.PhysicalObject
All Implemented Interfaces:
com.kuka.common.ITaggable
Direct Known Subclasses:
ApplicationObject, ApplicationTool, Device, Tool, Workpiece

public class PhysicalObject
extends SpatialObject

A physical object represents something which has a physical representation in the world. This object has load data.

The Robotics API always assumes the translation part of frames to be given in [mm].


Constructor Summary
PhysicalObject(String name)
          Creates a new PhysicalObject.
PhysicalObject(String name, LoadData loadData)
          Creates a new PhysicalObject.
 
Method Summary
 ObjectFrame addDefaultMotionFrame(String name, ITransformation offset)
          Adds a new frame with the given name and transformation from the root frame of this object.
 ObjectFrame getDefaultMotionFrame()
          Gets the current defaultMotionFrame.
 LoadData getLoadData()
          Gets a reference to the load data which is currently assigned to the object.
 IMotionContainer move(IMotion motion)
          Moves the defaultMotionFrame of the object according to the given motion.
 IMotionContainer move(IMotion motion, IMotionContainerListener listener)
          Moves the defaultMotionFrame of the object according to the given motion.
 IMotionContainer moveAsync(IMotion motion)
          Moves the defaultMotionFrame of the object according to the given motion.
 IMotionContainer moveAsync(IMotion motion, IMotionContainerListener listener)
          Moves the defaultMotionFrame of the object according to the given motion.
 void setDefaultMotionFrame(ObjectFrame defaultMotionFrame)
          Sets the defaultMotionFrame of the object.
 
Methods inherited from class com.kuka.roboticsAPI.geometricModel.SpatialObject
attachTo, attachTo, changeParent, detach, setName, switchParent, switchParent
 
Methods inherited from class com.kuka.roboticsAPI.geometricModel.SceneGraphObject
addChildFrame, addChildFrame, addChildFrame, addChildFrame, addChildFrame, addChildFrame, allObjects, changeFrameParent, changeFramePosition, findMembersOfGroup, findRobot, getAllFrames, getAllUserParameters, getChild, getChildFrameLock, getChildren, getFrame, getName, getParent, getRootFrame, getRootOfGroup, getUserParameter, groupToParent, isDescendantOf, isGroupedToParent, isMemberOfGroup, isRootOfGroup, removeFrame, renameFrame, setRootFrame, setUserParameter, toString, ungroupFromParent
 
Methods inherited from class com.kuka.common.TaggableObject
getTag, setTag
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PhysicalObject

public PhysicalObject(String name)
Creates a new PhysicalObject.

Parameters:
name - the object name.

PhysicalObject

public PhysicalObject(String name,
                      LoadData loadData)
Creates a new PhysicalObject.

Parameters:
name - the object name.
loadData - the LoadData for this physical object. Creates a shallow copy of the specified loadData.
Method Detail

getLoadData

public LoadData getLoadData()
Gets a reference to the load data which is currently assigned to the object. Changing values in the returned object will change the properties of the object.

Returns:
the load data which is currently assigned to the object.

setDefaultMotionFrame

public void setDefaultMotionFrame(ObjectFrame defaultMotionFrame)
Sets the defaultMotionFrame of the object. By default, the rootFrame is the defaultMotionFrame.

DefaultMotionFrame can be set only once. If set a second time IllegalStateException is thrown.

Parameters:
defaultMotionFrame - the future defaultMotionFrame

getDefaultMotionFrame

public ObjectFrame getDefaultMotionFrame()
Gets the current defaultMotionFrame.

Returns:
the current defaultMotionFrame

addDefaultMotionFrame

public ObjectFrame addDefaultMotionFrame(String name,
                                         ITransformation offset)
Adds a new frame with the given name and transformation from the root frame of this object. Sets the owner of the new frame to the root owner.The defaultMotionFrame of the object will be set to the created frame.

DefaultMotionFrame can be created only once.

Parameters:
name - name of the new defaultMotionFrame frame.
offset - the transformation between the new frame an the object's root frame.
Returns:
the new frame.
Throws:
IllegalStateException - if the default motion frame is already set.

moveAsync

public IMotionContainer moveAsync(IMotion motion)
Moves the defaultMotionFrame of the object according to the given motion.

The motion will be performed by a robot (or some other device) that should be found in the kinematic chain between the defaultMotionFrame and the world origin (or the destination of the specified motion). If such a robot is not found - IllegalStateException will be thrown.
If the specified motion is a cartesian motion - it is the defaultMotionFrame that will reach the destination and/or follow the path defined by the motion. If the motion is joint specific - the motion directly affects the joints of the robot connected with this frame.

This is an asynchronous call and will return immediately.

Parameters:
motion - the motion that should be executed
Returns:
the execution container containing runtime information for the execution of the motion
Throws:
IllegalStateException - if no robot that can execute the specified motion found

moveAsync

public IMotionContainer moveAsync(IMotion motion,
                                  IMotionContainerListener listener)
Moves the defaultMotionFrame of the object according to the given motion.

The motion will be performed by a robot (or some other device) that should be found in the kinematic chain between the defaultMotionFrame and the world origin (or the destination of the specified motion). If such a robot is not found - IllegalStateException will be thrown.
If the specified motion is a cartesian motion - it is the defaultMotionFrame that will reach the destination and/or follow the path defined by the motion. If the motion is joint specific - the motion directly affects the joints of the robot connected with this frame.

This is an asynchronous call and will return immediately.

Parameters:
motion - the motion that should be executed
listener - listener for the motion container
Returns:
the execution container containing runtime information for the execution of the motion
Throws:
IllegalStateException - if no robot that can execute the specified motion found

move

public IMotionContainer move(IMotion motion)
Moves the defaultMotionFrame of the object according to the given motion.

The motion will be performed by a robot (or some other device) that should be found in the kinematic chain between the defaultMotionFrame and the world origin (or the destination of the specified motion). If such a robot is not found - IllegalStateException will be thrown.
If the specified motion is a cartesian motion - it is the defaultMotionFrame that will reach the destination and/or follow the path defined by the motion. If the motion is joint specific - the motion directly affects the joints of the robot connected with this frame.

Parameters:
motion - the motion that should be executed
Returns:
the execution container containing runtime information for the execution of the motion
Throws:
IllegalStateException - if no robot that can execute the specified motion found

move

public IMotionContainer move(IMotion motion,
                             IMotionContainerListener listener)
Moves the defaultMotionFrame of the object according to the given motion.

The motion will be performed by a robot (or some other device) that should be found in the kinematic chain between the defaultMotionFrame and the world origin (or the destination of the specified motion). If such a robot is not found - IllegalStateException will be thrown.
If the specified motion is a cartesian motion - it is the defaultMotionFrame that will reach the destination and/or follow the path defined by the motion. If the motion is joint specific - the motion directly affects the joints of the robot connected with this frame.

Parameters:
motion - the motion that should be executed
listener - listener for the motion container
Returns:
the execution container containing runtime information for the execution of the motion
Throws:
IllegalStateException - if no robot that can execute the specified motion found


Copyright © 2019. All rights reserved.