A Humanoid Robot for Research and Education
Total Page:16
File Type:pdf, Size:1020Kb
Humboldt-Universität zu Berlin Mathematisch-Naturwissenschaftliche Fakultät Institut für Informatik Gretchen - a humanoid robot for research and education Bachelorarbeit zur Erlangung des akademischen Grades Bachelor of Science (B. Sc.) eingereicht von: Anastasia Prisacaru geboren am: 18.10.1996 geboren in: Chisinau Gutachter/innen: Prof. Dr. Verena V. Hafner Prof. Dr. Hans-Dieter Burkhard eingereicht am: verteidigt am: Content 1 Introduction5 1.1 Contributions of This Work . .7 1.2 Acknowledgements . .7 1.3 Outline . .7 2 Background9 2.1 Current State of the Art of Humanoid Robotics . .9 2.2 The Gretchen Robot . 13 2.3 Open-platform robots . 15 2.3.1 iCub . 16 2.3.2 DARWIN-OP . 17 2.3.3 Poppy . 17 2.3.4 Igus . 18 2.3.5 Hambot . 18 2.4 Comparison between Gretchen and Other Robots . 18 2.5 Dissemination of the Gretchen Robot . 19 3 Gretchen - Hardware 23 3.1 Wooden Parts . 23 3.2 Drive Parts . 24 3.2.1 Bearings . 25 3.2.2 Toothed Belts . 25 3.3 3D-printed Parts . 26 3.3.1 Pulleys . 26 3.3.2 Joints . 27 3.3.3 Feet . 28 3.3.4 Motor Covers . 28 3.3.5 Shells . 29 3.4 Servos and Electronic Components . 30 3.4.1 Servos . 30 3.4.2 Sensorimotor Boards . 31 3.5 Cables and Wires . 34 3.5.1 Motor and Potentiometer Wires . 35 3 3.5.2 RS485 Bus Cables . 36 3.6 Power Supply . 36 3.7 Hardware Assembly Conclusion . 37 4 Gretchen - Software 39 4.1 Firmware and Sensorimotor Boards . 40 4.1.1 ATmega238P . 41 4.1.2 Firmware . 41 4.1.3 In-System Programming . 41 4.1.4 Firmware Tests . 43 4.1.5 RS-485 Bus . 43 4.1.6 Pulse Width Modulation . 44 4.2 Motor Control . 44 4.2.1 H-Bridge . 45 4.2.2 Controllers . 45 4.2.3 PID Controller . 45 4.3 Libsensorimotor - Python API . 46 4.3.1 Motorcord . 46 4.3.2 Voltage Configuration . 49 4.3.3 Position Control Experiments . 49 4.3.4 Basic Motion Experiments . 50 4.4 Software Conclusion . 51 5 Discussion and Future Work 53 5.1 Hardware . 53 5.2 Software . 54 5.3 Dissemination . 57 5.4 Conclusion . 57 4 1 Introduction Robots that resemble the human body, also called humanoid robots, increased in popularity in the last few decades due to advances in mechanical engineering, artificial intelligence, and robotics. Humanoid robots are currently used in public relations, personal assistance, healthcare, education, and entertainment where the human-like appearance enables a more natural and effective interaction with humans [1]. The shared morphology with humans also enables countless research opportunities, such as the exploration of theories about human cognition, social interactions, behaviors, and embodied intelligence [2]. Furthermore, humanoid robots provide a versatile platform for education, due to many disciplines which can be learnt in their context, namely: mechanical engineering, electrical engineering and computer programming. Humanoid robots can be categorized into robots which model particular parts of the body, such as upper or lower body; robots which have a torso, a head, two arms, and two legs, however still having a machine-like appearance; and robots which aesthetically resemble humans - also called androids. In this thesis, we mention humanoid robots with machine-like appearance used for research and education, which resemble either the lower part or the whole human body. With the increasing popularity of research on humanoid robotics, many companies started developing humanoid robots, the leading manufacturers being SoftBank, RO- BOTIS, Kawada Robotics and UBTECH Robotics. They provide robust and versatile robots, with full support and warranty. However, when used in research and education, all commercially available robots have certain disadvantages or limitations, which either depend on their size, actuators, price or software availability. For instance, the well-known adult-sized robots ASIMO [3], Hubo [4] and HRP4 [5] are not designed to survive falls and can only act in controlled environments [6]. Furthermore, these robots have extremely high acquisition and maintenance costs, which means that they are unreachable for most universities and thus unavailable for many research efforts [6]. The robots LOLA [7] and Atlas [8] have more complex locomotion capabilities, however, they are not commercially available and their software and hardware specifications are not publicly available. Similarly to the robots LOLA and Atlas, the majority of commercially available research humanoid robots, such as NAO [9], Pepper [10], Hubo [4], HRP4 [5] and Romeo [11], are not open-platform, meaning that the manufacturers don’t allow direct access to the source code and the hardware of the robot, and the user can only program it via a high-level Application Programming Interface (API). These limitations slow down the progress in the humanoid robotics field, as open-platform and low-cost humanoid robots would allow more users to access the low-level functionality 5 of the robot, modify its hardware and software, and as a result - contribute to the development of the robot as well as to the open-source community. There are multiple communities of researchers, students, and hobbyists engaged in building and programming open-platform and low-cost humanoid robots who are collaborating and sharing knowledge within initiatives, such as the Open Automation Project [12], RoboCup [13] and Robo One [14]. The Humanoid League of the RoboCup Competition, which was initiated in 2002, is a good example of a steadily growing community, where some of the best self-built and commercial autonomous humanoid robots in the world compete against each other [15]. Until 2012, the majority of teams in this league were competing with self-built robots, as there were no affordable, open- platform commercial robots available. Due to the introduction of open-platform robots DARwIn-OP [16], NimbRo-OP [6] and THOR-OP1 [17], more teams were able to join this league, without the need of building their own robots and being able to focus on the development of the software. Moreover, some universities were inspired by the design of the DARwIn-OP robot and developed the open-platform robots Igus [18] and Hambot [19] which are bigger in size and the latter is cheaper than the original. These robots have had a great impact on the humanoid league, however they are not completely open-hardware, as they are powered by Dynamixel servo motors, which have certain restrictions of third party manufacturers [20]. Therefore, there is a rising interest within research and maker communities to develop open-hardware electronic components, as they aim to have full control over the software as well as the hardware of the robots. The Gretchen robot was designed with the aim of creating an accessible, low-cost and open-platform robot for research and education. Gretchen resembles the lower part of the human body and is built from low-cost materials, namely wooden, 3D-printed, and commercially available electronic components. The robot is powered by 10 low-cost servo motors with custom-manufactured open-source boards, which complement the motors with additional features necessary for powering a humanoid robot. The complete source code, as well as all hardware specifications and sketches are open to the public 2. The software is separated into two different repositories, which provide the code base and necessary documentation for getting started with programming the motors. The first repository, called Sensorimotor, contains the firmware for the custom boards and the hardware specifications. The second one, Libsensorimotor, contains the C++ libraries and the Python API for controlling single motors. Gretchen is a prototype in an early development stage and it still lacks detailed documentation, customized software, autonomy as well as robustness and reliability tests. The goal of this thesis is to analyze the hardware and the software of the Gretchen robot by performing and documenting an experimental assembly, comparing it with other open-platform humanoid robots, giving an overview of the software architecture, and evaluating its accessibility for research and education projects. 1THOR-OP is also known as THORMANG1 2The official GitHub page of the Gretchen robot https://github.com/suprememachines 6 1.1 Contributions of This Work This section summarizes the main contributions of this work. A literature survey was conducted, where the current state of the art of the humanoid robotics research field was analyzed. An overview of relevant platforms was compiled, with the focus on their affordability, availability, and whether they have open-source software and hardware. Gretchen was discussed in comparison with five open-platform humanoid robots used for research and education, and thereby its prominent aspects, as well as limitations, were examined. An experimental assembly of the Gretchen robot was performed, based on a prototype of the assembly kit presented in the documentation [21]. The hardware assembly process was scrutinized and documented together with gathered observations and missing details from the assembly documentation. Therefore, this work can be considered as an extension of the assembly documentation, making the robot more feasible and accessible. In addition, the software architecture was closely examined and described with the focus on its connection to the hardware. Basic experiments with the software were conducted, demonstrating the basic motion capabilities of the robot. A discussion was conducted about the research domains where the robot can be used. Several of the current limitations of the robot were examined and corresponding solutions for future work were proposed, to encourage the further development of the Gretchen robot within the open-source and research communities. 1.2 Acknowledgements This work was supported by the AI Brain Company [22], which provided the assembly kit containing all necessary hardware components mentioned in the assembly documen- tation [21].