class mrpt::hwdrivers::CGyroKVHDSP3000

Overview

A class for interfacing KVH DSP 3000 gyroscope with an assynchronous serial communication (product SN : 02-1222-01).

It uses a serial port connection to the device. The class implements the generic sensor class. See also the application “rawlog-grabber” for a ready-to-use application to gather data from the scanner. The generated observation is a CObservationIMU, but only the yaw angular velocity and the absolute yaw position are are set in the vector CObservationIMU::rawMeasurements. The sensor process rate is imposed by hardware at 100Hz. For now, this sensor is only supported on posix system.

   PARAMETERS IN THE ".INI"-LIKE CONFIGURATION STRINGS:
  -------------------------------------------------------
    [supplied_section_name]
     process_rate = 100             ; MUST be 100 Hz.
     pose_x=0       ; Sensor 3D position relative to the robot (meters)
     pose_y=0
     pose_z=0
     pose_yaw=0 ; Angles in degrees
     pose_pitch=0
     pose_roll=0
     sensorLabel = <label> ; Label of the sensor
     COM_port_LIN   = /dev/ttyUSB0       ; COM PORT in LINUX
     operatingMode = <"rate"/"integrated", "incremental">  ; Default mode is
*Rate.

In most of the communs applications, this class will be used as :

CGyroKVHDSP3000 kvh;
/// ...
CConfigFile conf("conf.ini");
/// ...
kvh.loadConfig_sensorSpecific(conf, "KVH");
/// ...
while(1) {
  kvh.doProcess();
      TListObservations rateObs;
  kvh.getObservations(rateObs);
      // ....
#include <mrpt/hwdrivers/CGyroKVHDSP3000.h>

class CGyroKVHDSP3000: public mrpt::hwdrivers::CGenericSensor
{
public:
    // construction

    CGyroKVHDSP3000();

    // methods

    virtual void loadConfig_sensorSpecific(const mrpt::config::CConfigFileBase& configSource, const std::string& iniSection);
    virtual void doProcess();
    virtual void initialize();
    void resetIncrementalAngle();
    void changeMode(GYRO_MODE _newMode);
};

Inherited Members

public:
    // methods

    CGenericSensor& operator = (const CGenericSensor&);
    virtual void doProcess() = 0;

Construction

CGyroKVHDSP3000()

Constructor.

Methods

virtual void loadConfig_sensorSpecific(
    const mrpt::config::CConfigFileBase& configSource,
    const std::string& iniSection
    )

See the class documentation at the top for expected parameters.

virtual void doProcess()

This method will be invoked at a minimum rate of “process_rate” (Hz)

Parameters:

This

method must throw an exception with a descriptive message if some critical error is found.

virtual void initialize()

Turns on the KVH DSP 3000 device and configure it for getting orientation data.

you must have called loadConfig_sensorSpecific before calling this function.

void resetIncrementalAngle()

Send to the sensor the command ‘Z’ which reset the integrated angle.

(in both rate mode and incremental, this function has no effect)