Regnot settings for Robobot: Difference between revisions

From Rsewiki
Line 19: Line 19:
[[File:line_edge_control.png]]
[[File:line_edge_control.png]]


The control uses a Lag-controller to decrease the static gain by a factor 5 (a pole with a time constant of 1 sec and a zero with a time constant of 0.2 seconds). This means that the high frequency gain is Kp*0.2 = 0.06.
The control uses a Lag-controller to decrease the static gain by a factor 5 (a pole with a time constant of 1.5 sec and a zero with a time constant of 0.3 seconds). This means that the high frequency gain is Kp*0.3/1.5 = 0.06.


The gain is further scaled by the speed (from firmware version 604), so that the gain is reduced to half at 0.5m/s, but the filter times are maintained. This is probably a bad solution, as the response probably is more distance driven than time driven.
The gain is further scaled by the speed (from firmware version 604), so that the gain is reduced to half at 0.5m/s, but the filter times are maintained. This is probably a bad solution, as the response probably is more distance driven than time driven.
Line 27: Line 27:


  thread=1
  thread=1
     vel=0.01, acc=5.0, log=20.0: time=0.2
     vel=0.01, acc=5.0, log=50.0: time=0.2
     vel=0.8, edger=0.7, white=1: dist=3.0, xw=20, log=0
     vel=0.9, edger=1, white=0: dist=10.0, xb=20
     label=3, event=3: xw<15
     vel=0,event=7 : xb<10
     edger=-0.7, white=1: dist=1.5, xw=20, log=0
     :vel< 0.1
     label=4, event=3: xw<15
    vel=-0.3,tr=0.1:turn=60
     edger=0.7, white=1: dist=1.5, xw=20, log=0
    vel=0.3,tr=0.1:turn=60
    goto=3: count=1
     vel=-0.3,tr=0.1:turn=60
    vel=0.0: time=0.5
     vel=0.7, edger=-1, white=0: dist=10.0, xb=20, log=0


The mission follows right side of line,
The mission follows right side of line,
* first in a left curve (1mØ) then
* in a left curve (1mØ) until crossing a line  
* a crossing line,
* wait for crossing line to disappear,  
* wait for line to disappear,
* and velocity reach 0
* a right curve (1mØ),
* make a 3-point 180 degree turn
* a crossing white line
* follow the other side of line - now a right curve (until log is full
* ...


The difference between a left and a right curve is the "edger=0.7" and "edger=-0.7", this makes the robot follow the curve with an offset of 0.7cm towards the center of the curve (more left in a left curve). This gives more space for overshoot when hitting the curve - the sensor range is about +/- 2cm.
The difference between a left and a right curve is the "edger=1.0" and "edger=-1.0", this makes the robot follow the curve with an offset of 1cm towards the center of the curve (more left in a left curve). This gives more space for overshoot when hitting the curve - the sensor range is about +/- 2cm.

Revision as of 18:13, 12 March 2017

This is some suggestions for changed settings for Robobot.

Robot configuration

Metric setup

The distance between driving wheels are different from a Regbot.

Control issues

Some examples of control settings.

Edge control

For higher speed in the range 0.7-0.9 m/s the following control settings could be used.

The control uses a Lag-controller to decrease the static gain by a factor 5 (a pole with a time constant of 1.5 sec and a zero with a time constant of 0.3 seconds). This means that the high frequency gain is Kp*0.3/1.5 = 0.06.

The gain is further scaled by the speed (from firmware version 604), so that the gain is reduced to half at 0.5m/s, but the filter times are maintained. This is probably a bad solution, as the response probably is more distance driven than time driven.


A test script to could be:

thread=1
   vel=0.01, acc=5.0, log=50.0: time=0.2
   vel=0.9, edger=1, white=0: dist=10.0, xb=20
   vel=0,event=7 : xb<10
   :vel< 0.1
   vel=-0.3,tr=0.1:turn=60
   vel=0.3,tr=0.1:turn=60
   vel=-0.3,tr=0.1:turn=60
   vel=0.7, edger=-1, white=0: dist=10.0, xb=20, log=0

The mission follows right side of line,

  • in a left curve (1mØ) until crossing a line
  • wait for crossing line to disappear,
  • and velocity reach 0
  • make a 3-point 180 degree turn
  • follow the other side of line - now a right curve (until log is full

The difference between a left and a right curve is the "edger=1.0" and "edger=-1.0", this makes the robot follow the curve with an offset of 1cm towards the center of the curve (more left in a left curve). This gives more space for overshoot when hitting the curve - the sensor range is about +/- 2cm.