Table of Contents
DRC Hubo Hokuyo Scan
Author: Blake Hament Email: blakehament@gmail.com
Date: Last modified on 11/01/16
Keywords: tutorial, Hubo, Hokuyo, laser, scan, ROS
This tutorial will walk you through the commands necessary to capture a 3D depth scan of the environment using the Hokuyo sensor on the DRC Hubo 2 platform.
Motivation and Audience
This tutorial will assist anyone interested in operating and programming the DRC Hubo 2 platform. The DRC Hubo 2 is equipped with 2 RGB cameras and a laser rangefinder for vision. Data from these sensors is processed via an onboard computer dedicated to vision computations. This data is accessed via a main control computer that interfaces with all the computers onboard Hubo. This tutorial will walk the reader through the commands necessary to obtain a depth scan using the Hokuyo. These commands are executed on the vision computer and the main control computer. I assume the reader has the following background and interests:
- Basic skills in CPP and bash coding on Linux systems
- Interest in engineering, autonomous systems, ROS, and computer vision
The rest of the tutorial is organized as follows:
- Parts List and Sources
- Theory of Operation
- Operation
- Final Words
Parts List and Sources
This DRC Hubo 2 is a state-of-the-art humanoid platform used in robotics research labs across the globe. It was developed by Dr. Jun Ho Oh's team at Korea Advanced Institute for Science and Technology (KAIST). Depth scans are performed using the Hokuyo UTM-30LX-01.
Theory of Operation
Image from DOI: 10.1016/j.robot.2015.09.030
In the image above, the red lines represent individual depth scans performed by the robot's laser rangefinder. The laser rangefinder is tilted at various angles to sweep the environment with 2D scans, and then the 2D scans are combined into a cohesive 3D point cloud. Instead of a wheeled vehicle, our robot platform will be the DRC Hubo 2. The specific laser range-finding device used is the Hokuyo UTM-30LX-01.
Operation
Vision Computer
First, login to the Vision Computer located in Hubo's upper torso.
Login: root PW: control
You may need to adjust the display resolution using xrandr
$ xrandr
Next, source your terminal window and start a ROS core.
$ cd catkin_ws/devel/ $ source setup.bash $ cd .. $ roscore
Open a new terminal, source it, then start the laser_scan ptcloud node
$ cd catkin_ws/devel/ $ source setup.bash $ cd .. $ rosrun laser_scan ptcloud
Open a new terminal, source it, then execute laser_run
$ cd catkin_ws/devel/ $ source setup.bash $ cd .. $ ./laser_run
Finally, start qtcreator
$ cd /home/vision/Qt/Tools/QtCreator/bin $ ./qtcreator
In the qt creator window, choose “default(last session)”. Next, rightclick “DRCHuboVisionServer”, then click “run”
Control/Client Computer
Now on the Client CPU, open a new terminal and start a roscore.
Next open a new terminal window, source it, and run qt creator.
$ ./qtcreator
Click session, default.
Rightclick “DRCHuboClient”, click “Kill All”, then go to home, and then “run all”
To update the depth scans at the bottom of the Hubo GUI, check the “Point Cloud (3D)” box, then click “3D Pointcloud”
Final Words
This tutorial provides an overview for performing 3D depth scans using the Hubo platform. It is specific to the Hubo platform at UNLV's Drones and Autonomous Systems Lab as of fall 2016. Further work could be done to generalize this procedure so that it works with different software configurations, as might be encountered on Hubo platforms at other universities.
For questions, clarifications, etc, email: blakehament@gmail.com