Git Product home page Git Product logo

assignment_make-it-roll-pattacini's Introduction

Operational Control with iCub

Prerequisites

By now, you should be an expert of the following components ๐Ÿ˜‰:

Assignment

We want you to develop a rather simple module that employs the Cartesian Interface and the Gaze Interface to accomplish the following tasks:

  1. Make iCub look down at the table.
  2. Detect the blue ball in both image planes.
  3. Retrieve the ball position in the Cartesian domain.
  4. Let iCub look at the ball.
  5. Finally, ask iCub to reach for the ball and make it roll.

The outcome should look like the animation below:

make-it-roll

Some of the points reported above have been already addressed in the code (e.g. detection of the blue ball), so you need to fill in the missing gaps highlighted by the comment // FILL IN THE CODE.

Once done, you can test your code in two ways:

  1. Manually: running the yarpmanager scripts provided from within app/scripts and yielding corresponding commands to the module rpc port.
  2. Automatically: running the script test.sh in the smoke-test directory. Take into account these important points:
    1. We use a timeout of 120 s to check the status of rpc communication, meaning that you have 120 s max to accomplish each rpc command.
    2. When you reply to rpc commands, we assume the robot has finished the movement (e.g. see this line in the respond method).
    3. The smoke-test will add a little random displacement to the initial position of the ball ๐Ÿ˜‰

Notes

  • To make the blue ball show up within the simulator, you have to turn on the flag RENDER::objects in the iCub_parts_activation.ini file.

    To do so, follow these steps (the smoke-test does them for you):

    # import the file for customization
    $ yarp-config context --import simConfig iCub_parts_activation.ini
    
    # open the file
    $ gedit ~/.local/share/yarp/contexts/simConfig/iCub_parts_activation.ini

    Now, edit the file by setting the option objects equal to on (under the group RENDER).

    Also, you might find this resource quite useful to get accustomed with configuration files in Yarp ๐Ÿ˜ƒ

  • Alternatively, you can use this model within Gazebo. Be careful, the smoke-test does work only with iCub_SIM.

assignment_make-it-roll-pattacini's People

Contributors

pattacini avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.