HAKO

From Rsewiki
Revision as of 06:51, 24 July 2010 by Jca (Talk | contribs)

Jump to: navigation, search

Contents

software installation on HAKO

hako 1 - Navigation computer

The navigation computer is primarily running RHD and MRC

Running linux slackware version 12.0 (as of 5 May 2009)

RHD

17 April 2009

Compiled RHD.

Moved to new compiled version (svn 485 from rhd/branches/rhd2.0/build/*)

Moved to /root/hako/rhd484 (including bin, lib and include directories)

cd ~/svn/rhd/branches/rhd2.0/build
tar -czf mrc484.tar.gz bin include lib
scp mrc484.tar.gz root@hako:hako/

on HAKO, make new directoy to new version and move tar file to this

mkdir rhd484
mv rhd484.tar.gz rhd484
cd rhd484
tar -xzf rhd484.tar.gz
cd ..
ln -sf rhd484 rhd
cd rhd/bin
ln -s rhdconfig/rhdconfig.hako.xml rhdconfig.xml

Disable crossbow in rhdconfig.xml (not sufficient stable for real work in this environment)


MRC

21 july 2010

mrs moved to SVN and compiled here for Hako (on jensen)

Changed path of librhd.a in Makefile in mrc subdirectory to:

LIBS=   -lpthread -lncurses -lexpat -liau_mat -lrobot -lm \
        ../../../rhd/branches/rhd2.0/build/lib/librhd.a \
        ../../../aumat/trunk/libiau_mat.a \
        ../libsmr/libsmr.a

Reference to RHD rhd.h should have moved to

/vhome/jca/svn/rhd/branches/rhd2.0/include/rhd.h

but was not (should be OK), used the version in

/usr/local/smr/include

Moved to Hako using

scp mrc root@hako:hako/mrc20100723

and made a new link in the hako directory

ln -s mrc20100723 mrc

23 july 2010

Changed motioncontrolcontrol (drive command) to compensate for delay in steering control. The new code is active only if the delay (steer_delay) is set to more than a sample time (ts="0.1").

Two new items (steer_delay and steer_vel) in configuration file (calib/robot.conf):

...
<motioncontrol
  ts           ="0.1"
  line_gain    ="0.1"
  line_tau     ="0"
  line_alfa    ="0.04"
  wall_gain    ="1"
  wall_tau     ="0.7"
  wall_alfa    ="0.2"
  drive_kdist  ="1.0"
  drive_kangle ="2.0"
  steer_delay  ="0.5"
  steer_vel    ="0.61"
  gain         ="0"
  tau          ="0.16"
  alfa         ="0.2"
  w            ="0.26"
  robotlength  ="1.6"
  lim          ="0.57"
  stopdist     ="0.18"
  alarmdist    ="0.1"
  velcmd       ="0.5"
  acccmd       ="0.5"
  nolinedist   ="0.2"
  />
...

MRC configuration

17 April 2009

the Hako calibration parameters are in

/root/hako/calib/robot.conf


1 july 2010

Turnr parameters were changed to

drive_kdist   ="1.0"
drive_kangle  ="3.0"

But should be safe to go back to:

drive_kdist   ="1.2"
drive_kangle  ="3.5"

Is OK for odometry turns (90deg) with speed up to 1.5m/s, and using kalman position with speeds up to 1m/s

The full motion control group is set to (1 july 2010)

  <motioncontrol
  ts  		="0.1"
  line_gain 	="0.1"
  line_tau	="0"
  line_alfa     ="0.04"
  wall_gain     ="1"
  wall_tau      ="0.7"
  wall_alfa	="0.2"
  drive_kdist   ="1.0"
  drive_kangle  ="3.0"
  gain		="0"
  tau		="0.16"
  alfa		="0.2"
  w		="0.26"
  robotlength   ="1.7"
  lim 		="0.57"
  stopdist	="0.18"
  alarmdist	="0.1"
  velcmd	="0.5"
  acccmd	="0.5"
  nolinedist	="0.2"
  />

HAKO old mission manager

Start in browser

Browser with java enabled.

Connect to:

http://192.168.1.10/hako/applet/index.php

Hvis det er første gang, så download 'settings' fil nederst i vinduet, og placer i eget bibliotek som beskrevet. Restart browser.

Vælg så "Hako Control" øverst på php-siden.

Så forbinder java-applet til hakoclient, som starter RHD og MRC på hako-navigationscomputer.

Når forbindelse er etableret og GPS er i fix-mode er status grøn, og klar til at loade en mission.

files

On the HAKO1 computer the mission is placed at

/srv/httpd/htdocs/hako/applet/var/mission.xml

The logfiles can be found in

/srv/httpd/htdocs/hako/applet/log

The newest log is called log. the previous logfile is renamed to YYMMDD--HHMM-log at the time of the new mission.

The logfile has the following entries:

$xkalman
$ykalman
$thkalman
$gpseasting
$gpsnorthing
$odox
$odoy
$odoth
$odovelocity
$hakosteeringangle
$hakocvtpulses

The first log entry has values for $xkalman and $ykalman only. The next line has also $gpseasting $gpsnorthing and from the third line all values should be valid.

NB! the logging is started after the kalman-init period only (before 1 July 2010)

hakoclient

Is called smrdemoclient in the /srv/httpd/htdocs/hako/applet/run directory, but refers to hakoclient in the /home/ex05/src/smrdemo2ext/ directory.

hakoclient can be started manually with the mission XML file as parameter. This requires that the RHD and MRC (mrc -t1) is started manually. From the mission directory:

cd /srv/httpd/htdocs/hako/applet/var
../bin/smrdemoclient mission.xml

The hakoclient source is in the svn (version 1011 as of 30 jun 2010) updated to handle the following issues (based on NAA modifications to omegaturn):

  • Skipped the last drive on tight omega turns (in file turn_omega.c), to allow faster convergence to next no-turn leg.
  • Skipped the last turnr in a fishtail-turn (in functions.c) to allow faster convergence to next no-turn leg.
  • Reduced forward drive after first turnr to 20cm (from 0.7m) to make manoeuvre more smooth.
  • added a few comments, removed a few unused variables and modified 2 variables from 'int' to 'unsigned int' to remove warnings.
  • made a copy of 'stream2line.h' and '-.c' into hakoclient directory to make compilation independent of librobot.a in NAA home directory.

tested 1 july 2010 ad showed clear improvements for both turns.

New fishtail turn

New fishtail turn implemented (15 july 2010) to improve speed and looks:

  • Use two curved turns, one towards new row-line, one reverse with opposite angle. Curve length determined by inter-row distance.
  • Each turn is split in two, one with full speed (as defined in mission) and one while stopping using same turn radius. The stop distance is calculated from a speed change delay of 0.7 seconds and an acceleration of 0.65m/s^2.
  • After reversing the fishtail is ended, and should now aim for next row.
  • The row distance is now calculated as perpendicular distance to current row-line, that means that end of this row and start of next row may not be aligned, but rather fitted for positioning of tool-lifting/lowering

NB! turns should not be attempted at a speed above 1m/s - higher speeds seems to trigger instability (large overshoot)

  • Further as a result of new kalman pre-init function, the hakoclient is modified to use GPS (UTM) position as kalman position if kalman-y (northing) is less then 1m. This is the case until robot has driven 0.5m, to get a reasonable initial heading. Test show that after further 2 seconds of updates (1m at 0.5m/s) the kalman filter heading is stable (on a fair GPS-coverage day at the lawn in Tåstrup).

hako 2 - Perception computer

Perception computer Is running AU robot servers and works as remote control server

Running linux slackware version 12.0 (as of 5 May 2009)

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox