Download and Install


Dev Guide

Users Logo
Mailing lists



[LibrariesHardware DriversC++]

Hokuyo URG laser scanner driver. More...


namespace  hokuyo_aist
 Hokuyo laser scanner driver name space.

Detailed Description

Hokuyo URG laser scanner driver.

Utility to get the serial number of an Hokuyo laser scanner driver.

This library provides a driver for Hokuyo laser scanner devices using the SCIP protocol version 1 or 2. It has been tested with the Hokuyo URG-04LX, UBG-04LX, UHG-08LX, UTM-30LX and UXM-30LX-E but it should work with any scanner that conforms to these protocol versions, including the URG-04LX-F01 and the URG-04LX-UG01 (Simple-URG).

For a full list of classes and functions, see hokuyo_aist.

If this library is compiled as static on Windows, you must define the HOKUYO_AIST_STATIC preprocessor variable when compiling code that includes hokuyo_aist.h.

Header file:

#include <hokuyo_aist/hokuyo_aist.h>

See test/example.cpp
Style guidelines
  • Naming conventions:
    • Class methods start with a capital letter.
    • VariableNamesLikeThis.
    • Private member variables start with an underscore _like _this.
    • Avoid using #defines. #define'd values in all capitals when necessary.
  • Formatting:
    • 1 tab indentation at start of lines, spaces only for inside lines (e.g. before commands).
    • Function declarations on one line.
    • Space between function name and arguments.
  • C++ API.
    • Functionality provided through classes.
  • Units:
    • All internal units are in millimetres and radians.

Geoffrey Biggs
Responsible Developer
Geoffrey Biggs
EPL1.0 (
Known issues
  • There has been a report that retrieving data over the serial connection of a URG-04LX is unusually slow (~1Hz).
This code is a stripped down version of the hokuyo_aist_example that just connects to the device, prints out its serial number, and closes the device.

It is useful to write udev scripts to create permanent symlinks to your lasers, in the case you have more than one laser. Acutally iy would be easier if the serial number were provided by hardware as a udev attribute, but it is not. So, this small soft must be called to find the serial number, in order to discriminate between various laser scanners.

The file 96-hokuyo.rules should be copied to /etc/udev/rules.d, and then the udev deamon should be restarted with:

sudo /etc/init.d/udev stop sudo /etc/init.d/udev start

Attention: use stop and start instead of only restart. It appears that the restart script does not reload the rules. You should see a message about reloading hardware drivers when the start command is issued.

Afterwards when a hokuyo is plugged, the device /dev/ttyACM* will be generated as before, but besides that a symbolic link called hokuyo_XXXXXX will be generated, where XXXXX is the laser serial number.

Responsible Developer
Luiz Mirisola
Known issues
  • When the user plugs the hokuyo, the udev rules call this program, that will connect to the laser. This process is quite slow.
  • When the rule fires, there is no /dev/ttyACM* yet. Therefore, the N tag in the rule returns the name of a temporary device in order that the software may connect to the laser. This solves the chicken-egg problem.

Generated for GearBox by  doxygen 1.4.5