HAKO
(New page: === software installation on HAKO === ==== RHD ==== 17 April 2009 Compiled RHD. Moved to new compiled version (svn 485 from rhd/branches/rhd2.0/build/*) Moved to /root/hako/rhd484 (in...) |
(→Video from autonomous Cherry Orchard drive in Tåstrup 2009) |
||
(31 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
+ | === Video from autonomous Cherry Orchard drive in Tåstrup 2009 === | ||
+ | |||
+ | One of the autonomous drives in Tåstrup Cherry orchard, from front looking camera (fast replay), and from mission execution planner. | ||
+ | |||
+ | (@todo: ret disse døde links) | ||
+ | |||
+ | http://aut.elektro.dtu.dk:rse/hako-orchard2.avi | ||
+ | |||
+ | http://server.elektro.dtu.dk/www/jca/mobotware/hako/cherry-20091014c.mpeg | ||
+ | |||
+ | http://server.elektro.dtu.dk/www/jca/mobotware/hako/cherry-left-20091014c.mpeg | ||
+ | |||
+ | http://aut.elektro.dtu.dk:rse/hako-orchard2.avi | ||
+ | |||
+ | http://aut.elektro.dtu.dk:rse/Our%20pictures/karcher/TaskCycle.mpeg | ||
+ | |||
=== software installation on HAKO === | === 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 ==== | ==== RHD ==== | ||
Line 30: | Line 53: | ||
==== MRC ==== | ==== 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: | Changed path of librhd.a in Makefile in mrc subdirectory to: | ||
− | LIBS= -lrobot -lm / | + | 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 | Reference to RHD rhd.h should have moved to | ||
Line 46: | Line 69: | ||
/usr/local/smr/include | /usr/local/smr/include | ||
− | + | Moved to Hako using | |
− | scp mrc root@hako:hako/ | + | 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" | ||
+ | /> | ||
+ | ... | ||
+ | |||
+ | [[Image:sidestep-1m.png]] | ||
+ | |||
+ | === 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 | ||
+ | |||
+ | |||
+ | * 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) |
Latest revision as of 11:03, 23 October 2012
Contents |
[edit] Video from autonomous Cherry Orchard drive in Tåstrup 2009
One of the autonomous drives in Tåstrup Cherry orchard, from front looking camera (fast replay), and from mission execution planner.
(@todo: ret disse døde links)
http://aut.elektro.dtu.dk:rse/hako-orchard2.avi
http://server.elektro.dtu.dk/www/jca/mobotware/hako/cherry-20091014c.mpeg
http://server.elektro.dtu.dk/www/jca/mobotware/hako/cherry-left-20091014c.mpeg
http://aut.elektro.dtu.dk:rse/hako-orchard2.avi
http://aut.elektro.dtu.dk:rse/Our%20pictures/karcher/TaskCycle.mpeg
[edit] software installation on HAKO
[edit]
The navigation computer is primarily running RHD and MRC
Running linux slackware version 12.0 (as of 5 May 2009)
[edit] 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)
[edit] 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" /> ...
[edit] HAKO old mission manager
[edit] 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.
[edit] 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)
[edit] 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.
[edit] 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
- 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).
[edit] 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)