Go to the documentation of this file.
27 #include <VirtualRobot/Robot.h>
28 #include <VirtualRobot/XML/RobotIO.h>
33 #include <RobotAPI/interface/core/RobotState.h>
56 using ComponentPlugin::ComponentPlugin;
64 bool hasRobot(
const std::string&
id)
const;
67 const std::string&
id,
69 const VirtualRobot::RobotNodeSetPtr& rns = {},
70 const VirtualRobot::RobotNodePtr& node = {});
72 const std::string&
id,
74 const std::string& rnsName,
75 const std::string& nodeName =
"");
77 const std::string&
id,
78 VirtualRobot::RobotIO::RobotDescription loadMode,
79 const std::string& rnsName =
"",
80 const std::string& nodeName =
"");
82 const std::string&
id,
84 const Ice::StringSeq packages,
85 VirtualRobot::RobotIO::RobotDescription loadMode,
86 const std::string& rnsName =
"",
87 const std::string& nodeName =
"");
91 void setRobotRNSAndNode(
const std::string&
id,
const std::string& rnsName,
const std::string& nodeName);
98 const std::string& to,
118 const std::string&
id,
122 const std::string&
id,
123 const std::vector<Eigen::Matrix4f>& targets,
124 const Eigen::VectorXf& initialJV,
139 VirtualRobot::RobotNodeSetPtr
rns;
140 VirtualRobot::RobotNodePtr
node;
146 const std::vector<Eigen::Matrix4f>& targets,
147 const Eigen::VectorXf& initialJV,
152 static constexpr
auto _propertyName =
"RemoteStateComponentName";
153 std::string _robotStateComponentName;
155 mutable std::recursive_mutex _robotsMutex;
156 std::map<std::string, RobotData> _robots;
158 bool _deactivated =
false;
184 bool hasRobot(
const std::string&
id)
const;
187 const std::string&
id,
189 const VirtualRobot::RobotNodeSetPtr& rns = {},
190 const VirtualRobot::RobotNodePtr& node = {});
192 const std::string&
id,
194 const std::string& rnsName,
195 const std::string& nodeName =
"");
197 const std::string&
id,
198 VirtualRobot::RobotIO::RobotDescription loadMode,
199 const std::string& rnsName =
"",
200 const std::string& nodeName =
"");
202 const std::string&
id,
204 const Ice::StringSeq packages,
205 VirtualRobot::RobotIO::RobotDescription loadMode,
206 const std::string& rnsName =
"",
207 const std::string& nodeName =
"");
216 return addRobot(
id, std::forward<Ts>(ts)...);
220 RobotStateComponentPlugin::RobotData
getRobotData(
const std::string&
id)
const;
221 void setRobotRNSAndNode(
const std::string&
id,
const std::string& rnsName,
const std::string& nodeName);
233 bool synchronizeLocalClone(
const RobotStateComponentPlugin::RobotData& rdata,
const RobotStateConfig& state)
const;
242 const std::string&
id,
246 const std::string&
id,
247 const std::vector<Eigen::Matrix4f> targets,
248 const Eigen::VectorXf& initialJV,
249 const SimpleDiffIK::Parameters& params = {});
SimpleDiffIK::Result calculateRobotDiffIK(const std::string &id, const Eigen::Matrix4f &targetPose, const SimpleDiffIK::Parameters ¶ms={})
VirtualRobot::RobotPtr robot
RobotNameHelperPtr getRobotNameHelper() const
RobotStateComponentPlugin::RobotData getRobotData(const std::string &id) const
void postOnDisconnectComponent() override
SimpleDiffIK::Result calculateRobotDiffIK(const Eigen::Matrix4f &targetPose, const SimpleDiffIK::Parameters ¶ms={}) const
const std::string & getRobotStateComponentName() const
void setRobotRNSAndNode(const std::string &id, const std::string &rnsName, const std::string &nodeName)
const RobotStateComponentInterfacePrx & getRobotStateComponent() const
void setRobotStateComponentName(const std::string &name)
void setRobotRNSAndNode(const std::string &id, const std::string &rnsName, const std::string &nodeName)
VirtualRobot::RobotPtr addRobot(const std::string &id, const VirtualRobot::RobotPtr &robot, const VirtualRobot::RobotNodeSetPtr &rns={}, const VirtualRobot::RobotNodePtr &node={})
bool synchronizeLocalClone(const VirtualRobot::RobotPtr &robot) const
void setRobotStateComponent(const RobotStateComponentInterfacePrx &rsc)
VirtualRobot::RobotNodePtr node
VirtualRobot::RobotNodeSetPtr rns
bool hasRobot(const std::string &id) const
bool synchronizeLocalClone(const VirtualRobot::RobotPtr &robot) const
RobotData getRobotData(const std::string &id) const
RobotNameHelperPtr getRobotNameHelper() const
Eigen::Matrix4f transformFromTo(const std::string &from, const std::string &to, const VirtualRobot::RobotPtr &rob)
std::shared_ptr< class RobotNameHelper > RobotNameHelperPtr
VirtualRobot::RobotPtr getRobot(const std::string &id) const
This file is part of ArmarX.
SimpleDiffIK::Reachability calculateRobotReachability(const std::string &id, const std::vector< Eigen::Matrix4f > &targets, const Eigen::VectorXf &initialJV, const SimpleDiffIK::Parameters ¶ms={}) const
bool hasRobot(const std::string &id) const
const RobotStateComponentPlugin & getRobotStateComponentPlugin() const
void postCreatePropertyDefinitions(PropertyDefinitionsPtr &properties) override
RobotStateComponentPluginUser()
VirtualRobot::RobotPtr addRobot(const std::string &id, const VirtualRobot::RobotPtr &robot, const VirtualRobot::RobotNodeSetPtr &rns={}, const VirtualRobot::RobotNodePtr &node={})
armarx::plugins::RobotStateComponentPlugin RobotStateComponentPlugin
SimpleDiffIK::Reachability calculateRobotReachability(const std::string &id, const std::vector< Eigen::Matrix4f > targets, const Eigen::VectorXf &initialJV, const SimpleDiffIK::Parameters ¶ms={})
const RobotStateComponentInterfacePrx & getRobotStateComponent() const
The ManagedIceObject is the base class for all ArmarX objects.
MatrixXX< 4, 4, float > Matrix4f
VirtualRobot::RobotPtr addOrGetRobot(const std::string &id, Ts &&...ts)
void preOnInitComponent() override
SimpleDiffIK::Reachability calculateRobotReachability(const std::vector< Eigen::Matrix4f > &targets, const Eigen::VectorXf &initialJV, const SimpleDiffIK::Parameters ¶ms={}) const
Brief description of class RobotAPIComponentPlugins.
VirtualRobot::RobotPtr getRobot(const std::string &id) const
void preOnConnectComponent() override
SimpleDiffIK::Result calculateRobotDiffIK(const std::string &id, const Eigen::Matrix4f &targetPose, const SimpleDiffIK::Parameters ¶ms={}) const
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::shared_ptr< class Robot > RobotPtr