HAKO
software installation on HAKO
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
17 April 2009
snapshot of MRC (from /vhome/naa/robot2005/src/) to my svn directory on jensen
Changed path of librhd.a in Makefile in mrc subdirectory to:
LIBS= -lrobot -lm /vhome/jca/svn/rhd/branches/rhd2.0/build/lib/librhd.a \ /vhome/naa/linux/smr/libsmr/libsmr.a \ -lpthread -lncurses -lexpat -liau_mat
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
compiled MRC, and moved it to
scp mrc root@hako:hako/
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. From the mission directory:
../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)
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)