29 CGyroKVHDSP3000::CGyroKVHDSP3000( ) :
34 m_firstInteration(true)
71 CObservationIMUPtr observationGyro = CObservationIMU::Create();
78 string delimiter(
" ");
81 if(words.size() < 2)
return;
82 if(words[1].c_str()[0] ==
'0')
return;
83 double mesure = atof(words[0].c_str());
93 observationGyro->dataIsPresent[
IMU_YAW] =
true;
139 configSource.
read_float( iniSection,
"pose_x", 0,
false ),
140 configSource.
read_float( iniSection,
"pose_y", 0,
false ),
141 configSource.
read_float( iniSection,
"pose_z", 0,
false ),
145 string operatingMode = configSource.
read_string(iniSection,
"operatingMode",
"rate",
false);
146 cout <<
"Operating mode : " << operatingMode << endl;
147 if(operatingMode ==
"incremental")
150 cout <<
"Incremental mode" << endl;
152 else if(operatingMode ==
"integral")
155 cout <<
"Integrated mode" << endl;
160 cout <<
"Rate mode" << endl;
183 commande[1] = 0x0A; commande[2] = 0;
double m_process_rate
See CGenericSensor.
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
bool isOpen() const
Returns if port has been correctly open.
A communications serial port built as an implementation of a utils::CStream.
float read_float(const std::string §ion, const std::string &name, float defaultValue, bool failIfNotFound=false) const
std::string m_sensorLabel
See CGenericSensor.
#define THROW_EXCEPTION(msg)
virtual ~CGyroKVHDSP3000()
Destructor.
mrpt::system::TTimeStamp now()
A shortcut for system::getCurrentTime.
Contains classes for various device interfaces.
std::string read_string(const std::string §ion, const std::string &name, const std::string &defaultValue, bool failIfNotFound=false) const
size_t Write(const void *Buffer, size_t Count)
Implements the virtual method responsible for writing to the stream.
void doProcess()
This method will be invoked at a minimum rate of "process_rate" (Hz)
This class allows loading and storing values and vectors of different types from a configuration text...
void initialize()
Turns on the KVH DSP 3000 device and configure it for getting orientation data.
void BASE_IMPEXP sleep(int time_ms) MRPT_NO_THROWS
An OS-independent method for sending the current thread to "sleep" for a given period of time...
void setConfig(int baudRate, int parity=0, int bits=8, int nStopBits=1, bool enableFlowControl=false)
Changes the configuration of the port.
This namespace contains representation of robot actions and observations.
GLsizei const GLchar ** string
#define IMPLEMENTS_GENERIC_SENSOR(class_name, NameSpace)
This must be inserted in all CGenericSensor classes implementation files:
void close()
Close the port.
void loadConfig_sensorSpecific(const mrpt::utils::CConfigFileBase &configSource, const std::string &iniSection)
See the class documentation at the top for expected parameters.
void resetIncrementalAngle(void)
Send to the sensor the command 'Z' wich reset the integrated angle.
A class for interfacing KVH DSP 3000 gyroscope with an assynchronous serial communication (product SN...
mrpt::poses::CPose3D m_sensorPose
std::string ReadString(const int total_timeout_ms=-1, bool *out_timeout=NULL, const char *eol_chars="\")
Reads one text line from the serial port in POSIX "canonical mode".
void setFromValues(const double x0, const double y0, const double z0, const double yaw=0, const double pitch=0, const double roll=0)
Set the pose from a 3D position (meters) and yaw/pitch/roll angles (radians) - This method recomputes...
void appendObservation(const mrpt::utils::CSerializablePtr &obj)
Like appendObservations() but for just one observation.
orientation yaw absolute value (global/navigation frame) (rad)
yaw angular velocity (local/vehicle frame) (rad/sec)
void BASE_IMPEXP tokenize(const std::string &inString, const std::string &inDelimiters, std::deque< std::string > &outTokens, bool skipBlankTokens=true) MRPT_NO_THROWS
Tokenizes a string according to a set of delimiting characters.
CSerialPort * m_serialPort
The serial port connection.
void changeMode(GYRO_MODE _newMode)
int m_COMbauds
This serial port will be attempted to be opened automatically when this class is first used to reques...