Team CHARLI

Jaekweon Han, Michael Hopkins, Derek Lahr, Viktor Orekhov, Professor 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 (Cognitive Humanoid Autonomous Robot with Learning Intelligence). CHARLI was the first US entry into the humanoid adult size division of RoboCup.

1 Introduction

CHARLI (Cognitive Humanoid Autonomous Robot with Learning Intelligence) is a 1.4 m tall, 12.0 kg, autonomous humanoid robot, which is the first of its kind in the United States. This humanoid robot has been used as a platform for research, education, outreach, and publicity for Virginia Tech. It was also utilized as the base platform for Virginia Tech's first entry to the humanoid adult size division of RoboCup 2010. 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.

2 Research

CHARLI 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 is developed and being used for research on such dynamic gaits and control strategies for stability [3, 7].

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

3 Hardware

CHARLI has 23 degrees of freedom (six in each leg, four 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' 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, electronics, and computer ports are distributed about CHARLI's upper torso.

4 Electronics

CHARLI's electronic system will be very similiar to the one used on DARwIn-OP but will be modified to account for the increased power required to operate CHARLI. It provides power distribution, communication buses, computing platforms, and sensing schemes aimed at making sense of a salient environment. CHARLI's power is provided by three 18.8V (nominal), 2.2 Ah, lithium polymer batteries. Each battery provides power to a separate isolated area: upper body, left half of the lower body, and right half of the lower body.

Computing tasks are performed on a Compulabs fit-PC2i computing system that runs the Intel Atom Z530 CPU with 1GB of onboard RAM and built-in WiFi. The PC runs off the main battery supply, and consumes 8W at full CPU usage. In addition, the computer connects to both a Logitech C905 camera and a Robotis CM-730 microcontroller board.

The CM-730 board, featuring the ARM CortexM3 processor, acts as the communication relay between the Dynamixel motors and the fitPC. The microcontroller also provides sensor acquisition and processing. A 6 degree of freedom Inertial Measurement Unit (IMU) will aid in correcting gait cycles in the face of perturbations. A block diagram that outlines the computing relationship is shown in Fig. 2.

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

5 Software

The software architecture for the robot is shown in Fig. 3. This architecture uses C++ as a common development platform. A collection of high-level class interfaces allow students who do not have strong programming backgrounds to participate in the software development and testing. Low-level interfaces to the hardware level provide access to the camera and the microcontroller which in turn communicate with the servos 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. 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.

In order to simplify development, all interprocess communications are performed by passing data structures between the various modules. [9]

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 previous research and RoboCup experience and utilizing technology from the DARwIn family of robots, we hope to improve upon CHARLI's success in last year's humanoid 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.