[Documentation] [TitleIndex] [WordIndex

HUBO Humanoid Robot

http://i.imgur.com/aSYwt.jpg

The HUBO series of biped robots was developed by the Humanoid Robot Research Center at KAIST (Korea Advanced Institute of Science & Technology), and is manufactured by spin-off company Rainbow Inc. The latest version is the HUBO2+ which incorporates a lighter frame, slimmer casing, and improvements to the hand, wrist, battery and motor controllers.

HUBO has two on-board computers and comes standard with a real-time control system running on Windows XP withRTX. ROS has only been utilised with the Windows system in a minimal fashion, however this could change with the new win_ros project.

A new real-time control system has been developed using Linux and Xenomai that requires no upgrade of existing hardware. A ROS interface is being developed to encourage collaboration on software for higher-level functionality. Work is also being undertaken on a new, smaller Linux control computer based on a Blackfin processor.

For more information, see:

Hardware Overview

The joint actuators are connected to distributed JMC (Joint Motor Controllers) operating with a 1000-2000 kHz control loop. Each JMC communicates with the main control computer via CAN bus in a 100-200 Hz control loop.

An Advantech PCM-3362 single-core embedded computer with a PCM-3680 PC/104 2-channel CAN card runs the RTOS (Real-Time Operating System). There are two separate CAN buses, with the first channel controlling the lower body at double the rate of the upper body.

Additional CAN interface cards have been tested, including:

Software Overview

The Rainbow API is used to communicate with the robot's JMC and sensors and a new version has been written for Linux using the Xenomai real-time framework. Xenomai was chosen because it has the best hard real-time performance, and thus is used for many other robots including the Barrett, Katana and Philips manipulators, and the CoMAN humanoid.

Originally Xenomai was supported by ROS, but it was dropped due to some earlier stability/linking problems. The Rainbow API is linked with Xenomai and rosrt is used for real-time publishing. The custom 2.6 kernel was tested with Linux Mint, but now Ubuntu 10.04.4 (Lucid) is used because it is a LTS (Long Term Support) release and compatible with both ROS Fuerte and Electric.

CAN hardware is supported using the Xenomai RTDM (Real-Time Driver Model) and RT-Socket-CAN drivers. The system uses multiple real-time threads with priority scheduling so the main control loop maintains hard real-time. If the computer was swapped for a dual-core, the CAN and controller threads can easily be allocated to separate cores. The Rainbow API can also support 4-channel CAN cards, once the Peak driver is completed.

The second on-board computer can run any compatible Linux/ROS distribution. A USB Wi-Fi adapter can be installed to communicate with additional off-board PCs.

ROS capability

The motivation to get ROS on HUBO came from the achievements made with the PR2 robot. There are now HUBO2 robots at KAIST and SNU in Korea, UESTC in China, Drexel, MIT, CMU, Virginia Tech, USC, Ohio State, Purdue and Penn in the United States, and I2R in Singapore, so this common hardware platform should advance the capabilities of humanoid robots.

ROS packages for simple joint level control have been developed but there is more work required to integrate ROS compatible walking and manipulation.

Availability

It is still to be decided if the Rainbow API and ROS packages will be open-source. The purpose of this announcement is to encourage support from other research groups, so if you want to use ROS on your HUBO, please get in contact with the author below.

Library Overview

Packages marked "hubo2" are for the HUBO2/2+ robot, and those marked "hubo_arm" are for a different stand-alone manipulator.

1. Basic Configuration

Component

ROS package/stack

Robot model (URDF)

hubo2_description

Robot model (URDF)

hubo_arm_description

2. Hardware Drivers and Simulation

Component

ROS package/stack

Motor Controller

hubo2_driver

Simulation (3D)

hubo2_webots

Simulation (3D)

hubo2_openrave

Simulation (3D)

hubo_arm_gazebo

Simulation (3D)

hubo_arm_webots

3. High-Level Capabilities

Component

ROS package/stack

Teleop

hubo2_teleop

Teleop

hubo_arm_teleop

Arm motion planning

hubo_arm_navigation


2024-03-23 12:23