[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