[Dprglist] KR01 Infrared Behaviours

Murray Altheim murray18 at altheim.com
Sun Aug 29 22:48:29 PDT 2021


Hi,

I'm sending this out for comments and suggestions. This is my current
planned behaviour for the analog infrared sensors on the KR01, and
eventually the KD01 (the two wheeler).

As used below, the capitalised "Behaviour" is actually a class in the
KROS (K-Series Robot Operating System):

    https://github.com/ifurusato/kros-core


# Background

The KR01 robot has port, center and starboard bumpers. The behaviour on
bumper hits will be defined in a different and as-yet unspecified
Behaviour class.

It also has Port-Side, Port (oblique), Center, Starboard (oblique), and
Starboard-Side analog infrared sensors (Sharp GP2Y0A60SZLF 10-150cm).
The side sensors face forward at 45° (rather than 90°, as per
recommendations from the DPRG), the oblique sensors are 25° off center.

image:  https://service.robots.org.nz/wiki/attach/KR01/kr01-ir-plan-1.jpg


# Behaviour Plan

• The Roam Behaviour uses the center IR and will slow the robot down
   beginning from 100% target velocity at 50cm to a full stop at 25cm.
   This adds a lambda function to both motor controllers to limit the
   top speed as a function of distance. Currently there is no recovery
   from the full stop, i.e., once stopped some other undefined Behaviour
   will need to be triggered to back up or otherwise avoid the obstacle).

• The Avoid (maybe "Swerve") Behaviour will add a lambda function to
   both motors that will progressively alter the steering (difference
   between the motors) as a function of distance based on the distance
   and difference of the port and starboard oblique sensors. The closer
   to the obstacle the harder the swerve.

• The side infrareds have two modes: Wall Follow or Avoid Side. In
   Wall Follow mode it will attempt to keep the robot "glued" at a fixed
   distance from a perceived wall on either side. In Avoid Side mode
   it will act similarly to the oblique sensor Behaviour and attempt to
   push the robot away from the wall (likely at a greater distance than
   when in Line Follow mode), with the amount of push inversely
   proportional to distance.

Comments, suggestions, discussion welcome. I'm currently implementing
a stop-and-backup Behaviour for when the bumpers are hit. It's rather
ballistic in nature but I suppose when the robot bumps into something
we may need to resort to extreme measures...

Cheers,

Murray

...........................................................................
Murray Altheim <murray18 at altheim dot com>                       = =  ===
http://www.altheim.com/murray/                                     ===  ===
                                                                    = =  ===
     In the evening
     The rice leaves in the garden
     Rustle in the autumn wind
     That blows through my reed hut.
            -- Minamoto no Tsunenobu



More information about the DPRGlist mailing list