Team CHARLI

Michael Hopkins, Derek Lahr, Viktor Orekhov, Dennis Hong

RoMeLa, Department of Mechanical Engineering, Virginia Tech, USA

www.romela.org/robocup


Abstract This paper details the hardware, software, and electrical design of the humanoid robot CHARLI-2 (Cognitive Humanoid Autonomous Robot with Learning Intelligence). CHARLI-2 was the first robot from the United States to be awarded the Louis Vouitton Best Humanoid Award.

1 Introduction

CHARLI-2 (Cognitive Humanoid Autonomous Robot with Learning Intelligence) is a 1.4 m tall, 12.1 kg, autonomous humanoid robot, which is the first of its kind in the United States. This humanoid robot and its predecessor, CHARLI-L, have been used for research, education, outreach, and publicity at Virginia Tech. In 2010, CHARLI-L was used as the base platform for Virginia Tech's first entry to the RoboCup humanoid AdultSize division. At RoboCup 2011, CHARLI-2 won first place in the AdultSize division, and was awarded the Louis Vouitton Best Humanoid Award. In the future we plan for the humanoid robot to autonomously navigate the hallways of campus buildings and perform human-like complex motions such as giving tours indoors.

We commit to participate in the RoboCup 2012 Humanoid League competition, and to make a person with sufficient knowledge of the rules available as referee during the competition.

2 Research

CHARLI-2 serves as a research platform used for studying dynamic gaits and walking control algorithms. With few exceptions (i.e. the Honda ASIMO, the Sony QRIO, and the KAIST HUBO [1–5]), most legged robots today walk using what is called the static stability criterion. The static stability criterion is an approach to prevent the robot from falling down by keeping the center of mass of its body over the support polygon by adjusting the position of its links and pose of its body very slowly to minimize dynamic effects [3]. Thus at any given instant in the walk, the robot could "pause" and not fall over. Static stability walking is generally energy inefficient since the robot must constantly adjust its pose to keep the center of mass of the robot over its support polygon, which generally requires large torques at the joint actuators (similar to a human standing still with one foot off the ground). Humans naturally walk dynamically with the center of mass rarely inside the support polygon. Thus human walking can be considered as a cycle of continuously falling and catching its fall: a cycle of exchanging potential energy and kinetic energy of the system like the motion of an inverted pendulum. Humans fall forward and catch themselves with the swinging foot while continuously progressing forward. This falling motion allows the center of mass to continually move forward, minimizing the energy that would reduce the momentum. The lowered potential energy from this forward motion is then increased again by the lifting motion of the supporting leg.

One natural question that arises when examining dynamic walking is how to classify the stability of the gait. Dynamic stability is commonly measured using the Zero Moment Point (ZMP), which is defined as the point where the influence of all forces acting on the mechanism can be replaced by one single force without a moment term [6]. If this point remains in the support polygon, then the robot can have some control over the motion of itself by applying force and/or torque to the ground. Once the ZMP moves to the edge of the foot, the robot is on the verge of stability and can do nothing to recover without extending the support polygon (planting another foot or arm). Parameterized gaits can be optimized using the ZMP as a stability criterion or stable hyperbolic gaits can be generated by solving the ZMP equation for a path of the center of mass. Additionally, the ZMP can be measured directly or estimated during walking to give the robot feedback to correct and control its walking. CHARLI-2 was developed in order to research dynamic gaits and control strategies for stable walking [3, 7].

Fig. 1. CHARLI-2 (Cognitive Humanoid Autonomous Robot with Learning Intelligence)
Fig. 1. CHARLI-2 (Cognitive Humanoid Autonomous Robot with Learning Intelligence)

3 Hardware

CHARLI-2 has 25 degrees of freedom (six in each leg, five in each arm, one in the torso and two in the head). The robot's links are fabricated out of aluminum. The robot uses ROBOTIS Co. Dynamixel EX-106+, RX-64, and RX-28 motors for the joints [8]. The motors operate on a serial RS485 network, allowing the motors to be daisy chained together. Each motor has its own built-in potentiometer (with the exception of the EX-106 which has an optical encoder) and position feedback controller, creating distributed control. The computers, sensors and electronics are distributed about CHARLI-2's upper torso.

4 Electronics

CHARLI-2 shares a common system architecture with our KidSize humanoid robot platform, DARwIn-OP. All high-level processing and control is performed on a Compulabs fit-PC2i Intel-based PC running GNU/Linux. A ROBOTIS Co. CM-730 sub-controller board acts as the communication relay between the Dynamixel actuators and PC, providing services for both sensor acquisition and actuator control. For vision processing, a Logitech C905 camera is connected to the PC via USB. Additionally, a six degree of freedom inertial measurement unit (IMU) provides feedback for correcting gait cycles in the face of perturbations. A block diagram outlining the computing relationship is shown in Fig. 2.

CHARLI's power is provided by two 14.8V, 2.25 Ah (nominal) and two 11.1V, 1.3 Ah (nominal) lithium polymer batteries. Each battery provides power to a separate isolated area: the left leg, right leg, upper body, and computer system respectively. By isolating the computer power supply from the actuators, we can provide clean power to the PC. The fit-PC2i consumes 8W at full CPU usage.

Fig. 2. Electronics architecture
Fig. 2. Electronics architecture

5 Software

The software architecture for the robot is shown in Fig. 3. This architecture is based on the humanoid robotics platform used by Team DARwIn, which uses Lua as a common development platform. Since many of the students do not have strong programming backgrounds, this development platform allows them to participate more fully on the team. Low-level interfaces to the hardware level are implemented as C routines callable from Lua. These routines provide access to the camera and other sensors such as joint encoders and the IMU, and allow the higher-level routines to modify joint angles and stiffnesses.

Additionally, by changing a simple PATH variable, a set of simulated interfaces can be swapped in for onboard development and testing. This allows for easy debugging on logged data even without access to the robotics hardware. In order to simplify development, all interprocess communications are performed by passing data structures between the various modules. [9] The software architecture consists of a variety of modules, layered hierarchically:

  • Sensor Module that is responsible for reading joint encoders, IMU, foot sensors, battery status, and button presses on the robot.
  • Camera Interface to the video camera system, including setting parameters, switching cameras, and reading the raw YUYV images.
  • Effector Module to set and vary motor joints and parameters, as well as body and face LED's.
  • Vision Uses acquired camera images to deduce presence and relative location of the ball, goals, lines, and other robots.
  • World Models world state of the robot, including pose and altered ball location.
  • Game StateMch Game state machine to respond to Robocup game controller and referee button pushes.
  • Head StateMch Head state machine to implement ball tracking, searching, and lookaround behaviors.
  • Body StateMch Body state machine to switch between chasing, ball approach, dribbling, and kicking behaviors.
  • Keyframe Keyframe motion generator used for scripted motions such as getup and kick motions.
  • Walk Omnidirectional locomotion module.

Due to the differences in scale between CHARLI-2 and DARwIn-OP and the different rules played in the Adultsize and KidSize competitions, we have developed specialized modules for CHARLI-2's ZMP-based walking, perception and state-machine behavior.

Fig. 3. Software architecture
Fig. 3. Software architecture

6 Vision

In each new setting, we may encounter different field conditions such as a change in lighting or the actual color hue of the field objects. In order to account for this, we log a series of images that are then used to train a lookup table. A GUI tool enables us to define the YCbCr values that correspond to green, yellow, white, etc. Once these specific values are selected and defined, the distribution of the points in the color space are spread out and generalized to account for a greater variation. This is done with a Gaussian mixture model that analyzes the probability density function of each of the previously defined pixel values. The boundaries of the color classes are then expanded according to Bayes Theorem. We can then process the individual pixels of the new images by matching their YCbCr values to the broadened definition of the values in the lookup table.

After the image is segmented into its corresponding color classes using the look-up table, the segmentation is bitwise OR-ed in 4x4 blocks. The initial object hypotheses for the ball and goal posts are found by finding connected components in the smaller, bit OR-ed, image, and then using the original image we calculated the statistics of each region. Processing the bit OR-ed image first allowed us to greatly speed up the computation of the system. The bit OR-ed image also produced the set of points that are used in our line detection algorithm.

We then check the segmented components for certain attributes like size, shape, and position in order to classify objects, such as the ball and the goal posts. We also compute statistics for the position of detected objects in the world coordinate system using the inverse kinematics of the robot, the centroid, and the bounding box to further filter the object hypotheses. Using these we are able to track the ball and identify the existence and size of goal posts and consequently localize our position on the field. [9]

Fig. 4. Visualization of the color segmentation
Fig. 4. Visualization of the color segmentation

7 Conclusion

Building on our research and RoboCup experience and utilizing technology from the DARwIn family of robots, we hope that CHARLI-2 will continue to evolve and succeed in this year's competition.

References

  1. K. Hirai. The development of honda humanoid robot. IEEE Int. Conf. on Robotics nd Automation, pages 1321–1326, 1998.
  2. T. Ishida. A small biped entertainment robot sdr-4x ii. Proc. IEEE Symposium on Comp. Intelligence in Robotics and Automation, pages 1046–1051, July 2003.
  3. J. Kim. On the Stable Dynamic Walking of Biped Humanoid Robots. PhD Thesis, Korea Advanced Institute of Science and Technology, Daejeon, South Korea, 2006.
  4. et al S. H. Collins. A three-dimensional passive-dynamic walking robot with two legs and knees. Int. Journal of Robotics Research, 20(2):607–615, 2001.
  5. T. McGeer. Passive dynamic walking. Int. Journal of Robotics Research, 9(2):62–82, April 1990.
  6. M. Vukobratovic. Zero-moment point–thirty five years of its life. Int. Journal of Humanoid Robotics, 1(1), 2004.
  7. Q. Huang, K. Yokoi, and et al S. Kajita. Planning walking patterns for a biped robot. IEEE Trans. on Robotics and Automation, 17(3):280–289, June 2001.
  8. K. Kim, Y. Son, and P. Kim. Construction of small humanoids with a new joint actuator module. Proc. 2004 IEEE Int. Conf. on Robotics and Automation, pages 4510–4514, April 2004.
  9. J. Brindza, A. Lee, A. Majumdar, B. Scharfman, A. Schneider, R. Shor, and D. Lee. Upennalizers robocup standard platform league team report 2009. Technical report, University of Pennsylvania, 2009.