Post


Hieroglyphs

Hieroglyphs for humankind, code for robots

If you are a seasoned programmer, you probably already know, but as students of varying degrees and ages within the IT field it was eye opening to see that coding for robots was not much different from coding most other applications. You can use most of the same languages you would code with otherwise, mainly for us that has meant Java, JavaScript, and Python. You can use your favorite source code editor and you can of course collaborate using the same tools as otherwise.

The 3 major differences when developing for robots compared to our own application has been:

  1. Constraints, even if robots are technical marvels that really shows how far technology has gotten, they are still limited in what they can do, (why else would I be wondering what to cook later in the day), this means as a developer that you really must evaluate if all your ideas from the last session of brainstorming is doable. Sometimes this means looking for smart workarounds, as an example, Alf was not able to use speech from text, however Alf had both speakers for music and most importantly Alf had internet access. Utilizing this we built a webservice that converted text to speech through a web request and Alf then simply had to play the sound sent back from the web service using the speakers, thus Alf was emulating speech and no longer bound to only play music.
  2. Testing (your application), if you develop a web page from your office or home computer there are great tools to emulate how that web page will look and work once on the internet, testing the user experience and “possibly” finding bugs, as it turns out these tools are not as accessible when developing for a robot. This was a major hurdle for us as a team as office time (also referred to “robot home”) was severely limited during the pandemic. For us as a team this meant collaborating over our chosen medium, having clear and well-defined goals, and making effective use of version control, everyone had to be working on the most stable version of the application as features got implemented and new technologies went into the project to optimize the workflow.
  3. Knowledge, unlike many lectures, school projects and classes there is no book or webpage, no video guide or step by step tutorial on how to develop for these robots, there is only the team and any your own knowledge. This means exploring the unknown in the most human way we know, by trying, failing, learning, and eventually solving problems as you go forward, it is very time-consuming but ultimately it is also extremely rewarding.

We hope to one day see these processes taken further and too one day see even robots have a comparable self-improvement like the people that developed it.

Alf coding on a computer