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,
68 const VirtualRobot::RobotPtr& robot,
69 const VirtualRobot::RobotNodeSetPtr& rns = {},
70 const VirtualRobot::RobotNodePtr& node = {});
72 const std::string&
id,
73 const VirtualRobot::RobotPtr& robot,
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 =
"");
89 VirtualRobot::RobotPtr
getRobot(
const std::string&
id)
const;
91 void setRobotRNSAndNode(
const std::string&
id,
const std::string& rnsName,
const std::string& nodeName);
98 const std::string& to,
99 const VirtualRobot::RobotPtr& rob);
105 bool synchronizeLocalClone(
const VirtualRobot::RobotPtr& robot,
const RobotStateConfig& state)
const;
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;
154 RobotStateComponentInterfacePrx _robotStateComponent;
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,
188 const VirtualRobot::RobotPtr& robot,
189 const VirtualRobot::RobotNodeSetPtr& rns = {},
190 const VirtualRobot::RobotNodePtr& node = {});
192 const std::string&
id,
193 const VirtualRobot::RobotPtr& robot,
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)...);
219 VirtualRobot::RobotPtr
getRobot(
const std::string&
id)
const;
220 RobotStateComponentPlugin::RobotData
getRobotData(
const std::string&
id)
const;
221 void setRobotRNSAndNode(
const std::string&
id,
const std::string& rnsName,
const std::string& nodeName);
229 bool synchronizeLocalClone(
const VirtualRobot::RobotPtr& robot,
const RobotStateConfig& state)
const;
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 = {});