Go to the documentation of this file.
28 CGyroKVHDSP3000::CGyroKVHDSP3000() : m_com_port(), m_sensorPose()
44 std::this_thread::sleep_for(200ms);
58 string delimiter(
" ");
61 if (words.size() < 2)
return;
62 if (words[1].c_str()[0] ==
'0')
return;
63 double mesure = atof(words[0].c_str());
73 observationGyro->dataIsPresent[
IMU_YAW] =
true;
111 const std::string& iniSection)
114 configSource.
read_float(iniSection,
"pose_x", 0,
false),
115 configSource.
read_float(iniSection,
"pose_y", 0,
false),
116 configSource.
read_float(iniSection,
"pose_z", 0,
false),
120 string operatingMode =
121 configSource.
read_string(iniSection,
"operatingMode",
"rate",
false);
122 cout <<
"Operating mode : " << operatingMode << endl;
123 if (operatingMode ==
"incremental")
126 cout <<
"Incremental mode" << endl;
128 else if (operatingMode ==
"integral")
131 cout <<
"Integrated mode" << endl;
136 cout <<
"Rate mode" << endl;
162 if (
m_serialPort->Write(commande, 3 *
sizeof(
char)) <= 0)
176 if (
m_serialPort->Write(commande, 3 *
sizeof(
char)) <= 0)
mrpt::poses::CPose3D m_sensorPose
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...
mrpt::system::TTimeStamp now()
A shortcut for system::getCurrentTime.
Contains classes for various device interfaces.
int m_COMbauds
This serial port will be attempted to be opened automatically when this class is first used to reques...
Serial and networking devices and utilities.
double m_process_rate
See CGenericSensor.
#define THROW_EXCEPTION(msg)
void tokenize(const std::string &inString, const std::string &inDelimiters, OUT_CONTAINER &outTokens, bool skipBlankTokens=true) noexcept
Tokenizes a string according to a set of delimiting characters.
This namespace contains representation of robot actions and observations.
std::string read_string(const std::string §ion, const std::string &name, const std::string &defaultValue, bool failIfNotFound=false) const
void doProcess() override
This method will be invoked at a minimum rate of "process_rate" (Hz)
~CGyroKVHDSP3000() override
Destructor.
std::shared_ptr< mrpt::obs ::CObservationIMU > Ptr
This class allows loading and storing values and vectors of different types from a configuration text...
void loadConfig_sensorSpecific(const mrpt::config::CConfigFileBase &configSource, const std::string &iniSection) override
See the class documentation at the top for expected parameters.
void appendObservation(const mrpt::serialization::CSerializable::Ptr &obj)
Like appendObservations() but for just one observation.
void changeMode(GYRO_MODE _newMode)
std::string m_sensorLabel
See CGenericSensor.
float read_float(const std::string §ion, const std::string &name, float defaultValue, bool failIfNotFound=false) const
constexpr double DEG2RAD(const double x)
Degrees to radians
void resetIncrementalAngle()
Send to the sensor the command 'Z' wich reset the integrated angle.
#define IMPLEMENTS_GENERIC_SENSOR(class_name, NameSpace)
This must be inserted in all CGenericSensor classes implementation files:
std::unique_ptr< mrpt::comms::CSerialPort > m_serialPort
Search the port where the sensor is located and connect to it.
@ IMU_YAW
orientation yaw absolute value (global/navigation frame) (rad)
A class for interfacing KVH DSP 3000 gyroscope with an assynchronous serial communication (product SN...
@ IMU_YAW_VEL
yaw angular velocity (local/vehicle frame) (rad/sec)
void initialize() override
Turns on the KVH DSP 3000 device and configure it for getting orientation data.
Page generated by Doxygen 1.8.17 for MRPT 2.0.3 at Fri May 29 13:06:46 UTC 2020 | |