meta data for this page

This is an old revision of the document!

Computer and Robot Vision

Practical Assignment - Puzzle

Background and arrangements

The students need to develop a robotic system to solve a puzzle. The assignment will be done in groups of around 6 people. The groups will be chosen by the lecturer of the course. The groups are shown on the Noppa page of the course. If you are not a member in any group, but want to complete the assignment, please contact the lecturer.

Each group will be given a user account on the robot computer.

Required steps

  1. Each group will prepare an initial plan for the assignment. The plan will outline the setting (for example, which puzzle), the used hardware, and propose an approach.
    • The plan should include the list of the names of the students who have contributed to the plan.
    • Deadline for the plans is the exercise session on Nov 2.
  2. Each plan is commented on by another student group and the lecturer. These comments are meant to raise possible questions already before any implementation work is begun.
  3. Each group has the opportunity to visit the lab with the robot to check that their plan is physically viable.
    • Robot motion area as well as camera placement can be checked.
    • Test images can also be taken at this point.
    • The visits will take place during the first two weeks of November, during the first week (Nov 1-5) if possible.
    • Each group needs to agree on their time slot (1 hour) with Dr Jarmo Ilonen. Please contact Jarmo by email.
  4. The student groups will perform the development and implementation work.
    • Access to the lab can be got by agreeing with lab personnel (lecturer or Dr Ilonen).
  5. Each group needs to submit a progress report by December 15.
    • If the group's project work is ready, the students can deliver the final report and demonstrate their system instead.
    • A progress report should briefly describe the work done so far and outline a schedule for the remaining work.
  6. Final deadline for the project (report and demonstration) is January 28, 2011.


To pass the practical assignment, each group has to:

  • deliver an initial plan
  • deliver a progress report on December 15
  • demonstrate that their system can solve the puzzle as described by the initial plan
  • deliver a final report describing the problem and its solution.
    • All methods used in the solution need to be documented. References to literature can be used when applicable (a citation is sufficient for methods that are taken from the literature).

MELFA RV3-SB, a 6 DOF robot arm and the attached PG-70 gripper will be used. Low-level interfaces to the robot arm and gripper exist (see below for Available interfaces).

Vision needs to be used in order to locate the puzzle pieces. There are several camera systems available and the students are free to choose which to use. The available cameras are:

  • Bumblebee 2 stereo camera
  • Unibrain Fire-i camera with exchangeable optics (several focal lengths available)

The software needs to operate on the robot control computer running Ubuntu 8.04. Additional software can be installed on the computer.

Any programming language or a combination thereof available at the computer can be used.

Matlab toolboxes available at the university as well as any freely available software libraries can be used. All methods used (also those from the libraries) need to be documented, that is, the methods used by the external libraries need to be documented.

Available interfaces

The following interfaces to the hardware are available within a local software library (itlabcpp):

  • SimpleRV3SB C++ interface allows moving the robot arm.
  • PG70 C++ interface allows moving the gripper.
  • C++ interfaces FwCamera and FwBumblebee allow capturing images with the cameras.

Software library installation

  1. Download the software library package below.
    • The package includes a preconfigured software library and a project stub.
  2. Set LD_LIBRARY_PATH as instructed in itlabcpp/README.
    • For example, 'export LD_LIBRARY_PATH=/home/groupX/itlabcpp/lib'.
  3. Change to directory project/src and run 'make' to compile the example project.
    • You can try example program 'wintest' in project/src/myproject/.
    • Example program 'fwcam-grab' (in the same directory) demonstrates image acquisition.

Documentation is included in the library package in itlabcpp/doc/.

Documentation and Software

If you require some more documentation, please contact the lecturer by email.