1
$\begingroup$

I know what subsumption architecture is, and I'm sure I should have two different hardware modules (Arduinos) taking responsibility for low level computational tasks.

Now my problem is I have an two Arduinos and I want Arduino A to subsume or inhibit a signal from Arduino B . Does anyone have any idea how this is done? As I can wire Arduino A to send a signal to Arduino B but I'm unsure how to subsume or inhibit the signal? I want to use the Arduino Interrupt pin and functionality; instead of simply saying if the input A signal is < something, do something. As Modules should be activated in their own right, right?

$\endgroup$
  • 2
    $\begingroup$ You are making many choices in your system that are not typical. That is ok, but you should describe the sensing and actuation portions of your system to get a better answer. $\endgroup$ – hauptmech Jan 25 '18 at 4:50
1
$\begingroup$

I would wire the two such that if A is subsuming a function of B such that the pin stays low as long as the inhibition lasts. Either B could check the state of this pin or it could have an interrupt set to signal when the pin goes low.

For B, if the action was already happening, a short interrupt routine could stop the action. If the action was about to begin then it could check the state of the pin to see if it should being.

I would put all the logic on A and have B hooked up to the sensors and actutors. Every time something changed it would communicate with A and A would handle all the logic. Just my thoughts. If the logic were difficult, I would use a Raspberry Pi instead of Arduino A.

| improve this answer | |
$\endgroup$
0
$\begingroup$

Here is an article (videos included) about how to navigate a maze using subsumption architecture and arduino.

http://www.codingnaked.com/post/arduino-powered-robot-solves-a-maze-using-subsumption-architecture-in-c/

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.