|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.kuka.common.TaggableObject
com.kuka.roboticsAPI.geometricModel.SceneGraphObject
com.kuka.roboticsAPI.geometricModel.SpatialObject
com.kuka.roboticsAPI.geometricModel.PhysicalObject
com.kuka.roboticsAPI.deviceModel.Device
com.kuka.roboticsAPI.deviceModel.MovableDevice
com.kuka.roboticsAPI.deviceModel.Robot
public abstract class Robot
A robot is a device which can hold a tool and do some simple motions out of the box. Furthermore, it can be used in complex motions as device.
| Field Summary |
|---|
| Fields inherited from class com.kuka.roboticsAPI.deviceModel.Device |
|---|
_hardwareVersion |
| Constructor Summary | |
|---|---|
protected |
Robot(Controller controller,
String name)
Creates a new robot. |
| Method Summary | |
|---|---|
LoadData |
calculateLoadOnFlange()
Calculates the load data of all objects that are attached to the flange of the calling robot. |
boolean |
checkFrameContainsRedundancy(AbstractFrame frame)
Checks if the specified frame contains redundancy information for this robot. |
protected abstract ITransformationProvider |
createBaseFlangeTransformationProvider()
Creates the robot-base-to-flange transformation provider for this robot. |
protected com.kuka.common.params.IParameterSet |
createDefaultsParameterSet()
Creates the defaults parameter set for this device. |
void |
deactivateDeviceCartesianVelocityLimit()
Deactivates the Device Cartesian velocity limit. |
void |
detachAll()
Detaches all objects attached on (or connected with) the defaultMotionFrame of the robot. |
CartesianVelocityLimitInfo |
getCartesianVelocityLimitInfo()
Gets a reference to a CartesianVelocityLimits object which contains all the Cartesian Velocity Limit related information for the current robot. |
Frame |
getCommandedCartesianPosition(ObjectFrame frameOnFlange)
Gets the commanded cartesian position of the specified frame in the frame tree below the flange of the robot relative to WORLD base frame SceneGraphObject.getRootFrame(). |
Frame |
getCommandedCartesianPosition(ObjectFrame frameOnFlange,
AbstractFrame reference)
Gets the commanded cartesian position of the specified frame in the frame tree below the flange of the robot relative to the given reference frame. |
JointPosition |
getCommandedJointPosition()
Gets the commanded joint positions for this robot. |
Frame |
getCurrentCartesianPosition(ObjectFrame frameOnFlange)
Gets the current cartesian position of the specified frame in the frame tree below the flange of the robot relative to WORLD base frame SceneGraphObject.getRootFrame(). |
Frame |
getCurrentCartesianPosition(ObjectFrame frameOnFlange,
AbstractFrame reference)
Gets the current cartesian position of the specified frame in the frame tree below the flange of the robot relative to the given reference frame. |
JointPosition |
getCurrentJointPosition()
Gets a copy of the current measured joint positions of the robot. |
ObjectFrame |
getDefaultMotionFrame()
Deprecated. use getFlange() instead |
RobotParameterSet |
getDefaults()
Gets the map containing the default values of the device. |
ObjectFrame |
getFlange()
Gets the flange frame of the robot. |
Frame |
getForwardKinematic(JointPosition joints)
Gets the forward kinematic value of the given joints for this robot. |
JointPosition |
getHomePosition()
Returns the home position of this robot. |
protected abstract JointPosition |
getInitialHomePosition()
Gets the default home position of the concrete robot. |
JointPosition |
getInverseKinematic(ITransformation trafo,
JointPosition correspondingJoints)
Gets the inverse kinematics value of the given matrix for this robot. |
abstract JointPosition |
getInverseKinematicFromFrameAndRedundancy(AbstractFrame frame)
Gets the inverse kinematics value of the given frame for this robot. |
int |
getJointCount()
Gets the joint count of this robot. |
JointLimits |
getJointLimits()
Get the JointLimits for this robot. |
PositionInformation |
getPositionInformation(ObjectFrame frameOnFlange)
Gets information about the current and commanded position of the specified frame in the frame tree below the flange of the robot relative to WORLD base frame SceneGraphObject.getRootFrame(). |
PositionInformation |
getPositionInformation(ObjectFrame frameOnFlange,
AbstractFrame reference)
Gets information about the current and commanded position of the specified frame in the frame tree below the flange of the robot relative to the given reference frame. |
boolean |
hasActiveMotionCommand()
Returns true if the robot is currently executing a motion command for example by jogging or running an application. |
protected int |
initializeJointCount()
Initializes the joint count of this device. |
boolean |
isInHome()
Returns true if the robot is in its home position, i.e. its commanded joint position is close to the home position, and false otherwise. |
boolean |
isMastered()
Returns true if all axes of this robot are mastered. |
IMotionContainer |
move(IMotion motion)
Moves the flange of the robot according to the given motion. |
IMotionContainer |
move(IMotion motion,
IMotionContainerListener listener)
Moves the flange of the robot according to the given motion. |
IMotionContainer |
moveAsync(IMotion motion)
Moves the flange of the robot according to the given motion. |
IMotionContainer |
moveAsync(IMotion motion,
IMotionContainerListener listener)
Moves the flange of the robot according to the given motion. |
protected void |
onDispose()
Called when the device get's disposed. |
protected void |
onInitialize()
Called when the device get's initialized. |
void |
setDefaultMotionFrame(ObjectFrame defaultMotionFrame)
Sets the defaultMotionFrame of the object. |
void |
setDeviceCartesianVelocityLimit(int cartesianVelocityLimit)
Sets the Device Cartesian velocity limit to the specified value. |
void |
setHomePosition(AbstractFrame home)
Sets the home position of this robot. |
void |
setHomePosition(JointPosition homePosition)
Sets the home position of this robot. |
| Methods inherited from class com.kuka.roboticsAPI.deviceModel.MovableDevice |
|---|
calculateReadyToMove, getOperationMode, getSafetyState, isMotionEnabled, isReadyToMove |
| Methods inherited from class com.kuka.roboticsAPI.deviceModel.Device |
|---|
acquireCommandPermit, dispose, getContext, getController, getHardwareVersion, getUniqueName, initialize, isInitialized, refreshHardwareVersion, releaseCommandPermit, setName |
| Methods inherited from class com.kuka.roboticsAPI.geometricModel.PhysicalObject |
|---|
addDefaultMotionFrame, getLoadData |
| Methods inherited from class com.kuka.roboticsAPI.geometricModel.SpatialObject |
|---|
attachTo, attachTo, changeParent, detach, 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 |
| Methods inherited from interface com.kuka.roboticsAPI.deviceModel.IOperationModeProvider |
|---|
getOperationMode |
| Constructor Detail |
|---|
protected Robot(Controller controller,
String name)
controller - The controller to which this device belongs.name - The name of the device.| Method Detail |
|---|
protected abstract ITransformationProvider createBaseFlangeTransformationProvider()
public void setDefaultMotionFrame(ObjectFrame defaultMotionFrame)
DefaultMotionFrame can be set only once. If set a second time
IllegalStateException is thrown.
If this method is used to set the defaultMotionFrame for a robot, an IllegalArgumentException is thrown. The DefaultMotionFrame of a robot is always the robot flange.
setDefaultMotionFrame in class PhysicalObjectdefaultMotionFrame - the future defaultMotionFrame
IllegalArgumentException - The defaultMotionFrame cannot be set for a robot.public final int getJointCount()
public RobotParameterSet getDefaults()
Device
getDefaults in class Deviceprotected com.kuka.common.params.IParameterSet createDefaultsParameterSet()
DeviceThis method is called once during device initialization. This is the place for the device to return a device specific type of a parameter set. The device should then also override the getDefaults() method and change the return type of this method appropriately.
createDefaultsParameterSet in class Devicepublic JointPosition getHomePosition()
public void setHomePosition(JointPosition homePosition)
homePosition - The new home position of this robot. The amount of values must match the joint count of this robot.
Otherwise an exception will be thrown.public void setHomePosition(AbstractFrame home)
home - A frame with redundancy information (e.g. a teached frame) defining the new home position.protected void onInitialize()
DeviceMay be overridden by subclasses. Will only be called once. If this method fails with an exception, the device will not be initialized and may behave strange under some circumstances.
onInitialize in class Deviceprotected abstract JointPosition getInitialHomePosition()
protected int initializeJointCount()
public abstract JointPosition getInverseKinematicFromFrameAndRedundancy(AbstractFrame frame)
frame - The frame for which the inverse kinematics is requested.
public final JointPosition getInverseKinematic(ITransformation trafo,
JointPosition correspondingJoints)
trafo - The matrix for which the inverse kinematics is requested.correspondingJoints - The optional joint configuration.
public final Frame getForwardKinematic(JointPosition joints)
joints - The joints for which the forward kinematic is requested.
public final JointLimits getJointLimits()
public final JointPosition getCurrentJointPosition()
public final Frame getCurrentCartesianPosition(ObjectFrame frameOnFlange,
AbstractFrame reference)
Frame class.
Additionally, this method fills the created frame with the redundancy information for the robot in the created frame.
frameOnFlange - The frame below or equal to the flange of the robot. null is not allowedreference - The reference frame. null is not allowed.
public final Frame getCurrentCartesianPosition(ObjectFrame frameOnFlange)
SceneGraphObject.getRootFrame(). The returned frame is a new instance of the
Frame class.
Additionally, this method fills the frame with frame information describing the redundancy values for the robot in the given frame.
frameOnFlange - The frame below or equal to the flange of the robot. null is not allowed
public final Frame getCommandedCartesianPosition(ObjectFrame frameOnFlange,
AbstractFrame reference)
The returned frame is a new instance of the Frame class including the redundancy information of the
robot.
frameOnFlange - The frame below or equal to the flange of the robot. null is not allowedreference - The reference frame. null is not allowed.
public final Frame getCommandedCartesianPosition(ObjectFrame frameOnFlange)
SceneGraphObject.getRootFrame().
The returned frame is a new instance of the Frame class including the redundancy information of the
robot.
frameOnFlange - The frame below or equal to the flange of the robot. null is not allowed
public final PositionInformation getPositionInformation(ObjectFrame frameOnFlange,
AbstractFrame reference)
frameOnFlange - The frame below or equal to the flange of the robot. null is not allowedreference - The reference frame. null is not allowed.
PositionInformation are new
instances of the Frame class containing the redundancy information of the robot in the created
frame.public final PositionInformation getPositionInformation(ObjectFrame frameOnFlange)
SceneGraphObject.getRootFrame().
frameOnFlange - The frame below or equal to the flange of the robot. null is not allowed
PositionInformation are new
instances of the Frame class containing the redundancy information of the robot in the created
frame.public final JointPosition getCommandedJointPosition()
@Deprecated public ObjectFrame getDefaultMotionFrame()
getFlange() instead
getDefaultMotionFrame in class PhysicalObjectpublic ObjectFrame getFlange()
This is always the same frame as the defaultMotionFrame of the robot.
public boolean isMastered()
public boolean hasActiveMotionCommand()
PositionHold.
public IMotionContainer moveAsync(IMotion motion)
If the specified motion is a cartesian motion - it is the flange of the robot that should reach the destination and/or follow the path defined by the motion. If the motion is joint specific - the motion affects the joints of the robot directly.
This is an asynchronous call and will return immediately.
moveAsync in class PhysicalObjectmotion - the motion that should be executed
IllegalArgumentException - if motion is null
public IMotionContainer moveAsync(IMotion motion,
IMotionContainerListener listener)
If the specified motion is a cartesian motion - it is the flange of the robot that should reach the destination and/or follow the path defined by the motion. If the motion is joint specific - the motion affects the joints of the robot directly.
This is an asynchronous call and will return immediately.
moveAsync in class PhysicalObjectmotion - the motion that should be executedlistener - listener for the motion container
IllegalArgumentException - if motion is nullpublic IMotionContainer move(IMotion motion)
If the specified motion is a cartesian motion - it is the flange of the robot that should reach the destination and/or follow the path defined by the motion. If the motion is joint specific - the motion affects the joints of the robot directly.
move in class PhysicalObjectmotion - the motion that should be executed
IllegalArgumentException - if motion is null
public IMotionContainer move(IMotion motion,
IMotionContainerListener listener)
If the specified motion is a cartesian motion - it is the flange of the robot that should reach the destination and/or follow the path defined by the motion. If the motion is joint specific - the motion affects the joints of the robot directly.
move in class PhysicalObjectmotion - the motion that should be executedlistener - listener for the motion container
IllegalArgumentException - if motion is nullpublic void detachAll()
protected void onDispose()
DeviceMay be overridden by subclasses. Will only be called once.
onDispose in class Devicepublic LoadData calculateLoadOnFlange()
public boolean checkFrameContainsRedundancy(AbstractFrame frame)
frame - frame to check
public boolean isInHome()
public void setDeviceCartesianVelocityLimit(int cartesianVelocityLimit)
cartesianVelocityLimit - The new Device Cartesian velocity to set in [mm/s].
com.kuka.common.exceptions.NotSupportedException - If this function is not implemented for the actual robot type.public void deactivateDeviceCartesianVelocityLimit()
com.kuka.common.exceptions.NotSupportedException - If this function is not implemented for the actual robot type.public CartesianVelocityLimitInfo getCartesianVelocityLimitInfo()
com.kuka.common.exceptions.NotSupportedException - If this function is not implemented for the actual robot type.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||