Go to the documentation of this file.
27 #include <VirtualRobot/VirtualRobot.h>
28 #include <VirtualRobot/XML/RobotIO.h>
32 #include <RobotAPI/interface/core/RobotState.h>
55 using ComponentPlugin::ComponentPlugin;
63 bool hasRobot(
const std::string&
id)
const;
67 const VirtualRobot::RobotNodeSetPtr& rns = {},
68 const VirtualRobot::RobotNodePtr& node = {});
71 const std::string& rnsName,
72 const std::string& nodeName =
"");
74 VirtualRobot::RobotIO::RobotDescription loadMode,
75 const std::string& rnsName =
"",
76 const std::string& nodeName =
"");
79 const Ice::StringSeq packages,
80 VirtualRobot::RobotIO::RobotDescription loadMode,
81 const std::string& rnsName =
"",
82 const std::string& nodeName =
"");
87 const std::string& rnsName,
88 const std::string& nodeName);
95 const std::string& to,
103 const RobotStateConfig& state)
const;
121 const std::vector<Eigen::Matrix4f>& targets,
122 const Eigen::VectorXf& initialJV,
137 VirtualRobot::RobotNodeSetPtr
rns;
138 VirtualRobot::RobotNodePtr
node;
145 const Eigen::VectorXf& initialJV,
151 static constexpr
auto _propertyName =
"RemoteStateComponentName";
152 std::string _robotStateComponentName;
154 mutable std::recursive_mutex _robotsMutex;
155 std::map<std::string, RobotData> _robots;
157 bool _deactivated =
false;
184 bool hasRobot(
const std::string&
id)
const;
188 const VirtualRobot::RobotNodeSetPtr& rns = {},
189 const VirtualRobot::RobotNodePtr& node = {});
192 const std::string& rnsName,
193 const std::string& nodeName =
"");
195 VirtualRobot::RobotIO::RobotDescription loadMode,
196 const std::string& rnsName =
"",
197 const std::string& nodeName =
"");
200 const Ice::StringSeq packages,
201 VirtualRobot::RobotIO::RobotDescription loadMode,
202 const std::string& rnsName =
"",
203 const std::string& nodeName =
"");
205 template <
class... Ts>
213 return addRobot(
id, std::forward<Ts>(ts)...);
217 RobotStateComponentPlugin::RobotData
getRobotData(
const std::string&
id)
const;
219 const std::string& rnsName,
220 const std::string& nodeName);
229 const RobotStateConfig& state)
const;
235 const RobotStateConfig& state)
const;
246 SimpleDiffIK::Reachability
248 const std::vector<Eigen::Matrix4f> targets,
249 const Eigen::VectorXf& initialJV,
SimpleDiffIK::Result calculateRobotDiffIK(const std::string &id, const Eigen::Matrix4f &targetPose, const SimpleDiffIK::Parameters ¶ms={})
VirtualRobot::RobotPtr robot
RobotNameHelperPtr getRobotNameHelper() const
MatrixXX< 4, 4, float > Matrix4f
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
aron::data::DictPtr Parameters
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={})
VirtualRobot::RobotPtr addOrGetRobot(const std::string &id, Ts &&... ts)
const RobotStateComponentInterfacePrx & getRobotStateComponent() const
The ManagedIceObject is the base class for all ArmarX objects.
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