User Tools

Site Tools


HUBO Software Overview and Setup

Author: Dylan Wallace Email:
Date: Last modified on 11/04/16
Keywords: Humanoid, HUBO, Software

This tutorial is designed to teach DASL members what software HUBO uses, and how to setup HUBO software for operation of HUBO and for use of HUBO in simulation.

Software Overview

PODO is the software that HUBO uses to communicate with the user, sensors, programs, and simulators.


This diagram above demonstrates how PODO works. There are 4 main componenets of PODO:

1. The GUI
2. ALs (user-created programs)
3. The Daemon (a collection of programs that run HUBO in simulation and reality)
4. Shared Memory

All components of PODO must communicate with the shared memory, and through there they are able to communicate with each other. For example, if a user wants to send a command to real HUBO, the message will go through the GUI, then to Shared Memory, then to the Deamon, which will then tell HUBO the motor commands it needs to execute the user's command.

Setting up Software

1. Open up Qt creator on either the simulator PC, or on one of the HUBO PCs
2. Open a new session in Qt
3. Open a new file

a. Open the file in the podo_nrl/src directory of the HUBO files
b. Open the file in the podo_nrl/src directory of the HUBO files
c. Open the file in the podo_nrl/src directory of the HUBO files
d. Open the file in the podo_nrl/src directory of the HUBO files

4. Rebuild all
5. Confirm the build directory is correct for your system (use the Project tab)
6. Run PODOLauncher

After executing these steps, you should be able to use the PODO GUI to control HUBO in reality or in simulation.

Possible Problems

If you run into any errors during the software setup, these may be some of the causes, and solutions:

1. Wrong version of Qt

Solution: Install the correct version of Qt Creator

2. C++ 11 RBModel disabled

Solution: Open the file in the current session
          Rebuild this file
          Replace libRBmodel with the newly built version

3. “Fake” builds

Solution: Rebuild the project at least 3 times to ensure a true build is acheived

Running HUBO in Reality

In order to use HUBO, we will need to interface with the PODO GUI to give HUBO commands. Before performing this, make sure to power-on HUBO as described in the Harware Tutorial. In order to do this, we must take the following steps:

1. Run PODO Launcher on the motion PC
2. Start GUI
3. Start Daemon
4. Open the ALs you require (walk-ready recommended)
5. Use the AL accordingly to give commands to HUBO

Running HUBO in Simulation

In order to run HUBO in simulation, we will need to take some different steps that incorporate ROS and Gazebo. In order to do this, follow these steps:

1. Run PODO launcher on the motion PC
2. Run the ROS PODO connector

cd catkin_ws
source devel/setup.bash
roslaunch drc_podo_connector drc_hubo.launch

3. Ensure the motion PC is connected to the simulator PC, through the ip file

File directory: catkin_ws/src/drc_hubo/ros/setting/networks.txt
Top line: PODO PC (usually motion PC)
Bottom line: simulator ip (keep the same)

4. Open the ALs you require
5. Use the AL accordingly to give commands to the HUBO in simulation
6. Use Gazebo to visualize HUBO interacting with the simulation
7. Use Rviz to visualize sensor data from the simulation

Final Words

This tutorial's objective was to teach the concepts behind the software overview for DRC-HUBO. Complete operation instructions for setting up the development and simulation environment for DRC-HUBO were provided. Once the concepts were conveyed the reader could successfully build the PODO system and setup DRC-HUBO in simulation.

For questions, clarifications, etc, Email:

software_setup_dw.txt · Last modified: 2017/04/27 21:53 by dwallace