Robot Eksperimentarium

From ImageWiki

Revision as of 18:34, 25 August 2015 by Kimstp (Talk | contribs)
Jump to: navigation, search

These pages comprises the WIKI for the course Robot Experimentarium. The knowledge described here are of generel use for students following this course.

Link to old course specific 2008 home page.


Contents

Tips and Tricks:

The Robots

This year we'll be using the Evolution Scorpion Robots. For controlling the robot hardware we'll be using ERSP and Player / Stage, and for image processesing we'll be using OpenCV. When using Player you have to use our in-house developed Player / Stage driver. The documentation can be found here and notes on further development may be found here.

To use the robot you will need access to a computer with Player and ERSP installed. We have 6 such laptops that you need to share. Laptops will be handed out to groups and the group members will have to figure out how to share.

If you're having any problems with the laptops for the robots, please contact Kim Steenstrup Pedersen. You can also report you problems at our Absalon page in the discussion forum.

Tutorials

The SVN Repository

There is a subversion repository for the course. Since you can't be garantied to work on the same laptop twice it is recommended to use the SVN repository to keep track of your code.

To use the repository you need an account on image.diku.dk, which can be acquired by contacting Kim Steenstrup Pedersen.

To work with the code, the first time only you must make a local copy on your local account via the checkout command:

svn checkout svn+ssh://yourLogin@image.diku.dk/home/robot/svn/trunk/ Robot-GROUP_NUMBER/

Where GROUP_NUMBER is the number of your group. You might need to enter your password several times. Please note that you need external access, so from the DIKU UNIX system, you need to work on tyr, ask, etc..

This should create a local directory called Robot-GROUP_NUMBER/ on your local account containing the trunk of the repository. Later revisions can be obtained by,

cd Robot-GROUP_NUMBER/
svn update

Your group code should go into

Robot-GROUP_NUMBER/Robot-GROUP_NUMBER/

To write to the repository simply use

svn commit -m "My short description of what I did for the record"

The work recommended workprocess is:

Before you start the days work do:
 cd Robot-GROUP_NUMBER/
 svn update
Make your editing and once in a while and definitely when your are done do:
 svn update
 svn commit -m "My short description of what I did for the record"

If you want to add a new file, say myfile, you have to do the following after creating and editing myfile

 svn add myfile

If you want to add a new directory, say mydir, you do it like this

 svn mkdir mydir

If you want to copy example and utility code already in the repository into your group directory, the easiest way to also get it into svn is by doing the following:

 svn copy src dst

where src is the the source files or directory, and dst is the destination, probably Robot-1/ (if you are in group 1).

If you need access to your files, but don't have a SVN client installed, you can use the web frontend at http://image.diku.dk/svn/robot/.

More information on subversion may be found on http://svnbook.red-bean.com/ and http://subversion.tigris.org.

Player Server Running in VMware

Connecting to Player Server Running in VMware from the Same Machine

For some laptops (mainly the new robot laptops) you have to run the Player server inside a VMware virtual machine. Assuming the guest OS (the virtual machine running the Player server) has IP address 192.168.240.129 then you can connect a Player client program running on the host OS by using the following initialization code in your program

 using namespace PlayerCc;
 PlayerClient robot("192.168.240.129");

Alternatively, you can make an SSH tunnel from the host OS to the guest OS, similarly to that explain in the next section.

Connecting to Player Server Running in VMware from another Machine

If you wish to connect to this Player server from a different laptop, you can create a SSH tunnel and connect your Player client to it. Specifically, assume the host OS of the machine running VMware has IP address 192.168.15.43, and the guest OS on the same machine has IP address 192.168.240.129. On the machine where your client runs, perform the following:

ssh -L 6665:192.168.240.129:6665 192.168.15.43 -l diku -N

and provide the well-known password for the 'diku' user. Then you will be able to connect your Player client to localhost port 6665. Remember to start the Player server inside the guest OS.

ERSP

The robotics platform used at the core of our robots is called ERSP (Evolution Robotics Software Platform, I think). You can find a short tutorial on how the platform works here.

Player/Stage

The robotics platform actually used on this course is called Player/Stage. Documentation for Player/Stage can be found here and documentation of the DIKU ERSP Player driver can be found here.

You find some tips and tricks for installation of Player on your own machines in Tips & Tricks : Installation of Player / Stage on your own machine.

Furthermore, you find some tips and tricks on compilation of the ERSP-player driver in Tips & Tricks : Compilation of the ERSP-Player driver.

OpenCV

For image processesing we use the OpenCV library (currently version 1.0.0). The OpenCV wiki is the place to find help and it includes online reference manuals. We also have a short tutorial on OpenCV.

The Robot Camera

The robots use a Logitech Quickcam Pro 3000 webcam to acquire images. The internal parameters of this camera can be changed since it uses the pwc driver.

The camera has been calibrated to compensate for the Barrel distortion. See Kalibrering af Scorpion robotternes kamera (in Danish).

Object tracking

If you need to track an objects position in an image sequence, you can use the Two Stage Hybrid Tracker.

Personal tools