|
|
Mimics the behaviour of the VirtualRobot::Robot class while redirecting everything to an Ice proxy. More...
#include <RobotAPI/libraries/core/remoterobot/RemoteRobot.h>
Inheritance diagram for RemoteRobot:Public Member Functions | |
| VirtualRobot::RobotPtr | createLocalClone () |
| Clones the structure of this remote robot to a local instance. | |
| Eigen::Matrix4f | getGlobalPose () const override |
| std::string | getName () const override |
| VirtualRobot::RobotNodePtr | getRobotNode (const std::string &robotNodeName) const override |
| void | getRobotNodes (std::vector< VirtualRobot::RobotNodePtr > &storeNodes, bool clearVector=true) const override |
| VirtualRobot::RobotNodeSetPtr | getRobotNodeSet (const std::string &nodeSetName) const override |
| void | getRobotNodeSets (std::vector< VirtualRobot::RobotNodeSetPtr > &storeNodeSet) const override |
| VirtualRobot::RobotNodePtr | getRootNode () const override |
| float | getScaling () |
| SharedRobotInterfacePrx | getSharedRobot () const |
| Use this method to share the robot instance over Ice. | |
| bool | hasRobotNode (const std::string &robotNodeName) const override |
| bool | hasRobotNode (VirtualRobot::RobotNodePtr) const override |
| bool | hasRobotNodeSet (const std::string &name) const override |
| RemoteRobot (SharedRobotInterfacePrx robot) | |
| ~RemoteRobot () override | |
Static Public Member Functions | |
| static VirtualRobot::RobotPtr | createLocalClone (RobotStateComponentInterfacePrx robotStatePrx, const std::string &filename=std::string(), const Ice::StringSeq packages=Ice::StringSeq(), VirtualRobot::RobotIO::RobotDescription loadMode=VirtualRobot::RobotIO::eFull) |
| static VirtualRobot::RobotPtr | createLocalClone (SharedRobotInterfacePrx sharedRobotPrx, std::string filename=std::string(), float scaling=1.0f, const Ice::StringSeq packages=Ice::StringSeq(), VirtualRobot::RobotIO::RobotDescription loadMode=VirtualRobot::RobotIO::eFull) |
| static VirtualRobot::RobotPtr | createLocalCloneFromFile (RobotStateComponentInterfacePrx robotStatePrx, VirtualRobot::RobotIO::RobotDescription loadMode=VirtualRobot::RobotIO::eFull) |
| This is a convenience function for createLocalClone, which automatically gets the filename from the RobotStateComponent, loads robot from the file and syncs it once. | |
| static bool | synchronizeLocalClone (VirtualRobot::RobotPtr robot, RobotStateComponentInterfacePrx robotStatePrx) |
| static bool | synchronizeLocalClone (VirtualRobot::RobotPtr robot, SharedRobotInterfacePrx sharedRobotPrx) |
| static bool | synchronizeLocalCloneToState (VirtualRobot::RobotPtr robot, RobotStateConfig const &state) |
| static bool | synchronizeLocalCloneToTimestamp (VirtualRobot::RobotPtr robot, RobotStateComponentInterfacePrx robotStatePrx, Ice::Long timestamp) |
| Synchronizes a local robot to a robot state at timestamp. | |
Protected Member Functions | |
| VirtualRobot::RobotNodePtr | createLocalNode (SharedRobotNodeInterfacePrx remoteNode, std::vector< VirtualRobot::RobotNodePtr > &allNodes, std::map< VirtualRobot::RobotNodePtr, std::vector< std::string > > &childrenMap, VirtualRobot::RobotPtr robo) |
| void | deregisterRobotNode (VirtualRobot::RobotNodePtr node) override |
| Not implemented yet. | |
| void | deregisterRobotNodeSet (VirtualRobot::RobotNodeSetPtr nodeSet) override |
| Not implemented yet. | |
| VirtualRobot::EndEffectorPtr | getEndEffector (const std::string &endEffectorName) const override |
| Not implemented yet. | |
| void | getEndEffectors (std::vector< VirtualRobot::EndEffectorPtr > &storeEEF) const override |
| Not implemented yet. | |
| bool | hasEndEffector (const std::string &endEffectorName) const override |
| Not implemented yet. | |
| void | registerEndEffector (VirtualRobot::EndEffectorPtr endEffector) override |
| Not implemented yet. | |
| void | registerRobotNode (VirtualRobot::RobotNodePtr node) override |
| Not implemented yet. | |
| void | registerRobotNodeSet (VirtualRobot::RobotNodeSetPtr nodeSet) override |
| Not implemented yet. | |
| void | setGlobalPose (const Eigen::Matrix4f &globalPose, bool applyValues=true) override |
| Sets the global pose of the robot. | |
| void | setRootNode (VirtualRobot::RobotNodePtr node) override |
| Not implemented yet. | |
Static Protected Member Functions | |
| static VirtualRobot::RobotNodePtr | createRemoteRobotNode (SharedRobotNodeInterfacePrx, VirtualRobot::RobotPtr) |
Protected Attributes | |
| std::map< std::string, VirtualRobot::RobotNodePtr > | _cachedNodes |
| SharedRobotInterfacePrx | _robot |
| VirtualRobot::RobotNodePtr | _root |
Static Protected Attributes | |
| static std::recursive_mutex | m |
Mimics the behaviour of the VirtualRobot::Robot class while redirecting everything to an Ice proxy.
For a description of the members please refer to the Simox documentation (VirtualRobot::Robot). Note that not the complete interface has been made available yet. These functions are marked as protected.
| RemoteRobot | ( | SharedRobotInterfacePrx | robot | ) |
|
override |
| VirtualRobot::RobotPtr createLocalClone | ( | ) |
Clones the structure of this remote robot to a local instance.
|
static |
Creates a local robot that is synchronized once but not updated any more. You can use the synchronizeLocalClone method to update the joint values. Note that only the kinematic structure is cloned, but the visualization files, collision models, end effectors, etc are not copied. This means you can use this model for kinematic computations (e.g. coordinate transformations) but not for advanced features like collision detection. In order to get a fully featured robot model you can pass a filename to VirtualRobot::Robot, but then you need to make sure that the loaded model is identical to the model of the remote robot (otherwise errors will occur). In the packages parameter you can pass in ArmarX packages, in which the robot file model might be in. The loadMode specifies in which mode the model should be loaded. Refer to simox for more information (only matters if filename was passed in).
|
static |
|
static |
This is a convenience function for createLocalClone, which automatically gets the filename from the RobotStateComponent, loads robot from the file and syncs it once.
| robotStatePrx | Proxy to the RobotStateComponent |
| loadMode | The loadMode specifies in which mode the model should be loaded. Refer to simox for more information. |
|
protected |
|
staticprotected |
|
overrideprotected |
Not implemented yet.
|
overrideprotected |
Not implemented yet.
|
overrideprotected |
Not implemented yet.
|
overrideprotected |
Not implemented yet.
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
| float getScaling | ( | ) |
| SharedRobotInterfacePrx getSharedRobot | ( | ) | const |
Use this method to share the robot instance over Ice.
|
overrideprotected |
Not implemented yet.
|
override |
|
override |
|
override |
|
overrideprotected |
Not implemented yet.
|
overrideprotected |
Not implemented yet.
|
overrideprotected |
Not implemented yet.
|
overrideprotected |
Sets the global pose of the robot.
| globalPose | new global pose |
| applyValues | No effect. Will be always applied. |
|
overrideprotected |
Not implemented yet.
|
static |
Use this method to synchronize (i.e. copy the joint values) from the remote robot to the local clone. The local clone must have the identical structure as the remote robot model, otherwise an error will be reported. This is the fastest way to get update a local robot.
|
static |
|
static |
|
static |
Synchronizes a local robot to a robot state at timestamp.
| robot | Local robot that should be updated |
| robotStatePrx | Proxy to the RobotStateComponent |
| timestamp | Timestamp to which the local robot should be sychronized. Must be in range of the state history of the RobotStateComponent. |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
staticprotected |