How can i get decentralized decisions in a swarm without a central controller?
#1
I’m trying to build a small proof-of-concept for a swarm robotics project, but I’m stuck on getting the individual units to make decentralized decisions without any central controller. I’m using simple IR sensors and basic motor controllers, but the emergent behavior just isn’t happening—they either clump up randomly or do nothing coherent. Has anyone else hit this wall with local interaction rules?
Reply
#2
I tried something similar last year. We had a handful of bots with a simple separation rule and a touch of alignment so they wouldn’t crash. They ended up clumping into little gangs and then moving as a flock, which is not what I wanted. I logged the average nearest-neighbor distance and it settled on a fixed value after a few seconds; the system never spread out neatly. We even added a weak cohesion term, but that made things worse. The emergent behavior never showed up the way I hoped.
Reply
#3
From my side, I’d bet hardware noise is killing you. IR readings drift and flip when you get reflections, and the wheel motors drag unpredictably. We tested with one bot on a straight line and measured a drift of a few percent per minute. When we tried to rely on neighbor sensing alone, the motion got jittery and the followers never formed stable patterns. If the sensors are noisy or miscalibrated, the rules become basically random.
Reply
#4
I kept wondering if the arena itself is part of the problem. In a flat, featureless box those simple rules will either collide or drift off together. We tried adding markers so each unit would change speed when it passes a vicinity sensor, but with IR you can't signal clearly who is nearby. Maybe you need obstacles or uneven terrain to seed interesting patterns, not a perfectly uniform space. Do you think the real issue is that the environment isn’t giving you enough break in symmetry?
Reply
#5
I did a quick tinkering pass with asynchronous updates instead of a tight sync loop. It helped a little to avoid the “everyone checks at once” glitch, but the behavior still stays in the same weak mode: sometimes they drift apart, sometimes they cluster, and nothing coherent emerges. We tried making one bot slightly faster as a random seed and that did not fix it; it just moved the churn. I’ve kept it small and it’s frustrating how little signal you get from those tiny rules.
Reply


[-]
Quick Reply
Message
Type your reply to this message here.

Image Verification
Please enter the text contained within the image into the text box below it. This process is used to prevent automated spam bots.
Image Verification
(case insensitive)

Forum Jump: