Here is the latest project that I made: it’s an interactive Processing application where Botbait can play with virtual space-fish!
Watch the video here.
One of the things that I think is cool about Botbait and the Space Fish is that it ties the physical robot into a virtual world. Combining both of these together makes more sense, than just having the robot alone or the application alone.
The way it works is that there is a fluid dynamics simulation with particles in it. A few of those particles are represented as fish. Whenever the fish are within a middle ‘threshold’ of the screen, a message is sent to Botbait with the number of fish in the area.
Botbait turns on the same number of LEDs in its tail as there are fish in the area. For different thresholds, it will also blink its body LEDs differently. When there are 4 or more fish, it swooshes its tail. Also sending back a message to the application to add forces to the fluid dynamics simulation, making the fish ‘swim’ away.
While developing it, I noticed that sometimes the fish would become ‘stuck’ in the corners. So, I added some forces that were emitted from the corners and sides every second or so. This eliminated the problem. Also, there are minor forces emitted at random locations in the screen to keep things moving around.
You can press the button on Botbait to cause a minor tail swoosh and corresponding force in the simulation. Also, the pre-project activity to all of this was to port the MSAFluid example to Processing 2.
The end result is fun to watch, quite mesmerizing.
You can download it, view the source, and learn more, here.
It didn’t take many months to create this software, but there were two HUGE mistakes with Botbait that took up a tremendous amount of time.
#1: Releasing before documenting
I didn’t want to push back Botbait’s release date, because I needed to release something to get sales, buy food, pay rent. So I released it, with already a decent amount of documentation (video, and 20 minute behind-the-scenes video), thinking that I will document it later. It just became more ‘laters’ than ‘done’. Botbait is completely documented now, and people have built Botbait using the instructions.
At this point, I don’t even know why I was so stupid to release something without documenting it. Did I think people would magically download the information into their brains and be able to know everything about Botbait? GRR! Never EVER doing this mistake again.
#2: Kit electronics
Botbait originally uses an Arduino Mega and a servo driver board. This is quite expensive to include in a kit with electronics. So, I had to re-design the kit electronics to use the Arduino Pro Mini, and a few shift-out breakout boards. Soldered everything together by hand on some perf board.
In the end, it has more functionality than the original Botbait (PWM on the tail LEDs and body), and the electronics fit inside of its body. So, a good lesson to learn about using off-the-shelf products, and manufacturing for small quantities.
Now that these fails are done, I can propel forwards and start making some new things. I’m excited for these flexible links! Saving up for some flexible filament for even more experiments…
You can make your own Botbait here. (Or buy one).
If you like the robots and things I make, please consider supporting me on Patreon.
More robots to come!