Search the web
Sign In
New User? Sign Up
tekkotsu_dev · Tekkotsu Developers

Group Information

  • Members: 199
  • Category: Robotics
  • Founded: Sep 12, 2003
  • Language: English
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Message search is now enhanced, find messages faster. Take it for a spin.

Messages

  Messages Help
Advanced
Walk Calibration manual and Odometry   Message List  
Reply Message #1107 of 2333 |
Re: [tekkotsu_dev] Walk Calibration manual and Odometry

Hi, WalkCalibration is a real kick-in-the-ass matter for AIBOs. Though I've tried it many times I haven't achieved it totally. Well, this are the advises and procedures I can give:

First, every calibration is different for every robot, and every type of floor; so don't  do the process on a concrete floor, if you're going to work on a carpet.

This is the method I use (to try) to calibrate AIBO.

First, open "Walk Remote Control Behavior" as you must modify sliders to try different x,y, and a velocities in the calibration process. Second open a telnet connection at port 59000 (>telnet your.AIBO.IP.dir 59000) in a console, and then log locomotion events at it. You must go to StatusReports->EventLogger, and mark "locomotionEGID". This way you can see x,y,and a (theorical) velocities of the robot, as you move sliders. As an alternative to the later, I've modified "WalkGUI.java" so, every time I move the slider, it prints the selected velocity; the advantage of this last option is you can see your velocity changes with AIBO stopped (E-stop=ON).

Then, we proceed with the calibration process. Goto File Access->WalkEdit->calibration. This is very IMPORTANT: prior to take any measure,  you must CLEAR the actual calibration matrix.  To do this, LoadCalibration->Clearcal.txt. Then you can begin with measurement collection.

Go to "Interactive Calibration->Take Measurements". Here are 6 categories, in every one you must choose two (or one) velocity parameters, and compensate the other one:

-Fordward/Strafe:  You must choose one velocity for each F and S parameters. This way, AIBO will move with a diagonal movement. You must change R parameter to achieve AIBO facing is constant along the whole movement. So if you see that there is a light rotation to the right, you must give R a positive (left) value to compensate. When you're sure rotation is NULL, you must  measure the movement size (I prefer cartesian coordinates). I put a mark on the floor (for example, a point where a rear leg step on) and turn E-Stop Off, so AIBO begins to move. When rear leg pass over the mark, I push "Go" in the controller menu. Wait a little, and then push E-stop. Then you can measure x and y distance from your mark to the point where AIBO's rear leg stopped (use a ruler), and introduce the distances as ControllerGUI's ask them. Distances are in cm, and x is positive when goes left.
Repeat all with almost 6 different F and S parameter set (and corresponding R to cancel rotation).

-Fordward/Rotate:   You must choose again F and R parameters, and modify S to compensate. This time you must seek that AIBO moves around a circle instead of an spiral (the last means that there is a S drift, you must compensate). It helps to paint a circle and look if AIBO covers it.  I  usually make AIBO to do a semicircle movement, so if AIBO is facing right at one end of the semicircle, it must be facing left at the very other end  of the semicircle. If at the other end there is an angle in AIBOS' facing, it means you must compensate S, as it is moving on a decreasing, or increasing spiral. When AIBO behaves as explained, put again a mark in the circle, push e-stop off, and pusg "Go" when AIBO step on the mark; wait, and push e-stop on, when AIBO reaches the opossite end of the mark in the circle. ControllerGUI will ask for diameter of semicircle (in cm), and angle (if you're using a semicircle you must introduce 180 as it is in degrees). You can also measure complete circles, trying that AIBO begin and end at the same point (this time you must input 360 degrees). Repeat the process with different F and R parameters (and corresponding S to compensate).

-Strafe/Rotate:  This is similar to Fordward Rotate. First, chose only an S value (R=0 and F=0) and seek that AIBO is purely strafing, so there is nor forward neither backward movement. If  there is any, compensate with F/B slider. Then choose a rotation (R) value, so AIBO move in a circle, but strafing, facing outside the circle. Repeat the same process as above, and (I think)  introduce diameter of the circle and angle. It helps again to measure a semicircle (so angle is 180 degrees).
Repeat the process with different S  parameter, compensate with F, and choose different R values too.

- Backward/Rotate: I haven't done any of this but i think they're similar to F/R and F/S.
- Backward/Strafe:

- Rotate: This is the easiest to understand, but probably the hardest to tune. You must choose an R value, and then compensate with both S and F so AIBO turns only around its  chest, and there is no displacement.  Bear in mind that an S compensation usually means a corresponding F. Try with different R parameters to obtain almost 6 data sets. This time, ControllerGUI only asks the angle of the circle which AIBO covers (again is easier when you push "Go" and then E-Stop when multiples of 180 degrees have been covered).

When you've a set of almost 6 measurements for any movement class, you must choose "Save" option. You will obtain 5 files in memmory stick, containing the set of measurementes, that you must copy to your PC.  Then you have only to run Matlab file in "tools/WalkCalibration.m", to obtain a file that contains the calibration matrix. you can name this file as "WALKCAL.TXT" and load it into memmory stick  ("data/motion"), so it loads automatically when you shut-on  AIBO, or you can name it with other name, "NEWWCAL.TXT" but, this case you must manually load this calibration file every time you use AIBO.

I'm having problems with WalkCalibration Behavior as sometimes AIBO shuts off (and battery is full!) or crash with no reason (Soundplay Object !?!? at crashdebug), so I advise you to save every set of data at every class of measurement as, this way yo won't lost your work. You can merge data taken at different times and from different files.

I hope it helps (and if Ethan see any mistake in the whole process, please correct it!!).


Ignacio Herrero Reder / Tl. +34-95.213.71.60
Dpto. Tecnologia Electronica / Fax: +34-95.213.14.47 E.T.S. Ing. Telecomunicacion / Universidad de Malaga / nhr@... Campus Universitario de Teatinos / 29071 Malaga, Spain / http://www.dte.uma.es


Rutger wrote:
Hello,

as a student i'm trying to create a localisation background behavior
with Tekkotsu based on the Monte Carlo Localisation method. One of my
first steps in designing this behavior is to do a research on the
precision of the Aibo's locomotion. I already discovered that there can
be great disceprancies between the given commands and the final result
in movement (systematic errors..etc). I'd like to start using the Walk
Calibration module to get this better and finally make a study of a
well calibrated Aibo for use in the Monte Carlo Algorithm.

But i'm having trouble understanding the exact procedures for the
calibration process. Does anyone happen to know a calibration manual of
some sort to guide me through the process?

Regards,

Rutger


.


Thu Sep 22, 2005 3:52 pm

tencuid
Offline Offline
Send Email Send Email

Message #1107 of 2333 |
Expand Messages Author Sort by Date

Hello, as a student i'm trying to create a localisation background behavior with Tekkotsu based on the Monte Carlo Localisation method. One of my first steps...
Rutger
rutger_vlek Offline Send Email
Sep 21, 2005
6:31 pm

I'm assuming you've seen the 'help' menu of the walk calibration menu, right? (That actually eats up a decent chunk of memory they way it's implemented, I'd be...
Ethan Tira-Thompson
ethan_tirath... Offline Send Email
Sep 21, 2005
7:58 pm

Hi, WalkCalibration is a real kick-in-the-ass matter for AIBOs. Though I've tried it many times I haven't achieved it totally. Well, this are the advises and...
Ignacio Herrero Reder
tencuid Offline Send Email
Sep 22, 2005
3:53 pm

Thanks Ignacio for the excellent tutorial! I've added a little commentary -- there's only one correction regarding loading the calibration back up at the end....
Ethan Tira-Thompson
ethan_tirath... Offline Send Email
Sep 22, 2005
4:48 pm

... Ah, I just realized a subtle but important point -- you should be using the WalkControllerBehavior found /within the Walk Edit menu/. The parameters you...
Ethan Tira-Thompson
ethan_tirath... Offline Send Email
Sep 22, 2005
8:28 pm

Dear Ethan and Ignacio, thanks for all the help. The built-in Tekkotsu help on this matter takes alot of time to load. My memory just couldn't take it, so i ...
Rutger
rutger_vlek Offline Send Email
Sep 23, 2005
1:29 pm
Advanced

Copyright © 2010 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines NEW - Help