Leaphy Robot: Difference between revisions
m (→Sensory inputs) |
m (→Sensory inputs) |
||
| Line 101: | Line 101: | ||
:: '''Sensing hormone levels''' | :: '''Sensing hormone levels''' | ||
::: Certain activities or combinations of activities can stimulate the producuction of hormones. This could be implemented as slow changing values in memory. Hormone levels might modulate the effect of sensory input or behavioural output, and act as a slow form of memory. | ::: Certain activities or combinations of activities can stimulate the producuction of hormones. This could be implemented as slow changing values in memory. Hormone levels might modulate the effect of sensory input or behavioural output, and act as a slow form of memory. | ||
== '''Brain''' == | |||
:: '''Subsumption architecture''' | |||
:::The Electronic organisms has a software brain that receives sensory input both from the environment and internal status. The brain reads all inputs and produces outputs command for actuators that produce behaviour. These behaviours can be as simple as colour changes of a led signaling sensory status or movements of body or appendages. The aim is to make the lower levels as stateless as possible i.e. the brain uses its real time vision of the word as a model instead of some abstract internal representation. The processing principle roughly follow the subsumption architecture Brooks (1986) | |||
:::Wikipedia writes about this technique: | |||
:::"[Behaviours] are organized into a hierarchy of layers. Each layer implements a particular level of behavioral competence, and higher levels are able to subsume lower levels (= integrate/combine lower levels to a more comprehensive whole) in order to create viable behavior. For example, a robot's lowest layer could be "avoid an object". The second layer would be "wander around", which runs beneath the third layer "explore the world".[...]The subsumption architecture creates a system in which the higher layers utilize the lower-level competencies. The layers, which all receive sensor-information, work in parallel and generate outputs. These outputs can be commands to actuators, or signals that suppress or inhibit other layers." | |||
:::This description is not making fully clear that the reverse is also true, i.e. active lower levels will always inhibit higher levels. The behavioual levels all compete for control of the robot. Each behavioural layer evaluates its sensory input and determines if it wants control the outputs (to change its input according to its (implied) goal, e.g. mechanoreceptors (microswitches) will only request control if the switch is closed (and this request is is not explicitly inhibited by a higher level behaviours). That inhibition could come from a behavioural level "approach and bump into a feeding spot". As a rule the *lowest* layer that is requesting controls will run the robot until the next evaluation round. | |||
See Anderson (2007) for a clear explanations and actual implementations. | |||
== More soon, this page is work in progress == | == More soon, this page is work in progress == | ||
Revision as of 00:02, 12 September 2025
| Leaphy robot with subsumption architecture | |
|---|---|
| Participants | |
| Skills | software hardware electronics biology |
| Status | Active |
| Niche | robotics |
| Purpose | Fun |
| Tool | No |
| Location | Space, home |
| Cost | Very small given what is already present and what is available in the space (everything!!) |
| Tool category | Electronics |
Leaphy robot with subsumption architecture
Leaphy back side view.jpg {{#if:No | [[Tool Owner::{{{ProjectParticipants}}} | }} {{#if:No | [[Tool Cost::Very small given what is already present and what is available in the space (everything!!) | }}
Electronic insect-like creature
Physiological, Behavioural & environmental overview
peterr 2022- 2025
Document history
- September 2025 subsumption architecture design
- August 2025 Documentation for scheduler
- March 2023 Draft version 0.2 - terminology cleanup and scope
- Februari 2023 Draft version 0.1
- December 2022 Partial documentation/brainstorming
- November 2022 First document sketches & ideas
Project
The insect like creature (based on the leaphy robot) has a set of functionalities that together allow it to effectively find, and feed on targets that provides electricity as a reward. Learning strategies to improve succes rate can be implemented. Sexual signaling, event prediction, mating behaviour, genetic exchange and evolution are in principle possible but are currently still (far) out of scope.
Sensory inputs
- Mechanoreceptor - sensing of obstacles
- Micro switch based tactile hairs.
- Development status: Not yet implemented
- Mechanoreceptor - sensing of obstacles
- Ultrasound - Distance sensing of obstacles
- Ultrasonic pulses detect obstacles and can trigger reflex avoidance behaviour
- Development status: Operational
- Ultrasound - Distance sensing of obstacles
- Better directional responses would be possible with more than one US sensor.
- This would need a dedicated embedded processor.
- Development status: Not yet implemented
- Sensing light intensity
- Two LDR photoreceptors measure front-left light level and front-right light level
- Total ambient light intensity is available as an analog voltage
- The difference between the inputs is also available, and signals what side to turn to, to approach or avoid the light.
- Development status: Operational
- Sensing light intensity
- Sensing sound (audio)
- A subunit with its own processor containing an Electret microphone to measure ambiant sound level, frequency and sound patterns.
- Can also be used in classical and operant leaning experiments Detect both absolute sound level (for startle or avoidance resposes) or feature
- detectors (e.g. chirp intervals for leafhopper like communcication and courting behaviour of two leaphy's.
- In addition, an Audeme Movi speech recognition shield (see https://www.audeme.com/movi.html) could be used to process voice commands
- Development status: Not yet implemented, but Movi shield "proof of concept" done
- Sensing sound (audio)
- PIR movement sensor
- In addition to light intensity, an infra red motion sensors can be used to detect movements (humans, or the cat for that matter) see for instance https://www.adafruit.com/product/4871
- 'Development status: Not yet implemented
- PIR movement sensor
- Sensing wind direction
- Semiconductor based tactile hairs? Something like https://www.instructables.com/Low-Cost-Low-Speed-Wind-Sensor-1/ with shielding? or sensitive temperature measurements?
- Note: Wind direction sensing in the windtunnel is currently replaced by sensing light gradients parallel to the wind direction because the wind sensor is not available yet.
- Development status: To be designed, high priority for the windtunnel version with odour processing as a main goal, low for the a free walking space/nurdspace version described here.
- Sensing wind direction
- Volatiles (odours)
- Semiconductor based perception of volatiles like alcohol (fruit-fly like behaviours), Carbon dioxide (mosquito like behaviour), or VOC's (most plant eating insects). The sensor produces a voltage level proportional to the intensity of the stimulus. Using a threshold can generate a presense/absense signal.
- The interval between odour pulses is a proxy for the distance to the source. Note that an odour "gradient" does not exist!
- Volatiles (odours)
- Current implementation uses a SGP30 board. The time constant of the the sensor is in the order of 1 second, but "whiffs" of odour could be detected faster by using a feature detector that looks for sudden steps in the signal. This will also act as an sensory adaptation mechanism: in the absence of change the output go's to zero.
- Development status: Sensor: operational, feature detector: testing phase
- Sensing ground color
- This sensor measures ground colour and the output can be used to test for a particular condition (e.g. being at a target position). It can also be used to simulate trail pheromones implemented as colors next to the trail followed. This sense can also take the role of short distance " present at target" stimuli.
- Development status: Operational
- Sensing ground color
- Sensing ground reflectance level
- Two sensors 'line followers' that both provide a binary present/absent signal of ground reflection.
- Can be used to simulate trail following behaviour on network of lines (combined with led ground colours, see "sensing ground colour" above).
- Development status: testing phase
- Sensing ground reflectance level
- Sensing rewards and deterrents
- Electronic organisms live on electricity, and are rewarded by sensing the presence of a voltage and current. This sensory organ is just sensing the analog voltage measured by the sensory organ. It simulates the perception of food such as nectar. Most logical position is at the tip of an appendage.
- Development status: mechanical movement to make electrical contact: testing phase
- Sensing rewards and deterrents
- Future extensions: A combination of voltage levels and pulse frequency coding in the source could be used to simulate a spectrum of "chemical" inputs ::: Feature detectors could extract particular frequencies and/or patterns to recognise for instance "toxic" substances.
- Proprioreception (internal "feeling")
- Checking for instance for body movement when motors move, or for force feedback when extending honey sucking mouthparts
- Development status:To be developed, as yet low priority
- Proprioreception (internal "feeling")
- Sensing internal states
- Modulation of behaviour, and adapting thresholds or intensity depending on previous experiences and physiological status.
- Development status: To be developed
- Sensing internal states
- Sensing satiation
- To place electric reward information in perspective, some internal status information is needed, that is supplied by reading internal variables like energy levels (battery voltage , load current) or physiological state (internal variables like "ready to feed".
- More advances implementations could sense brain hormone levels and excitation states (see below under internal states and hormones").
- Development status: Not yet implemented
- Sensing satiation
- Sensing hormone levels
- Certain activities or combinations of activities can stimulate the producuction of hormones. This could be implemented as slow changing values in memory. Hormone levels might modulate the effect of sensory input or behavioural output, and act as a slow form of memory.
- Sensing hormone levels
Brain
- Subsumption architecture
- The Electronic organisms has a software brain that receives sensory input both from the environment and internal status. The brain reads all inputs and produces outputs command for actuators that produce behaviour. These behaviours can be as simple as colour changes of a led signaling sensory status or movements of body or appendages. The aim is to make the lower levels as stateless as possible i.e. the brain uses its real time vision of the word as a model instead of some abstract internal representation. The processing principle roughly follow the subsumption architecture Brooks (1986)
- Subsumption architecture
- Wikipedia writes about this technique:
- "[Behaviours] are organized into a hierarchy of layers. Each layer implements a particular level of behavioral competence, and higher levels are able to subsume lower levels (= integrate/combine lower levels to a more comprehensive whole) in order to create viable behavior. For example, a robot's lowest layer could be "avoid an object". The second layer would be "wander around", which runs beneath the third layer "explore the world".[...]The subsumption architecture creates a system in which the higher layers utilize the lower-level competencies. The layers, which all receive sensor-information, work in parallel and generate outputs. These outputs can be commands to actuators, or signals that suppress or inhibit other layers."
- This description is not making fully clear that the reverse is also true, i.e. active lower levels will always inhibit higher levels. The behavioual levels all compete for control of the robot. Each behavioural layer evaluates its sensory input and determines if it wants control the outputs (to change its input according to its (implied) goal, e.g. mechanoreceptors (microswitches) will only request control if the switch is closed (and this request is is not explicitly inhibited by a higher level behaviours). That inhibition could come from a behavioural level "approach and bump into a feeding spot". As a rule the *lowest* layer that is requesting controls will run the robot until the next evaluation round.
See Anderson (2007) for a clear explanations and actual implementations.