HAKO: Difference between revisions

From Rsewiki
Line 155: Line 155:
  ../bin/smrdemoclient mission.xml
  ../bin/smrdemoclient mission.xml


The hakoclient source is in the svn (version 1011 as of 30 jun 2010) updated to handle the following issues:
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):


* 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 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.
* Skipped the last turnr in a fishtail-turn (in functions.c) to allow faster convergence to next no-turn leg.
Line 166: Line 165:
tested 1 july 2010 ad showed clear improvements for both turns.  
tested 1 july 2010 ad showed clear improvements for both turns.  


Stopping and reversing time for the fishtail turn is p.t. bad due to slow CVT control.
====New fishtail turn====
Fishtail could further be improved with turning while reversing (e.g. using ''turnr 6 30 @v-1'').
 
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.
* 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<math>s^-2</math>
* 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


=== hako 2 - Perception computer ===
=== hako 2 - Perception computer ===

Revision as of 08:57, 15 July 2010

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

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.
  • 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<math>s^-2</math>
  • 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

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)