robot_frames
ChainPublisher.hpp
Go to the documentation of this file.
1 /* Generated from orogen/lib/orogen/templates/tasks/Task.hpp */
2 
3 #ifndef ROBOT_FRAMES_CHAINPUBLISHER_TASK_HPP
4 #define ROBOT_FRAMES_CHAINPUBLISHER_TASK_HPP
5 
6 #include "robot_frames/ChainPublisherBase.hpp"
7 #include "robot_framesTypes.hpp"
8 #include <kdl_parser/kdl_parser.hpp>
9 #include <kdl/chainfksolvervel_recursive.hpp>
10 #include <kdl/chainfksolverpos_recursive.hpp>
11 #include <kdl/jntarray.hpp>
12 #include <base/samples/RigidBodyState.hpp>
13 #include <base/Logging.hpp>
14 
15 #include <robot_frames/RobotFrames.hpp>
16 
17 namespace robot_frames {
18 
19 
20 class ChainPublisher : public ChainPublisherBase
21 {
22  friend class ChainPublisherBase;
23 protected:
24  std::vector<KDL::Chain> chains_;
25  std::vector<std::string> chain_names_;
26  std::vector<KDL::ChainFkSolverPos_recursive*> pos_solvers_;
27  std::vector<KDL::Frame> kdl_frames_;
28  std::vector<base::samples::RigidBodyState> bt_frames_;
29  std::vector<KDL::JntArray> joint_arrays_;
30  std::vector<std::vector<std::string> >involved_active_joints_;
31  base::samples::Joints joint_state_;
32  KDL::Tree tree_;
34  std::vector<RTT::OutputPort<base::samples::RigidBodyState>*> out_ports_;
35 
37  bool unpack_joints(const base::samples::Joints& joint_state,
38  const std::vector<std::string>& involved_joints,
39  KDL::JntArray& joint_array);
40 
41 public:
42  ChainPublisher(std::string const& name = "robot_frames::ChainPublisher");
43 
44  ChainPublisher(std::string const& name, RTT::ExecutionEngine* engine);
45 
47 
48  bool configureHook();
49 
55  bool startHook();
56 
71  void updateHook();
72 
79  void errorHook();
80 
84  void stopHook();
85 
90  void cleanupHook();
91 };
92 }
93 
94 #endif
95 
std::vector< KDL::Frame > kdl_frames_
Definition: ChainPublisher.hpp:27
void errorHook()
Definition: ChainPublisher.cpp:214
friend class ChainPublisherBase
Definition: ChainPublisher.hpp:22
std::vector< base::samples::RigidBodyState > bt_frames_
Definition: ChainPublisher.hpp:28
void cleanupHook()
Definition: ChainPublisher.cpp:222
void clear_and_resize_vectors()
Definition: ChainPublisher.cpp:21
void stopHook()
Definition: ChainPublisher.cpp:218
~ChainPublisher()
Definition: ChainPublisher.cpp:17
std::vector< std::vector< std::string > > involved_active_joints_
Definition: ChainPublisher.hpp:30
std::vector< KDL::Chain > chains_
Definition: ChainPublisher.hpp:24
std::vector< std::string > chain_names_
Definition: ChainPublisher.hpp:25
bool startHook()
Definition: ChainPublisher.cpp:181
bool unpack_joints(const base::samples::Joints &joint_state, const std::vector< std::string > &involved_joints, KDL::JntArray &joint_array)
Definition: ChainPublisher.cpp:55
std::vector< RTT::OutputPort< base::samples::RigidBodyState > * > out_ports_
Definition: ChainPublisher.hpp:34
Definition: robot_framesTypes.hpp:6
base::samples::Joints joint_state_
Definition: ChainPublisher.hpp:31
Definition: ChainPublisher.hpp:20
KDL::Tree tree_
Definition: ChainPublisher.hpp:32
std::vector< KDL::ChainFkSolverPos_recursive * > pos_solvers_
Definition: ChainPublisher.hpp:26
bool configureHook()
The following lines are template definitions for the various state machine.
Definition: ChainPublisher.cpp:80
void updateHook()
Definition: ChainPublisher.cpp:187
int n_defined_chains_
Definition: ChainPublisher.hpp:33
ChainPublisher(std::string const &name="robot_frames::ChainPublisher")
Definition: ChainPublisher.cpp:7
std::vector< KDL::JntArray > joint_arrays_
Definition: ChainPublisher.hpp:29