VirtualRobotPortHandler.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2008, AIST, the University of Tokyo and General Robotix Inc.
3  * All rights reserved. This program is made available under the terms of the
4  * Eclipse Public License v1.0 which accompanies this distribution, and is
5  * available at http://www.eclipse.org/legal/epl-v10.html
6  * Contributors:
7  * National Institute of Advanced Industrial Science and Technology (AIST)
8  * General Robotix Inc.
9  */
15 #ifndef OPENHRP_CONTROLLER_BRIDGE_VIRTUAL_ROBOT_PORT_HANDLER_H_INCLUDED
16 #define OPENHRP_CONTROLLER_BRIDGE_VIRTUAL_ROBOT_PORT_HANDLER_H_INCLUDED
17 
18 #include <boost/shared_ptr.hpp>
19 
20 #include <rtm/idl/BasicDataType.hh>
21 #include <rtm/idl/ExtendedDataTypes.hh>
22 #include <rtm/RTC.h>
23 #include <rtm/PortBase.h>
24 #include <rtm/OutPort.h>
25 #include <rtm/InPort.h>
26 #include <rtm/idl/BasicDataTypeStub.h>
27 
28 #include <hrpCorba/DynamicsSimulator.hh>
29 
30 #include "BridgeConf.h"
31 
32 #include "config.h"
33 
34 using namespace OpenHRP;
35 
36 
37 class Controller_impl;
38 
40 {
41 public:
42  PortHandler(PortInfo& info) : portName(info.portName){}
43  virtual ~PortHandler();
45  std::string portName;
46 };
47 
48 typedef boost::shared_ptr<PortHandler> PortHandlerPtr;
49 
50 
52 {
53 public:
55  virtual void inputDataFromSimulator(Controller_impl* controller) = 0;
56  virtual void writeDataToPort() = 0;
57  template<class T> void setTime(T& value, double _time)
58  {
59  value.tm.sec = (unsigned long)_time;
60  value.tm.nsec = (unsigned long)((_time-value.tm.sec)*1000000000.0 + 0.5);
61  if( value.tm.nsec >= 1000000000 ){
62  value.tm.sec++;
63  value.tm.nsec -= 1000000000;
64  }
65  }
66  double stepTime;
67 };
68 
69 typedef boost::shared_ptr<OutPortHandler> OutPortHandlerPtr;
70 
71 
72 class InPortHandler : public PortHandler
73 {
74 public:
76  virtual void outputDataToSimulator(Controller_impl* controller) = 0;
77  virtual void readDataFromPort(Controller_impl* controller) = 0;
78 };
79 
80 typedef boost::shared_ptr<InPortHandler> InPortHandlerPtr;
81 
82 
84 {
85 public:
87  virtual void inputDataFromSimulator(Controller_impl* controller);
88  virtual void writeDataToPort();
89  RTC::OutPort<RTC::TimedDoubleSeq> outPort;
90 private:
91  RTC::TimedDoubleSeq values;
93 };
94 
95 
97 {
98 public:
100  virtual void inputDataFromSimulator(Controller_impl* controller);
101  virtual void writeDataToPort();
102  RTC::OutPort<RTC::TimedDoubleSeq> outPort;
103 private:
104  std::vector<std::string> linkName;
105  DynamicsSimulator::LinkDataType linkDataType;
106  RTC::TimedDoubleSeq value;
107 };
108 
110 {
111 public:
113  virtual void inputDataFromSimulator(Controller_impl* controller);
114  virtual void writeDataToPort();
115  RTC::OutPort<RTC::TimedPose3D> outPort;
116 private:
117  std::vector<std::string> linkName;
118  DynamicsSimulator::LinkDataType linkDataType;
119  RTC::TimedPose3D value;
120 };
121 
122 
124 {
125 public:
127  virtual void inputDataFromSimulator(Controller_impl* controller);
128  virtual void writeDataToPort();
129  RTC::OutPort<RTC::TimedDoubleSeq> outPort;
130 private:
131  RTC::TimedDoubleSeq value;
132  std::vector<std::string> sensorName;
133 };
134 
136 {
137 public:
139  virtual void inputDataFromSimulator(Controller_impl* controller);
140  virtual void writeDataToPort();
141  RTC::OutPort<RTC::TimedAngularVelocity3D> outPort;
142 private:
143  RTC::TimedAngularVelocity3D value;
144  std::vector<std::string> sensorName;
145 };
146 
148 {
149 public:
151  virtual void inputDataFromSimulator(Controller_impl* controller);
152  virtual void writeDataToPort();
153  RTC::OutPort<RTC::TimedAcceleration3D> outPort;
154 private:
155  RTC::TimedAcceleration3D value;
156  std::vector<std::string> sensorName;
157 };
158 
159 
161 {
162 public:
164  virtual void inputDataFromSimulator(Controller_impl* controller);
165  virtual void writeDataToPort();
166  RTC::OutPort<RTC::TimedLongSeq> outPort;
167 private:
168  RTC::TimedLongSeq image;
169  int cameraId;
170 };
171 
172 
174 {
175 public:
177  virtual void inputDataFromSimulator(Controller_impl* controller);
178  virtual void writeDataToPort();
179  RTC::OutPort<RTC::TimedOctetSeq> outPort;
180 private:
181  RTC::TimedOctetSeq image;
182  int cameraId;
183 };
184 
185 
187 {
188 public:
190  virtual void inputDataFromSimulator(Controller_impl* controller);
191  virtual void writeDataToPort();
192  RTC::OutPort<RTC::TimedFloatSeq> outPort;
193 private:
194  RTC::TimedFloatSeq image;
195  int cameraId;
196 };
197 
198 
200 {
201 public:
203  virtual void outputDataToSimulator(Controller_impl* controller);
204  virtual void readDataFromPort(Controller_impl* controller);
205  RTC::InPort<RTC::TimedDoubleSeq> inPort;
206 private:
207  RTC::TimedDoubleSeq values;
208  DynamicsSimulator::LinkDataType linkDataType;
209 };
210 
212  {
213 public:
215  virtual void outputDataToSimulator(Controller_impl* controller);
216  virtual void readDataFromPort(Controller_impl* controller);
217  RTC::InPort<RTC::TimedDoubleSeq> inPort;
218 private:
219  RTC::TimedDoubleSeq values;
220  std::vector<std::string> linkName;
221  DynamicsSimulator::LinkDataType linkDataType;
222  DblSequence data;
223 };
224 
226 {
227 public:
229  virtual void outputDataToSimulator(Controller_impl* controller);
230  virtual void readDataFromPort(Controller_impl* controller);
231  RTC::InPort<RTC::TimedPose3D> inPort;
232 private:
233  RTC::TimedPose3D values;
234  std::vector<std::string> linkName;
235  DynamicsSimulator::LinkDataType linkDataType;
236  DblSequence data;
237 };
238 
239 
240 #endif
PortHandlerPtr
boost::shared_ptr< PortHandler > PortHandlerPtr
Definition: VirtualRobotPortHandler.h:48
PortHandler
Definition: VirtualRobotPortHandler.h:39
SensorDataOutPortHandler
Definition: VirtualRobotPortHandler.h:123
LinkDataOutPortHandler::linkDataType
DynamicsSimulator::LinkDataType linkDataType
Definition: VirtualRobotPortHandler.h:105
SensorStateOutPortHandler::values
RTC::TimedDoubleSeq values
Definition: VirtualRobotPortHandler.h:91
GyroSensorOutPortHandler::value
RTC::TimedAngularVelocity3D value
Definition: VirtualRobotPortHandler.h:143
AccelerationSensorOutPortHandler::value
RTC::TimedAcceleration3D value
Definition: VirtualRobotPortHandler.h:155
ColorImageOutPortHandler::cameraId
int cameraId
Definition: VirtualRobotPortHandler.h:169
ColorImageOutPortHandler
Definition: VirtualRobotPortHandler.h:160
DepthImageOutPortHandler::image
RTC::TimedFloatSeq image
Definition: VirtualRobotPortHandler.h:194
SensorDataOutPortHandler::value
RTC::TimedDoubleSeq value
Definition: VirtualRobotPortHandler.h:131
GrayScaleImageOutPortHandler
Definition: VirtualRobotPortHandler.h:173
InPortHandler
Definition: VirtualRobotPortHandler.h:72
GyroSensorOutPortHandler::outPort
RTC::OutPort< RTC::TimedAngularVelocity3D > outPort
Definition: VirtualRobotPortHandler.h:141
SensorStateOutPortHandler::dataTypeId
DataTypeId dataTypeId
Definition: VirtualRobotPortHandler.h:92
BridgeConf.h
JointDataSeqInPortHandler::values
RTC::TimedDoubleSeq values
Definition: VirtualRobotPortHandler.h:207
AccelerationSensorOutPortHandler::outPort
RTC::OutPort< RTC::TimedAcceleration3D > outPort
Definition: VirtualRobotPortHandler.h:153
config.h
AbsTransformOutPortHandler::linkDataType
DynamicsSimulator::LinkDataType linkDataType
Definition: VirtualRobotPortHandler.h:118
DepthImageOutPortHandler::cameraId
int cameraId
Definition: VirtualRobotPortHandler.h:195
OutPortHandlerPtr
boost::shared_ptr< OutPortHandler > OutPortHandlerPtr
Definition: VirtualRobotPortHandler.h:69
InPortHandler::InPortHandler
InPortHandler(PortInfo &info)
Definition: VirtualRobotPortHandler.h:75
OpenHRP
Definition: ConstraintForceSolver.h:19
LinkDataInPortHandler::data
DblSequence data
Definition: VirtualRobotPortHandler.h:222
InPortHandlerPtr
boost::shared_ptr< InPortHandler > InPortHandlerPtr
Definition: VirtualRobotPortHandler.h:80
value
png_voidp int value
Definition: png.h:2110
OutPortHandler::stepTime
double stepTime
Definition: VirtualRobotPortHandler.h:66
LinkDataInPortHandler::linkName
std::vector< std::string > linkName
Definition: VirtualRobotPortHandler.h:220
PortHandler::portName
std::string portName
Definition: VirtualRobotPortHandler.h:45
OutPortHandler::setTime
void setTime(T &value, double _time)
Definition: VirtualRobotPortHandler.h:57
SensorStateOutPortHandler
Definition: VirtualRobotPortHandler.h:83
GrayScaleImageOutPortHandler::cameraId
int cameraId
Definition: VirtualRobotPortHandler.h:182
LinkDataOutPortHandler::linkName
std::vector< std::string > linkName
Definition: VirtualRobotPortHandler.h:104
AbsTransformInPortHandler::linkName
std::vector< std::string > linkName
Definition: VirtualRobotPortHandler.h:234
PortHandler::PortHandler
PortHandler(PortInfo &info)
Definition: VirtualRobotPortHandler.h:42
DataTypeId
DataTypeId
Definition: BridgeConf.h:34
AbsTransformInPortHandler
Definition: VirtualRobotPortHandler.h:225
LinkDataInPortHandler::values
RTC::TimedDoubleSeq values
Definition: VirtualRobotPortHandler.h:219
DepthImageOutPortHandler
Definition: VirtualRobotPortHandler.h:186
SensorStateOutPortHandler::outPort
RTC::OutPort< RTC::TimedDoubleSeq > outPort
Definition: VirtualRobotPortHandler.h:89
AbsTransformInPortHandler::data
DblSequence data
Definition: VirtualRobotPortHandler.h:236
GyroSensorOutPortHandler
Definition: VirtualRobotPortHandler.h:135
OutPortHandler
Definition: VirtualRobotPortHandler.h:51
LinkDataInPortHandler::inPort
RTC::InPort< RTC::TimedDoubleSeq > inPort
Definition: VirtualRobotPortHandler.h:217
GrayScaleImageOutPortHandler::image
RTC::TimedOctetSeq image
Definition: VirtualRobotPortHandler.h:181
AbsTransformOutPortHandler::value
RTC::TimedPose3D value
Definition: VirtualRobotPortHandler.h:119
GyroSensorOutPortHandler::sensorName
std::vector< std::string > sensorName
Definition: VirtualRobotPortHandler.h:144
AccelerationSensorOutPortHandler
Definition: VirtualRobotPortHandler.h:147
DepthImageOutPortHandler::outPort
RTC::OutPort< RTC::TimedFloatSeq > outPort
Definition: VirtualRobotPortHandler.h:192
Controller_impl
Definition: Controller_impl.h:39
LinkDataInPortHandler::linkDataType
DynamicsSimulator::LinkDataType linkDataType
Definition: VirtualRobotPortHandler.h:221
Port_Service_Var_Type
RTC::PortService_var Port_Service_Var_Type
Definition: server/ControllerBridge/config.h:28
AbsTransformInPortHandler::inPort
RTC::InPort< RTC::TimedPose3D > inPort
Definition: VirtualRobotPortHandler.h:231
AbsTransformOutPortHandler::outPort
RTC::OutPort< RTC::TimedPose3D > outPort
Definition: VirtualRobotPortHandler.h:115
SensorDataOutPortHandler::sensorName
std::vector< std::string > sensorName
Definition: VirtualRobotPortHandler.h:132
LinkDataInPortHandler
Definition: VirtualRobotPortHandler.h:211
PortHandler::portRef
Port_Service_Var_Type portRef
Definition: VirtualRobotPortHandler.h:44
AbsTransformInPortHandler::values
RTC::TimedPose3D values
Definition: VirtualRobotPortHandler.h:233
LinkDataOutPortHandler::value
RTC::TimedDoubleSeq value
Definition: VirtualRobotPortHandler.h:106
info
backing_store_ptr info
Definition: jmemsys.h:181
AbsTransformOutPortHandler
Definition: VirtualRobotPortHandler.h:109
ColorImageOutPortHandler::image
RTC::TimedLongSeq image
Definition: VirtualRobotPortHandler.h:168
LinkDataOutPortHandler
Definition: VirtualRobotPortHandler.h:96
LinkDataOutPortHandler::outPort
RTC::OutPort< RTC::TimedDoubleSeq > outPort
Definition: VirtualRobotPortHandler.h:102
JointDataSeqInPortHandler
Definition: VirtualRobotPortHandler.h:199
AccelerationSensorOutPortHandler::sensorName
std::vector< std::string > sensorName
Definition: VirtualRobotPortHandler.h:156
GrayScaleImageOutPortHandler::outPort
RTC::OutPort< RTC::TimedOctetSeq > outPort
Definition: VirtualRobotPortHandler.h:179
OutPortHandler::OutPortHandler
OutPortHandler(PortInfo &info)
Definition: VirtualRobotPortHandler.h:54
JointDataSeqInPortHandler::linkDataType
DynamicsSimulator::LinkDataType linkDataType
Definition: VirtualRobotPortHandler.h:208
SensorDataOutPortHandler::outPort
RTC::OutPort< RTC::TimedDoubleSeq > outPort
Definition: VirtualRobotPortHandler.h:129
AbsTransformOutPortHandler::linkName
std::vector< std::string > linkName
Definition: VirtualRobotPortHandler.h:117
JointDataSeqInPortHandler::inPort
RTC::InPort< RTC::TimedDoubleSeq > inPort
Definition: VirtualRobotPortHandler.h:205
AbsTransformInPortHandler::linkDataType
DynamicsSimulator::LinkDataType linkDataType
Definition: VirtualRobotPortHandler.h:235
ColorImageOutPortHandler::outPort
RTC::OutPort< RTC::TimedLongSeq > outPort
Definition: VirtualRobotPortHandler.h:166
PortInfo
Definition: BridgeConf.h:57


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Wed Sep 7 2022 02:51:04