83 double d_min{0}, d_max{0};
85 int scans_per_360deg{0};
87 int scan_first{0}, scan_last{0}, scan_front{0};
89 int motor_speed_rpm{0};
118 bool setHighBaudrate();
123 bool switchLaserOn();
128 bool switchLaserOff();
133 bool setMotorSpeed(
int motoSpeed_rpm);
139 bool displayVersionInfo();
154 bool startScanningMode();
163 bool receiveResponse(
char &rcv_status0,
char &rcv_status1);
170 bool assureBufferHasBytes(
const size_t nDesiredBytes);
185 void doProcessSimple(
bool &outThereIsObservation,
187 bool &hardwareError);
225 bool setHighSensitivityMode(
bool enabled);
231 bool setIntensityMode(
bool enabled);
236 void setScanInterval(
unsigned int skipScanCount);
237 unsigned int getScanInterval()
const;
239 void sendCmd(
const char *str);
248 bool ensureStreamIsOpen();
uint64_t TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1...
const std::string getSerialPort()
Returns the currently set serial port.
std::string m_com_port
If set to non-empty, the serial port will be attempted to be opened automatically when this class is ...
uint32_t m_timeStartUI
Time of the first data packet, for synchronization purposes.
void setReducedFOV(const double fov)
If called (before calling "turnOn"), the field of view of the laser is reduced to the given range (in...
std::string m_rcv_data
temp buffer for incoming data packets
bool m_intensity
Get intensity from lidar scan (default: false)
bool m_I_am_owner_serial_port
unsigned int m_port_dir
If set to non-empty and m_ip_dir too, the program will try to connect to a Hokuyo using Ethernet comm...
This class allows loading and storing values and vectors of different types from a configuration text...
std::string m_lastSentMeasCmd
The last sent measurement command (MDXXX), including the last 0x0A.
mrpt::gui::CDisplayWindow3D::Ptr m_win
bool m_disable_firmware_timestamp
void setSerialPort(const std::string &port_name)
If set to non-empty, the serial port will be attempted to be opened automatically when this class is ...
Used in CHokuyoURG::displayVersionInfo.
int m_timeStartSynchDelay
Counter to discard to first few packets before setting the correspondence between device and computer...
mrpt::system::TTimeStamp m_timeStartTT
GLsizei const GLchar ** string
int m_motorSpeed_rpm
The motor speed (default=600rpm)
#define DEFINE_GENERIC_SENSOR(class_name)
This declaration must be inserted in all CGenericSensor classes definition, within the class declarat...
This is the base, abstract class for "software drivers" interfaces to 2D scanners (laser range finder...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
A "CObservation"-derived class that represents a 2D range scan measurement (typically from a laser sc...
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
void setIPandPort(const std::string &ip, const unsigned int &port)
Set the ip direction and port to connect using Ethernet communication.
This software driver implements the protocol SCIP-2.0 for interfacing HOKUYO URG/UTM/UXM/UST laser sc...
poses::CPose3D m_sensorPose
The sensor 6D pose:
unsigned int m_scan_interval
TSensorInfo m_sensor_info
The information gathered when the laser is first open.
bool m_highSensMode
High sensitivity [HS] mode (default: false)
std::string model
The sensor model.
double m_reduced_fov
Used to reduce artificially the interval of scan ranges.
mrpt::utils::circular_buffer< uint8_t > m_rx_buffer
Auxiliary buffer for readings.
unsigned __int32 uint32_t
std::string m_ip_dir
If set to non-empty and m_port_dir too, the program will try to connect to a Hokuyo using Ethernet co...