Luc Steel’s mars explorer in webot

Table of Contents

This project implements Luc Steels’ Mars Explorer in webot

1. Subsumption architecture   ATTACH

Subsumption architecture in LSMEW is implemented with Layer of control definition and trigger-action layer definition.

Behaviour
each behaviour corresponds to a layer in subsumption architecture defined with trigger-action layer definition
single thread state machine
LSMEW uses a single thread to embody each state, in which a sequence of trigger-states with descending priority(each trigger-state suppresses all states after it) is checked one by one on unsatisfaction, until a trigger-state delivers a message of truth(or triggered), when all following triggers would be supressed, and the linked action would be performed for one step. _20240409_122106screenshot.png
Graceful stop
As each behaviour is totally seperated, and there’s no parallel processing, when 2 consecutive actions are from different behvaiours(2 different action state), an additional “graceful stop” method would be performed on the former, so as to keep internal representations of behaviours intact. This extension can also be implemented equivallently with a “stale check” state that reinitializes internal representation when finding internal representation stale in each action.

2. List of Behaviours

With decending priority:

3. Movement Motor Interface

In principle each behaviour have their own motor and perception system, for example path-attraction behaviour have access to motor “CrumbHandler”, whereas random movement behaviour only have access to the wheel motors.

However each movement behaviour use the same set of motor actions, so they are kept together to improve code reuse, with a movement motor interface which includes the following methods:

forward()
move forward for one step time at a predefined constant speed (speed defined in interface, not behaviour)
turn(deg)
rotate in place deg degree, clockwise

4. gradient field

could be implemented with:

5. self-organisation with path-attraction

could be implemented with:

  • a simulating the difussion of crumb signals
  • a LSMEW: CrumbSensor class simulating a crumb sensor that points out the direction largest concentration of crumb signals
  • a LSMEW: CrumbHandler class puttgni crumbs into CrumbEnvironment and taking them out.

6. Project reflection

6.1. Time management

time management
There’s some serious issue on time management: The bulk of development did not start until 2024-04-09, which I’d say probably would be the latest of all.
(no term)
reason 1 -

Backlinks

Luc Steel’s mars explorer in webot

(Subsumption architecture)

Subsumption architecture in LSMEW is implemented with Layer of control definition and trigger-action layer definition.

Behaviour
each behaviour corresponds to a layer in subsumption architecture defined with trigger-action layer definition
single thread state machine
LSMEW uses a single thread to embody each state, in which a sequence of trigger-states with descending priority(each trigger-state suppresses all states after it) is checked one by one on unsatisfaction, until a trigger-state delivers a message of truth(or triggered), when all following triggers would be supressed, and the linked action would be performed for one step. _20240409_122106screenshot.png
Graceful stop
As each behaviour is totally seperated, and there’s no parallel processing, when 2 consecutive actions are from different behvaiours(2 different action state), an additional “graceful stop” method would be performed on the former, so as to keep internal representations of behaviours intact. This extension can also be implemented equivallently with a “stale check” state that reinitializes internal representation when finding internal representation stale in each action.

Backlinks

Luc Steel’s mars explorer in webot

(Subsumption architecture)

Subsumption architecture in LSMEW is implemented with Layer of control definition and trigger-action layer definition.

Behaviour
each behaviour corresponds to a layer in subsumption architecture defined with trigger-action layer definition
single thread state machine
LSMEW uses a single thread to embody each state, in which a sequence of trigger-states with descending priority(each trigger-state suppresses all states after it) is checked one by one on unsatisfaction, until a trigger-state delivers a message of truth(or triggered), when all following triggers would be supressed, and the linked action would be performed for one step. _20240409_122106screenshot.png
Graceful stop
As each behaviour is totally seperated, and there’s no parallel processing, when 2 consecutive actions are from different behvaiours(2 different action state), an additional “graceful stop” method would be performed on the former, so as to keep internal representations of behaviours intact. This extension can also be implemented equivallently with a “stale check” state that reinitializes internal representation when finding internal representation stale in each action.

Author: Linfeng He

Created: 2024-04-14 Sun 03:26