move3d_ros_lib  0.1.0
move3d/ros API interface
 All Classes Namespaces Functions Variables Typedefs Pages
head_hand_updater.h
1 #ifndef MOVE3D_HEADHANDUPDATER_H
2 #define MOVE3D_HEADHANDUPDATER_H
3 
4 #include "move3d_ros_lib/plugins/base_human_updater.h"
5 
6 namespace tf{class TransformBroadcaster;}
7 
8 namespace move3d {
9 
18 {
19 public:
21  virtual ~HeadHandUpdater();
22 
23  virtual bool update(Robot *h, const Eigen::Affine3d &base, const std::map<std::string, Eigen::Affine3d> &joints, const HumanSettings &settings);
24  virtual bool computeConf(Robot *h, const Eigen::Affine3d &base, const std::map<std::string, Eigen::Affine3d> &joints, const HumanSettings &settings, RobotState &q);
25 
26 private:
38  bool getBothJoints(Robot *h, const std::map<std::string, Eigen::Affine3d> &joints,
39  const std::string &input_name, const std::string &m3d_name,
40  std::map<std::string, Eigen::Affine3d>::const_iterator &joint, uint &m3d_joint_index);
41 
42  bool updateFreeFlyer(RobotState &q,uint first_dof_index,const Eigen::Affine3d &pos);
43  tf::TransformBroadcaster *_tf_br;
44 };
45 
46 } // namespace move3d
47 
48 #endif // MOVE3D_HEADHANDUPDATER_H
The HumanSettings struct stores data for each human.
Definition: base_human_updater.h:19
Definition: base_human_updater.h:57
The HeadHandUpdater class updates base, hand and head.
Definition: head_hand_updater.h:17
virtual bool computeConf(Robot *h, const Eigen::Affine3d &base, const std::map< std::string, Eigen::Affine3d > &joints, const HumanSettings &settings, RobotState &q)
compute the configuration without updating the human in move3d
Definition: head_hand_updater.cpp:39
virtual bool update(Robot *h, const Eigen::Affine3d &base, const std::map< std::string, Eigen::Affine3d > &joints, const HumanSettings &settings)
update the robot with the given elements
Definition: head_hand_updater.cpp:31