AUTMan Humanoid Kid Size Team Description Paper RoboCup 2017 Humanoid Robot League, Nagoya, Japan

Sepehr Ramezani, Amirali Setaieshi, Nima Pourmohammadi, Armin Arvand, Parsa Yarahmadi, Foruzan Fallah, Shayan Khorsandi, Jacky Baltes, Sourosh Sadeghnejad

Bio-Inspired System Design Lab (BInSDeLa), Amirkabir University of Technology (Tehran Polytechnic), No. 424, Hafez Ave., Tehran, Iran, P. O. Box 15875-4413.; Autonomous Agents Laboratory, University of Manitoba, Winnipeg, Canada, R3T 2N2

http://autman.aut.ac.ir · http://aalab.cs.umanitoba.ca


Abstract This document introduces AUTMan humanoid joint team for participating in Humanoid Kid Size Robot League in RoboCup 2017, Nagoya, Japan. This joint team was founded in 2015 on collaboration between two teams from Amirkabir University of Technology (Tehran Polytechnic), Iran and University of Manitoba, Canada. A brief history of Team AUTMan and its' research interests and directions for future research will be described. Our main research interests within the scope of humanoid robots are to modify our recent KidSize platform, KIARASH, for being compatible to long-term road map for the future of the league, active balancing, robot manipulations, accurate localization, and strategic reasoning for soccer.

Keywords: RoboCup 2017, humanoid joint team, KIARASH, active balancing, robot manipulation, accurate localization, strategic reasoning.

1 Introduction

From the beginning of ambitious new road-map of the humanoid league, the RoboCup Federation encouraged universities and research institutes toward making some joint research groups [1].

To reach the RoboCup final goal, the AUTMan humanoid robot team from the Bioinspired system design laboratory of Amirkabir University of Technology, Iran started a joint collaboration with team Snobots from the Autonomous Agents Laboratory at the University of Manitoba Canada. Both groups have a long history in humanoid robot soccer and were quite successful in recent years. Besides winning various Technical Challenges in both the KidSize and TeenSize sub leagues in previous RoboCups, 2013, 2014, 2015 and 2016, the joint team won the main RoboCup humanoid robot league tournaments. Placing 2nd in RoboCup 2013 in the humanoid Kidsize and 3rd in RoboCup 2015 and 2016 humanoid in the teen sized sub league proved our wide and planned endeavors in promoting the humanoid robotics communities.

On the other hand, AUTMan was quite active in the scientific and research events, where they published some journal and conference papers in different RoboCup symposia [2-5] and humanoid robotics related conferences and journals [6-8].

To improve our collaboration in 2017, we have completed s novel 3D-printed humanoid kidsize platform, which can easily be used by other research groups. In the 2017 competition, we want to display the advancements made in our research in the fields of active balancing, robot running, designing a modular hands for robot manipulations, modifying our ROS-based software for accurate localization, strategic reasoning for soccer and also improving the robot vision and detection algorithms. We are paying careful attention to the human-robot interaction components by adding extra modular sensors and components (e.g., speech synthesis and speech recognition). This is a new direction in the design of our robot, since we plan on offering a commercial version of our platform. Therefore, we continue the collaboration of our team for the RoboCup humanoid kidsize league 2017 and extend our future activities toward this goal.

2 Development for 2017

In 2017, the goal of our collaboration and our participation in RoboCup 2017 are four-fold.

    1. We will focus on modifying our recent humanoid kidsize robot platform, KIARASH, based on the humanoid league long-term road map.
    1. We also plan to focus more on human-robot interaction and support richer interactions by adding additional hardware (e.g., microphones and speakers) and software (e.g., speech synthesis and gesture recognition).
    1. We are working on improving the localization, behaviors, team play, and collaborations between robots.
    1. We extend our collaboration to this sub league and continue to demonstrate the feasibility of joint teams in RoboCup competition and symposium.
Figure 1. Left: AUTMan placed 1st in RoboCup 2016 humanoid Technical Challenge, Right: different generated robots in past years of collaborations.
Figure 1. Left: AUTMan placed 1st in RoboCup 2016 humanoid Technical Challenge, Right: different generated robots in past years of collaborations.
Figure 1. Left: AUTMan placed 1st in RoboCup 2016 humanoid Technical Challenge, Right: different generated robots in past years of collaborations.
Figure 1. Left: AUTMan placed 1st in RoboCup 2016 humanoid Technical Challenge, Right: different generated robots in past years of collaborations.
Figure 1. Left: AUTMan placed 1st in RoboCup 2016 humanoid Technical Challenge, Right: different generated robots in past years of collaborations.
Figure 1. Left: AUTMan placed 1st in RoboCup 2016 humanoid Technical Challenge, Right: different generated robots in past years of collaborations.

3 Hardware Design

KIARASH (Kid Inspired Autonomous Robot Augmented with Sense of Human), is a robot which is developed using high strength aluminum frames as the structure and covered with 3D-printed body components for anthropomorphic designed and shock absorption. It weighs 3.5Kg and is 58cm tall. It is equipped with human-liked sensors and advanced computational power. The dynamic motion ability enable the platform to be used for entertainment, education and research purposes. The kinematic structure of the robot has 20 degrees of freedom (DOF). The design uses six DOFs for each leg based on Herkulex DRS-0401 smart servo series and three degrees of freedom for each arm based on Herkulex DRS-0201 smart servo series [9]. The camera of the KIARASH is mounted on a two servo pan and tilt mechanism using Herkulex DRS-0101 servos [10]. Figure 2 shows our latest humanoid KiSize robots—the KIARASH Humanoid Open Platform. We have two levels of control hardware in KIARASH. For the higher level, we use a MAXData QutePC-3001 [11] mini embedded board as the main pc. The lower level motor control and the walking engine are implemented on a self-designed modular micro-controller board. The communication protocol and the block diagram of the electronic subsystem are shown in Figure 3. The processor used in the main board is a STM32F756NG, a high-performance processor and DSP core with FPU. The processor core is based on the ARM Cortex-M7 32-bit RISC core operating at up to 216 MHz frequency. It is used for main and walk processor [4]. This year, we designed additional hardware to provide richer human robot interaction by having special embedded boards for speech recognition and gesture generation.

For 2017, we focus on the need for advanced manipulation capabilities in compact and robust form factors which is necessary for promotion of the RoboCup humanoid league. The RoHa (Robot Hand) features a tendon based, under-actuated design with advanced grasping capabilities in an extremely compact form factor: just 120cm long. It offers an anthropomorphic design with opposable thumb adduction and flexion and a spherical wrist joint (rotation).

The RoHa is a compact option for robots requiring advanced gasping capability and robots in competitions which adds the ability to pick up small objects such as a tennis ball. The under actuated design offers a total of nine degrees of freedom for both index and thumb figures, with one internal smart actuators (XL-320 Robotis actuator) producing 39N.cm tendon tension each, for (1) thumb flexion and (2) index fingers flexion which enable the hand three fingers to be opened and closed, simultaneously. The smart actuators provide feedback of position, speed, temperature and current measurement at high sampling rate (100Khz) on all actuated joints allowing force estimation.

Figure 2. Left: One generation of KIARASH Open Platform robots, Right: Robot structural overall dimension.
Figure 2. Left: One generation of KIARASH Open Platform robots, Right: Robot structural overall dimension.
Figure 2. Left: One generation of KIARASH Open Platform robots, Right: Robot structural overall dimension.
Figure 2. Left: One generation of KIARASH Open Platform robots, Right: Robot structural overall dimension.
Figure 3. Electronics Hardware's Block Diagram
Figure 3. Electronics Hardware's Block Diagram
Figure 4: Right: One generation of RoHa structure, Left: RoHa's 3D-model design
Figure 4: Right: One generation of RoHa structure, Left: RoHa's 3D-model design
Figure 4: Right: One generation of RoHa structure, Left: RoHa's 3D-model design
Figure 4: Right: One generation of RoHa structure, Left: RoHa's 3D-model design

4 Software Development

The following subsections describe the software architecture and our improvements for RoboCup 2017, Nagoya, Japan.

4.1 Software Architecture

To develop an architecture for our software system, we will use the ROS [11] so that our work can be more easily shared with other researchers and RoboCup teams.

4.2 Walk Engine

A block diagram of our Omni-directional walk algorithm is illustrated in Figure 5. This year, to speed up the computation of our inverse kinematics, we implemented a look-up table for the computation of the atan2 function. In the C/C++ programming language functional implementation of the atan2 function use a BBP (Bailey-Borwein-Plouffe) type formula [12].

Figure 5. Walk Engine block diagram
Figure 5. Walk Engine block diagram

4.3 Push Recovery

For the push recovery challenge, we will use novel step planning algorithm which detects frontal and lateral pushes using its accelerometer sensor ($p_x$, $p_y$), then optimize the trajectory by the mathematical terms below.

$$L_{Yaw} = \frac{v_t}{4} (sign(v_t) + 1)(-\cos(t) + 1)$$

$L_x$, $L_y$, $L_z$ are the values of x, y, z position in millimeter for each leg determine the moving of the foot in forward, sideward and upward respectively [13].

Push Recovery
Push Recovery

4.4 Cognition

Our cognition module processes input in several layers to detect objects of interest. In object perception, we find objects in the field, by their shapes and in object recognition, we recognize what these shapes actually are.

Color classification: We process wide-angle YUV422 images from a Logitech C920. We construct a lookup table by selecting random pixels based on our desired color labels. This Lookup table is a mapping from YUV color space to a set of colors and assigns a class label to every pixel. For example, we use this algorithm to recognize green color and find the borders of the playing field.

After color classification, we scan the image vertically to create rectangles of the same color.

Vertical Scan and Segmentation: The main purpose of the segmentation layer is to find an approximate coordination of objects in the image by clipping color labeled regions of interest (ROIs). The ROIs, at first, are rectangles made by a vertical scan line algorithm, to improve the performance of this algorithm a convex hull of the field is computed and items outside of this hull will be ignored. Next the adjacent segments are merged and make shapes. The identity of the resulting shape is estimated by heuristics which either a circle (the ball) or a line (the field lines and the goal posts) this strategy significantly improves the performance since the color labeling is not necessary anymore.

Edge based algorithm: our color-based algorithms are not able on their own object to detect various objects. So we convert our image into edge based segments. Actually, we extract edge pixels from the image, based on the spot's edge magnitude and gradient. Since it is not efficient to apply edge detection to the entire image, we applied our edge detector on the coordinates of shapes, which we found in previous steps.

4.5 Robot Behavior

This year we use a separate processor for the behavior process. We have a method implementing a path planer that takes 3 arguments: distance of the ball from the current position of the robot, distance of the ball to the goal, and distance of the ball from the nearest object in the field. After lining up behind the ball we consider two options. If an object blocks the direct path from the current position of the ball to the goal, we use an A* basedl_path_planner to dribble the ball to the goal. If there is a clear path from the current ball position to the goal, then we kick the ball at the goal. We identify the goal posts and if an object covers the goal area, we aim for the side that is less obstructed.

Figure 6. Line and ball detection using edgebased methods

Figure 7. The red dot is robot position, and the black dot is ball, blue lines is angle of view

Figure 6. Line and ball detection using edgebased methods
Figure 6. Line and ball detection using edgebased methods

4.6 Remote Robot Control

Formerly, all the connections with the robots have been established using a simple SSH connection and all the logging and simulation processes were forced to be run on the robot while the robots are on the field. This is simple to implement but puts a heavy processing load on the main computer. So all these process are moved to the remote pc and the robots only handles the network connection while running. With this approach the remote control of the robot is more robust.

We also developed new GUI applications to help in the control, debugging, and visualization of the robot.

4.7 Localization

We use different data to increase the accuracy of our localization algorithm. Vision data, odometer algorithm and positioning based on accelerometers of our IMU are some data that we use to have better localization. In positioning we get signals from the IMU which represents acceleration of the robot in 3 dimensions. If the acceleration of an object is known, we can obtain the position data by integrating the acceleration twice. The input signal is not noise free so it must be mechanically and digitally filtered to improve accuracy. We have odometer data in our walk and we use it for filtering of our vision data and after that we use a particle filter and positioning by IMU to estimate our position on the field.

5 Conclusion and Acknowledgment

This report described the technical plans and works done by the AUTMan Humanoid Kid Size Robot Joint Team for its entry in RoboCup 2017. Our main research interests within the scope of humanoid robots are to modify our recent KidSize platform, KIARASH, to be compatible with the long-term road map of the humanoid league. We also improved our active balancing, robot manipulations, accurate localization, and strategic reasoning for soccer. For further information, please refer to our publications.

References

  1. Gerndt, R., Seifert, D., Baltes, J.H., Sadeghnejad, S., Behnke, S.: Humanoid Robots in Soccer: Robots Versus Humans in RoboCup 2050. Robotics & Automation Magazine, IEEE 22, 147-154 (2015)
  2. Baltes, J., Sadeghnejad, S., Seifert, D., Behnke, S.: RoboCup Humanoid League Rule Developments 2002–2014 and Future Perspectives. RoboCup 2014: Robot World Cup XVIII, pp. 649-660. Springer (2015)
  3. Shangari, T.A., Shamshirdar, F., Azari, B., Heydari, M., Sadeghnejad, S., Baltes, J.: Real-time Ball Detection and Following Based on a Hybrid Vision System with Application to Robot Soccer Field.
  4. Shangari, T.A., Shamshirdar, F., Heydari, M.H., Sadeghnejad, S., Baltes, J., Bahrami, M.: AUT-UofM Humanoid TeenSize Joint Team; A New Step Toward 2050's Humanoid League Long Term RoadMap. Robot Intelligence Technology and Applications 3, pp. 483-494. Springer (2015)
  5. Shafei, H.R., Sadeghnejad, S., Bahrami, M., Baltes, J.: A Comparative Study and Development of a Passive Robot with Improved Stability. In: Robot Soccer World Cup, pp. 443-453. Springer, (Year)
  6. Baltes, J., Tu, K.-Y., Sadeghnejad, S., Anderson, J.: HuroCup: competition for multi-event humanoid robot athletes. The Knowledge Engineering Review 1-14 (2016)
  7. Gerndt, R., Seifert, D., Baltes, J.H., Sadeghnejad, S., Behnke, S.: Humanoid robots in soccer: Robots versus humans in RoboCup 2050. Robotics & Automation Magazine, IEEE 22, 147-154 (2015)
  8. Baltes, J., Bagot, J., Sadeghnejad, S., Anderson, J., Hsu, C.-H.: Full-Body Motion Planning for Humanoid Robots using Rapidly Exploring Random Trees. KI-Künstliche Intelligenz 30, 245-255 (2016)
  9. Kontoudis, G.P., Liarokapis, M.V., Zisimatos, A.G., Mavrogiannis, C.I., Kyriakopoulos, K.J.: Open-source, anthropomorphic, underactuated robot hands with a selectively lockable differential mechanism: Towards affordable prostheses. In: Intelligent Robots and Systems (IROS), 2015 IEEE/RSJ International Conference on, pp. 5857-5862. IEEE, (Year)
  10. Sourosh Sadeghnejad, J.B., Sepehr Ramezani, Amirali Setaieshi, Parsa Yarahmadi, Foruzan Fallah, Nima Pourmohammadi, Armin Arvand, Behrouz Goudarznia and Amirhossein Hosseinmemar: AUTMan Humanoid Kid Size Team Description Paper, RoboCup 2016 Humanoid Robot League, Leipzig, Germany 20th International RoboCup Symposium Leipzig, Germany (2016)
  11. Hennerkes, W.A.: MAXDATA Main Menu. Maxdata, pp. 27-27. Springer (1990)
  12. Abramowitz, M., Stegun, I.A.: Handbook of mathematical functions: with formulas, graphs, and mathematical tables. Courier Corporation (1964)
  13. Mojtaba Karimi, S.S.a.J.B.: Online Omnidirectional Gait Modifications for a Full Body Push Recovery Control of a Biped Robot. International Conference on Advanced Humanoid Robotics Research, Beijing, China (2016)