====== Humanoid Robot Programming ====== * We will work in the docker environment you prepared in [[courses:hro:tutorials:0dockertutorial|Docker tutorial]]. * All lab tutorials can be found in our [[https://gitlab.fel.cvut.cz/body-schema/teaching/b3m33hro-labs|Gitlab]]. ==== Goals ==== * Become acquainted with Yet Another Robot Platform. * Control humanoid robot both in joint and operational space. ===== Week 2 ===== - **Docker** - check installations, functionality, etc. - **YARP + iCub basics** * Introduction to YARP middleware {{ :courses:hro:tutorials:yarp.pdf |}} * [[https://gitlab.fel.cvut.cz/body-schema/teaching/b3m33hro-labs/-/tree/main/lab2/tutorial_yarp-basics|YARP basics]] * This tutorial shows some of the basic features of YARP, usually required when dealing with a robot. * [[https://gitlab.fel.cvut.cz/body-schema/teaching/b3m33hro-labs/-/tree/main/lab2/tutorial_yarp-producer-consumer|How YARP communicates]] * This tutorial helps you understand the behavior of different types of ports. * [[https://gitlab.fel.cvut.cz/body-schema/teaching/b3m33hro-labs/-/tree/main/lab2/tutorial_RFModule-simple|YARP support classes]] * This tutorial will show you YARP support classes for handling command line parameters and writing modules that perform periodic activities and respond to network commands. * [[https://gitlab.fel.cvut.cz/body-schema/teaching/b3m33hro-labs/-/tree/main/lab2/tutorial_yarpmanager|yarpmanager]] * This tutorial will quickly guide you to use yarpmanager to run Yarp applications. **Write fakeFrameGrabber instead of test_grabber in yarpdev parameters.** * Try the same also with [[https://gitlab.fel.cvut.cz/body-schema/teaching/b3m33hro-labs/-/tree/main/lab2/tutorial_yarp-producer-consumer|How YARP communicates]] ===== Week 3 ===== - **Robot control** * iCub Motor Control {{ :courses:hro:tutorials:motor-control.pdf |}} * **[[https://gitlab.fel.cvut.cz/body-schema/teaching/b3m33hro-labs/-/tree/main/lab3/tutorial_joint-interface|Joint interface]]** * This tutorial will guide you to the use of Motor Interfaces to control the iCub movements in the joint space. * ** [[https://gitlab.fel.cvut.cz/body-schema/teaching/b3m33hro-labs/-/tree/main/lab3/tutorial_cartesian-interface|Cartesian interface]]** * This tutorial will guide you to the use of Cartesian Interface component that enables the control of the iCub arms in the Operational Space. * **[[https://gitlab.fel.cvut.cz/body-schema/teaching/b3m33hro-labs/-/tree/main/lab4/tutorial_gaze-interface|Gaze control tutorial]]** * This tutorial will guide you to the use of Gaze Interface component that enables the control of the iCub gaze. * [[courses:hro:tutorials:hw:hw1|HW 1 - iCub motor control]] ===== Week 4 ===== - [[https://gitlab.fel.cvut.cz/body-schema/teaching/b3m33hro-labs/-/tree/main/lab4/assignment_grasp-it | Grasp_it! assignment]] - HW1 questions - [[courses:hro:tutorials:hw:hw2|HW 2 - Operational control with iCub]]