orogen-wbc
TaskInterface.hpp
Go to the documentation of this file.
1#ifndef TASKINTERFACE_HPP
2#define TASKINTERFACE_HPP
3
4#include <rtt/TaskContext.hpp>
5#include <rtt/Port.hpp>
6#include <base/samples/Joints.hpp>
7#include <base/samples/RigidBodyStateSE3.hpp>
8#include <wbc/core/TaskConfig.hpp>
9
10namespace wbc{
11
12class TaskStatus;
13class RobotModel;
14class Scene;
15
16typedef std::shared_ptr<RobotModel> RobotModelPtr;
17typedef std::shared_ptr<Scene> ScenePtr;
18
19typedef RTT::InputPort<base::samples::RigidBodyStateSE3> CartRefPort;
20typedef RTT::InputPort<base::samples::Joints> JntRefPort;
21typedef RTT::InputPort<base::VectorXd> WeightInPort;
22typedef RTT::InputPort<double> ActivationPort;
23typedef RTT::OutputPort<base::samples::RigidBodyStateSE3> CartStatusPort;
24typedef RTT::OutputPort<base::samples::Joints> JntStatusPort;
25typedef RTT::OutputPort<wbc::TaskStatus> TaskStatusPort;
26
27typedef std::shared_ptr<CartRefPort> CartRefPortPtr;
28typedef std::shared_ptr<JntRefPort> JntRefPortPtr;
29typedef std::shared_ptr<WeightInPort> WeightInPortPtr;
30typedef std::shared_ptr<ActivationPort> ActivationPortPtr;
31typedef std::shared_ptr<CartStatusPort> CartStatusPortPtr;
32typedef std::shared_ptr<JntStatusPort> JntStatusPortPtr;
33typedef std::shared_ptr<TaskStatusPort> TaskStatusPortPtr;
34
39{
40public:
41 TaskInterface(TaskConfig _cfg,
42 ScenePtr _scene,
43 RobotModelPtr _robot_model,
44 RTT::TaskContext* _task_context);
46
47 TaskConfig cfg;
50
51 base::samples::RigidBodyStateSE3 task_cart_state;
52 base::samples::Joints task_jnt_state;
53
54 // Ports
62
63 base::samples::RigidBodyStateSE3 cart_ref;
64 base::samples::Joints jnt_ref;
65 base::VectorXd weights;
66 double activation;
67
68 RTT::TaskContext* task_context;
69
70 void update();
71 void writeTaskStatus(const TaskStatus& status);
72
73};
74
75}
76
77#endif // TASKINTERFACE_HPP
TaskStatusPortPtr task_status_port
Definition TaskInterface.hpp:61
void writeTaskStatus(const TaskStatus &status)
Definition TaskInterface.cpp:98
base::samples::Joints jnt_ref
Definition TaskInterface.hpp:64
void update()
Definition TaskInterface.cpp:74
JntStatusPortPtr jnt_state_out_port
Definition TaskInterface.hpp:58
CartRefPortPtr cart_ref_port
Definition TaskInterface.hpp:55
~TaskInterface()
Definition TaskInterface.cpp:58
base::samples::RigidBodyStateSE3 task_cart_state
Definition TaskInterface.hpp:51
JntRefPortPtr jnt_ref_port
Definition TaskInterface.hpp:56
base::samples::RigidBodyStateSE3 cart_ref
Definition TaskInterface.hpp:63
TaskConfig cfg
Definition TaskInterface.hpp:47
CartStatusPortPtr cart_state_out_port
Definition TaskInterface.hpp:57
RTT::TaskContext * task_context
Definition TaskInterface.hpp:68
base::samples::Joints task_jnt_state
Definition TaskInterface.hpp:52
ActivationPortPtr activation_port
Definition TaskInterface.hpp:60
ScenePtr scene
Definition TaskInterface.hpp:49
base::VectorXd weights
Definition TaskInterface.hpp:65
double activation
Definition TaskInterface.hpp:66
TaskInterface(TaskConfig _cfg, ScenePtr _scene, RobotModelPtr _robot_model, RTT::TaskContext *_task_context)
Definition TaskInterface.cpp:8
RobotModelPtr robot_model
Definition TaskInterface.hpp:48
WeightInPortPtr weight_port
Definition TaskInterface.hpp:59
Definition CartesianStateToRbsTask.hpp:10
RTT::InputPort< double > ActivationPort
Definition TaskInterface.hpp:22
RTT::InputPort< base::samples::Joints > JntRefPort
Definition TaskInterface.hpp:20
RTT::InputPort< base::VectorXd > WeightInPort
Definition TaskInterface.hpp:21
RTT::InputPort< base::samples::RigidBodyStateSE3 > CartRefPort
Definition TaskInterface.hpp:19
std::shared_ptr< CartStatusPort > CartStatusPortPtr
Definition TaskInterface.hpp:31
std::shared_ptr< JntStatusPort > JntStatusPortPtr
Definition TaskInterface.hpp:32
std::shared_ptr< ActivationPort > ActivationPortPtr
Definition TaskInterface.hpp:30
std::shared_ptr< JntRefPort > JntRefPortPtr
Definition TaskInterface.hpp:28
RTT::OutputPort< base::samples::RigidBodyStateSE3 > CartStatusPort
Definition TaskInterface.hpp:23
std::shared_ptr< TaskStatusPort > TaskStatusPortPtr
Definition TaskInterface.hpp:33
std::shared_ptr< Scene > ScenePtr
Definition TaskInterface.hpp:17
std::shared_ptr< CartRefPort > CartRefPortPtr
Definition TaskInterface.hpp:27
RTT::OutputPort< base::samples::Joints > JntStatusPort
Definition TaskInterface.hpp:24
RTT::OutputPort< wbc::TaskStatus > TaskStatusPort
Definition TaskInterface.hpp:25
std::shared_ptr< WeightInPort > WeightInPortPtr
Definition TaskInterface.hpp:29
std::shared_ptr< RobotModel > RobotModelPtr
Definition TaskInterface.hpp:16