Midterm Documentation / Presentation – Territorial Fighting

Initally, Terrence and I embarked on a long and difficult journey in attempt to create an ant ecosystem in which ants are communicating with one another to obtain food. We got stuck at many junctures throughout this project, but figured it could be figured how. However, eventually, we realized it was probably too ambitious and complex for the midterm. So, we pivoted to another idea in hopes of presenting a more clear body of work.

For our midterm project, Terrence and I did some research on territorial animals. We came across several articles describing territorial fights amongst tigers, which often resulted in death. 

In the above National Geographic video clip, one tiger is roaming in another’s territory. Although it is trying to be stealthy, the other tiger is hunting. When tigers are hunting, their territorial instinct is elevated due to a need to provide food for their families. 

These tiger vs tiger fights usually start off with a loud roar and a stare-down, before the vicious brawl begins. Although these animals don’t gain any nutrients from cannibalism, it’s not uncommon for flesh-eating to take place. This is purely for fighting tactic and to impair the opponent. 

We decided to try and replicate these behaviors using the kittenbot. Each kittenbot is a “tiger” and we used a separate micro:bit for a remote control. Essentially, we created a video game in which the “tigers” can fight with one another to protect their respective territories. 

We utilized MakeCode for the coding portion. 

Controller code:

Tiger code:

How does the movement work?

We the accelerometer to control the movement of the Tiger. This way, both can navigate their respective spaces freely. The movement is intuitive, so if you tilt the micro:bit forward, the Tiger moves forward. Backwards, it moves backwards, and so on.

The buttons are actually used for the “alarm system”. When a Tiger crosses into another’s territory, it lets off an instinctive signal to threaten the intruder. This usually results in an attack. Eventually, one tiger has to surrender, which warrants another alarm, which indicates fear and pain. Given more time to work on this iteration of our project, we would figure out a way to automate these sounds so that the user can just focus on moving the tiger.. Perhaps the movement part would also be automated, although we quite like the interactive way of controlling the animals. 

Here is a video example of the sounds we programmed for threatening:

and pain/fear:

At this time, Terrence and I essentially have two projects underway. We do not intend to totally abandon the initial idea, however the midterm deadline and multiple technical difficulties had us at a crossroads. We still intend to continue developing both projects. For the Tiger one, as I mentioned before, we will implement automation and apply more sophisticated code to our concept. Although the ant project is still of desire, we have more interest in the Tiger project at the moment due to its concrete nature.

The ant project, since it is a bit abstract, was difficult for us to implement through code using the limited resources of the kitten bot. However, we did make some progress with it. Since we already completed the line follower code, which was half of our new project as well, we didn’t want to take the “lazy” route and just present that. We intended to further challenge ourselves by pushing the envelope and figuring out how both robots could communicate with one another and mimic a path. Since this proved to be beyond the scope of our knowledge, we put a pause on this. However, for the final we are heavily considering to continue pursuing this concept. 

Leave a Reply