Humanoid Robotics (TIF 160) Lecture 1, 20100831 Introduction and motivation to humanoid robotics
What will you learn? (Aims) Basic facts about humanoid robots Kinematics (and dynamics) of humanoid robots Motion of humanoid robots Locomotion Other motions Human-robot interaction Text-to-speech synthesis (Speech recognition) Vision (basic image processing, moving object detection, face detection, object tracking etc.)
What will you learn? (Aims) Brain structures for humanoid robots Robotic behaviors Decision-making Humanoid robot programming Microcontroller programming (Pbasic) High-level programming (C#) Putting it all together: programming and steering humanoid robots
Course work Theoretical exercises (to a rather small extent) Practical work with humanoid robots (complete or partial)
Why should you take this course? Humanoid robots are becoming increasingly important, and will most likely have a great impact on society in the foreseeable future (10-20 years). Humanoid robotics combine several different disciplines: Mechanics, electronics, programming, human-robot interaction, ethology etc. Thus, by studying humanoid robots, you learn a great deal about system engineering. Humanoid robots are interesting and fun to work with.
Course contents v.1-2 Lectures Theoretical assignments Learning C# programming Learning PBasic programming v.3-7 Robot work (in the ET-lab) Assignments
Course contents (v.1-2) Date Time Room Contents 20100831 08.00-09.45 FL52 Introduction and motivation 20100902 08.00-09.45 FL52 Kinematics, humanoid robot motion 20100903 08.00-09.45 FL52 HRI* (1) Speech synthesis and recognition 20100907 08.00-09.45 FL52 HRI (2) Vision 20100909 08.00-09.45 FL52 Programming humanoid robots 20100910 - - Work with assignments 1-2 * HRI = Human-robot interaction
Kinematics and dynamics Direct (forward) kinematics: Determining the position and orientation of a robot part (e.g. a hand), given the joint angles. Inverse kinematics: determining the joint angles, given the robot s posture. Dynamics: The response of the robot to the forces acting on it.
Humanoid robot locomotion Kondo KHR-1
Humanoid robot motion Kondo KHR-1
Humanoid robot motion Hubert
Human-robot interaction (HRI) The aim of HRI research is to generate a robot capable of interacting with people in a natural way. HRI involves topics such as Speech synthesis and recognition Dialogue: Analysing input (auditory, visual), making sense of the information (cognitive processing), and responding in an appropriate way Scene interpretation (object detection, face detection) Object tracking Face recognition Emotion recognition
Human-robot interaction (HRI) Example 1: Speech synthesis
Human-robot interaction (HRI) Example 2: Face detection
Robot brain structure One of the most challenging research topics in contemporary robotics is to provide robots with a robotic brain that is both...capable (able to solve the assigned taks robustly) and...expandable (it should be possible to add new skills). In the Adaptive systems research group, we are working with a general-purpose structure for robotic brains. In this course, you will use a simplified version of this structure.
Programming The robotic brain structure has been implemented in C#, which is also the (main) programming language used in this course. You will need to learn C#. However, you will be given a lot of basic code, so that you can focus on the programming relevant for the course.
Course contents (v.3-7) Date Time Room Contents 20100914 13.15-17.00 ET Practical robot work 20100921 13.15-17.00 ET Practical robot work 20100928 13.15-17.00 ET Practical robot work 20101005 13.15-17.00 ET Practical robot work 20101012 13.15-17.00 ET Practical robot work Obviously, you will need to do a lot work outside the class hours as well. The detailed lab schedule depends on the number of participants, and will be announced during v. 2
Assignments Basic robot kinematics (theoretical assignment) You will study the kinematics of the Hubert robot. Text-to-speech (TTS) synthesis Starting from C# classes provided by me, you will write a basic TTS engine (in C#) You will use the TTS engine in connection with the basic robot head, combining TTS, speech recognition, and image processing.
Assignments Robot locomotion You will use the Kondo KHR-1 robot (simulated and real) to generate a motion pattern to solve a particular task. Motion detection and object tracking Using the Hubert robot, you will implement (in C# and PBasic) a robotic brain capable of detecting (and tracking) a person entering the robot s field of view. Detection of faces and emotional states Using the Basic robotic head, you will implement (in C#) a robotic brain capable of detecting a human face, and then also the emotional state of the person to whom the face belongs.
Literature and programming Literature Lecture notes (undergoing improvement Chapters 1-4 are provided today, Chapters 5-6 on Friday, and Chapters 7-8 on Tuesday next week). Various web links (e.g. to scientific papers, data sheets, manuals etc.) Programming languages PBasic C#
Web page Course web page: http://www.me.chalmers.se/~mwahde/courses/hr/2010/hr.html The web page is updated frequently check it often!
Examination The examination will be based on the assignments and the practical robot work. Assignments will consist of several levels. The basic level must be solved for a passing grade. Solving higher levels makes it possible to receive a higher grade. Some assignments will involve individual work and some will involve group work (group size: 3-4 students) NOTE: In order to get a passing grade, you must also return all robot equipment that you have borrowed. This is an absolute requirement for obtaining the final grade!
Work groups The work groups will consist of 3-4 students. Each group will need to come up with a group name! Ideally, the should not be more than four groups (due to limited availability of robotic hardware).
To do (today!) Send me (mattias.wahde@chalmers.se) a registration e-mail today, containing the following information: Your name Your civic registration number (personnummer) Students who do not send this information today will be assigned (by me) to a group. Note: Preferably, each group should contain at least one student with a laptop (if possible with a serial port (the laptop, not the student ))
Download and install (1) Visual C# 2008 Express version, available at http://www.microsoft.com/express/downloads/ Note! We will be using the 2008 version, NOT the 2010 version make sure to use the right version!
Download and install (2) The Basic Stamp Editor (v2.5) available at http://www.parallax.com/tabid/441/default.aspx
C# and PBasic Documentation for C# and PBasic can be found on the web. You start familiarizing yourselves with these languages. Of course, I will provide information regarding both C# and Pbasic (during the last lecture in v. 2). Of course, you will also (during v.2) be given some sample code, both in C# and PBasic. Note: ALL code that you write MUST follow the code standard, which will be made available on the web page (later this week).
Student-teacher interaction During the course you are (of course) very welcome to ask questions at any time, not only during lectures. In order to do so, preferably come to my office (see the directions on the next slide) or Krister s office. As a second alternative, send an e-mail. However, since we receive many e-mails every day, the best way of asking questions is to come to our offices. Note: Please make use of the possibility to ask questions.
Office location Mechanical engineering building (nya M-huset), 1st floor. Enter near Café Bulten, follow the blue signs to Applied Mechanics (Tillämpad mekanik) Dial my extension (3727) at the door. My office Bulten Café
Introduction to humanoid robots See chapter 1 in the lecture notes...
Robot types Stationary robots Manipulators (used in industry) Mobile robots Wheeled Walking (Flying etc.) Note: The distinction between robots and non-robot mechanical systems is not always entirely clear. Example: Automatic braking in cars (just before a collision).
Walking robots Monopedal
Walking robots Monopedal Bipedal
Walking robots Monopedal Bipedal Quadrupedal
Walking robots Monopedal Bipedal Quadrupedal Sextupedal etc.
Bipedal robots Humanoid robots: Robots with an approximately human-like shape (anthropomorphic) Androids: Robots that (attempt to) exactly look like humans, including skin etc. In some cases (e.g. for HRI) studies a partial humanoid can be sufficient.
Why humanoid robots? More natural to interact with (for people), than wheeled robots. Designed (by construction) for operation in environments designed for people. Capable of walking in stairs etc. Engineering challenge.
Challenges in humanoid robotics Generating robust, natural (human-like) movements. Extending the time of operation (battery technology ). Development of capable and extendable robotic brains (robotic behaviors, decision-making systems). Reducing the cost of humanoid robots. Legal issues
An illustration...
Another illustration...