Bots and Simulations > Interesting behaviour bots
WormII
bacillus:
I put it into the MB league, results are already updated in the Bot Tavern.
I'll post all the bots in a zip there as well, kinda forgot to do that.
Don't worry, I know how hard it is to coordinate multibots. There's always something not working properly, but nothing in the DNA seems to be causing ti. In the end, you learn to 'stick' with a basic model that works with basically every multibot.
Ta-183:
Hmm... That gives me an idea for a coordination system.... What you could do, is assign a value to each body part (like a tentacle) and use the head to assign it a movement vector. That vector is in the form of coordinates. Now based on the length of said tentacle, each cell in the arm (which would also be kept track of) would have it's own destination, which is derived to be a point in line with the target coordinates a certain distance away from the target, based on the length of the arm, and what position a particular cell is in in said arm. Simply give the first arm part a coordinate, and it will pass the coordinate down the line to each tentacle cell, and their internal DNA would derive each cells true destination.
bacillus:
Doable? Most likely, yes. Easy? No. The main problem that's been discussed quite a bit is that each bot can only read one tie at a time. If all the info came from the head, it would be easier, then you could use one of the tin/tout channels to specify the cell/tentacle addressed.
Ta-183:
--- Quote from: bacillus ---Doable? Most likely, yes. Easy? No. The main problem that's been discussed quite a bit is that each bot can only read one tie at a time. If all the info came from the head, it would be easier, then you could use one of the tin/tout channels to specify the cell/tentacle addressed.
--- End quote ---
What you can do, is have all info coming from the head. Each order would start with a single number being sent out, designating a body part. The second number would tell all the cells how many values following this one to either ignore if not for them, or follow if they are part of the selected part. The head would simply send these numbers out through it's ties, to basically all cells. The bots would simply forward these numbers. To avoid confusion and overflow, every order type would occupy a specific integer 'spectrum', so no two numbers in an order sequence would be the same. For example, an order sequence telling an arm to move to coordinates would look like this;
4 (part number)
3 (ignore this many if not part designated)
13 (move to)
10358 (x-coord, located in spectrum 10000-20000. Spectrum number is subtracted to obtain true coord)
20113 (y-coord, occupies spectrum 20000-30000)
99999 (used to finalize the orders and make sure all bots are synchronized)
After the last 3 numbers (excluding 99999) are sent through the tie and received by all bots, they once again begin listening for major orders. Of course, passive info (such as precise moving coordination and resource management) are handled by each bot internally, such as aiming/firing, looking, and conspec control.
bacillus:
Or you use one channel for each tentacle, scale the data to a certain factor (It won't make much difference), then 'cut' the data into blocks, addressing each cell with a different block.
Eg with 5 cells, 5000-10000 in tout3 will address the eighth cell in tentacle 3, if the range is -30000 to 30000.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version