Manual

From Wiki for iCub and Friends
Jump to: navigation, search
The iCub

This is the official iCub user-manual. It includes description of the procedures to install (Chapter 14) and maintain the platform, both at the hardware (Chapter 2) and software (Chapters 7 8 9) level. The sections describing the software will also describe how to install and use what is available with the robot and provide guidelines on how to develop new capabilities and algorithms.

  • Structure of the manual: this document is an attempt in coalescing the robot knowledge into a linear document/manual. Emphasis on linear.
  • How get additional help: please write any question to the robotcub-hackers mailing list.
  • How to contribute: we welcome contributions and suggestions, but please add new pages to Section 16. From time to time we will incorporate new pages into the other sections of the manual.
  • Citing our work: as researchers we live on citations. We provide a list of papers you are invited to cite in your papers that use the iCub or some of its components, see Section Acknowledgements (below).

Contents

One. Hardware of the iCub

To obtain the 3D mechanical drawings (CAD) and 2D production drawings describing the mechanical and electronic parts, please check out the: iCub SVN Repository.

This section overlaps consistently with the Deliverable 8.1 (specifications of the iCub open system). This section of the manual is meant to be used by first opening the bill of materials, reading the component type and then consulting the corresponding description in the subsections below.

The philosophy of this chapter is to provide links and references to the technical documentation and not necessarily to substitute it.

  1. ICub Project Mechanical Documentation and Design Conventions
  2. Parts and specifications: see the bill of materials extracted from the CAD
  3. Brushless motors
  4. DC motors
  5. Controller cards
  6. Motorola DSP and CodeWarrior
  7. Other boards datasheets
  8. Cameras
  9. Microphones
  10. Inertial sensing
  11. CAN bus interface for debugging (ESD)
  12. CFW CAN bus interface
  13. Hall-effect readings, electronics
  14. Force/torque sensors, electronics
  15. Face specifications and control
  16. Cables
  17. Power supply
  18. Wiring, general diagrams and details of the connections NEW!!!
  19. Encoder magnets
  20. Springs, belts and cables
  21. CPU board PC104
  22. Ball bearings
  23. Commercial mechanical parts
  24. Commercial electronic parts
  25. iCub stand
  26. iCub plastic covers
  27. Available iCub versions
  28. Other components: see the bill of materials (above)

Two. Troubleshooting of the hardware

  1. Tendons replacement
  2. Common problems and solutions
  3. Cabling tools required: list as xls file
  4. In any case you can post your questions to the robotcub-hackers mailing list.

Three. Calibration

  1. Initial calibration of the iCub:
  2. Fine calibration of the iCub:

Four. Protocols

  1. CAN bus protocol and messages: see here
  2. YARP protocols: port protocol, name server protocol

Five. Kinematics and Dynamics

  1. iCub joints specification: naming, conventions
  2. iCub Forward Kinematic specification, D-H parameters (unmodified convention):
  3. Vergence, version and binocular disparity quantities for motor control Vergence, Version and Disparity.
  4. iKin: library for forward\inverse kinematic and control tasks; some iKin-based modules (e.g. iKinArmCtrlIF) are available as well. iKin requires IPOPT. Look how to install IPOPT here: Installing IPOPT.
  5. iCub dynamics
    • iDyn: generic library for dynamics

Six. Software, Installing YARP and iCub

Seven. Software, YARP

  1. The architecture
  2. The YARP companion and YARP executables
  3. Scriptable stuff
  4. CMake files, preparation
  5. Basic OS classes
  6. Basic communication classes
  7. Advanced OS classes
  8. Advanced communication classes
  9. Device drivers, existing
  10. Device drivers, how to write a new one, tutorial on building a new device in YARP. Important: see also how to compile the iCub devices
  11. YARP documentation, a general tutorial, and additional Wiki pages on Yarp

Eight. Software, dependencies

Compiling YARP and iCub requires some dependencies are met.

  1. Libraries, supported compilers and tools:
  2. On the robot: Device drivers

Nine. Software, iCub

This section explains how the software is organized. Here you will find more details about how we the repository, modules and applications.

  1. The Linux on the pc104
  2. Configuration files
  3. iCub architecture, an introduction
  4. Automation
  5. Software interface: standard port names for hardware devices
  6. Documentation of key modules
    1. iCubInterface documentation and configuration file description.
    2. Framegrabber parameters: Dragonfly Parameters
    3. Getting 640x480 images at framerate: Getting 640x480 images
    4. ControlBoard config file
    5. Using force control on iCub
    6. >>> NEW: controlling the iCub with new Yarp interfaces iControlMode and iInteractionMode <<<
    7. Camera Calibration
    8. The ODE simulator is installed with the software (see Section 6)
    9. Firmware update tools
    10. List of CAN addresses and associated firmware.
    11. Other software tools:
      1. Online documentation for tools: http://wiki.icub.org/iCub/main/dox/html/group__icub__tools.html
      2. Guis: http://wiki.icub.org/iCub/main/dox/html/group__icub__guis.html
    12. Note on firmware versions: firmware versions
    13. Firmware source and build: more firmware in repository
  7. Starting up the iCub: see here
  8. Learning about the software:
  9. Interoperability with other languages and middleware

Ten. Standardization of methods

  1. Organization of the repository:
  2. CMake Usage
  3. Modules, standardization, configuration
  4. Licensing

Eleven. Guidelines

Here we describe better practices for software development on the iCub.

  1. Coding styles
  2. Naming Conventions (modules, ports, etc...)

Twelve. Documentation

  1. Writing new documentation
  2. Where is the documentation?
  3. Documents that aren't connected to the source code

Thirteen. Committing changes

  1. Software
  2. Hardware
  3. Contributing to the Manual

Fourteen. How to install the robot

ADDED NEW VIDEOS !!!

  1. How to install the robot: Installation of the robot.
  2. Installation instructions for the iCub laptop/server: Laptop installation instructions.
  3. Temporary page: upgrading repositories to svn: Upgrading the pc104 software repositories to subversion.

Fifteen. The iKart mobile platform

  1. Installation and usage of the iKart mobile platform is described in the iKart manual

Sixteen. Talking head

  1. Talking head documentation

Seventeen. Unofficial documentation

Place here pages contributed by users.

Eighteen. Known issues and troubleshooting

In this section we include a list of known issues and suggestions on how to troubleshoot them:

  1. Hardware known issues
  2. Software troubleshooting

Nineteen. Doxygen documentation links

See Chapter 12 for iCub and YARP documentation.

A list of links to existing documentation for various iCub-related projects.

From non-standard repositories...

  1. the EU CHRIS project (FP7 ICT-215805): click here
  2. the EU ITALK project (FP7 ICT-214668):click here
  3. the EU EFAA project (FP7 ICT-270490): click here
  4. the EU Xperience project (FP7 ICT-270273): click here

In need of documentation...

  1. the EU RoboSKIN project middleware (FP7 ICT-231500), see www.roboskin.eu

Acknowledgments

This is a list of people how contributed to the manual: List people who contributed to this manual.

Citing our work. We warmly invite you to cite the following papers when you use the iCub or one of its components in your work: Citations.

Personal tools
Namespaces

Variants
Actions
Navigation
Print/export
Toolbox