Vector Escapes the Cloud

Many robots, particularly small ones, are limited by their onboard computing power. Due to the high energy demands of their motors, these robots often feature minimal processing capabilities and RAM. To circumvent this limitation, robots like the Anki/Digital Dream Labs Vector utilize cloud computing to offload some of their computational tasks. This strategy enables even low-powered robots to perform advanced functions, such as speech recognition, as long as they maintain a WiFi connection.

That’s great - as long as the company keeps the cloud servers doing that computation running.

I also gave a RoboHack presentation on this subject - the recording is available on YouTube.

Vector was created by a company called Anki that produced several other products such as Cozmo (a robot that looks very similar to Vector but controlled by a phone) and Overdrive (robotic racing cars). When Anki went out of business the assets were purchased by Digital Dream Labs (DDL) and the robots and cloud services were brought back to life. For this reason many Vector owners feel grateful to Digital Dream Labs.

Vector looks a bit like a tiny forklift and has an arm it can raise and lower, a head that can look up and down, a screen used to render cartoon-like expressive eyes, a camera, microphone array and sensors to detect edges (so it doesn’t fall off tables).
Vector is autonomous and left to it’s own devices will explore its environment and interact with a cube. Vector can learn faces and recognise people as well as reacting to sounds and voices. Vector can also respond to speech prefixed with “Hey Vector”. In short it’s a really cute little robot designed to run around on your desk and keep you company. It also has an SDK so you can alter its behaviour.

After ignoring Vector for several years I thought it would be fun to get one.

On 30th July, I charged Vector, installed the app and got ready to have fun with my new robot.

I was greeted with this screen.

I contacted DDL suport and was told the service was down and I could follow updates on their Facebook group. Joining the group I found this:

At the time of writing (22nd October) service has still not been restored. There have been multiple excuses and updates posted on the Facebook but still no working servers. DDL rather disingenuously says only voice services are affected and that Vectors will otherwise operate normally. However, this ignores the fact that anyone with a Vector that they were unable to set up before 25th July has only a rather cute brick.

DDL’s own product “Escape Pod” provides an Raspberry Pi image that can be used to replace the reliance on cloud services. This was one of the reasons that led me to go ahead and purchase Vector together with Escape Pod. However, I did not receive the (paid for) image from DDL so this did not help me. Also, the Escape Pod image by itself does not (I think) allow you to setup a fresh Vector without a working mobile app.

A couple of weeks after receiving my Vector I was talking to another RoboHack member and they told me about an open-source alternative to Escape Pod, called wire-pod. Wire-pod provides equivalent functionality to Escape Pod but is free and open-source. What’s more there is a website that uses experimental chrome support for Bluetooth to replace the mobile app setup process. Thanks to this I was finally able to get my Vector set up and working.

Having not been able to try a cloud-connected Vector or the official Escape Pod image I can’t do a direct comparison. I’ve been told that Wire-pod covers all Escape Pod functionaility and it also contains additional features normally provided by the official mobile app.

Let’s take a look at what you can do with wire-pod.

Server Settings - let’s you set the language for the wire-pod UI as well as the weather and knowledge graph APIs

Bot Setup - is really only useful if you have a dev unlocked robot, otherwise you’d use https://keriganc.com/vector-wirepod-setup to configure Vector and connect it to wire-pod.

Log - let’s you see wire-pod logs. Mostly these seem to be the results of Vector’s speech recognition and what intent (action) was matched.

Bot Settings - now it starts getting interesting. Bot Settings first prompts you to select a robot - an indication that a single wire-pod installation can handle multiple robots.

Once you’ve selected your robot, you have lots of options.

For starters you can see vectors camera feed - this is very laggy and only manages a couple of frames per second (if that) on my system. You can also take control of Vector’s motors and drive it around as well as entering some text for Vector to speak.

The Stimulation page gives an indication of how stimulated Vector is feeling

You can get Vector to learn your face and recognise you by saying “Hey Vector! My name is …”. The Face Manager page allows you to view all the faces that Vector recognizes and fix spelling as well as removing any you don’t want.

Other things you can do include viewing photos that Vector has taken and changing settings like:

  • whether Amazon Alexa is enabled - I don’t use this I don’t want Vector to just be another Alexa in my house
  • time zone
  • locale
  • temperature units
  • time format
  • eye colour
  • whether pressing Veector’s back button is equivalent to saying “Hey Vector” or “Alex”

Finally the Quick Actions page allows you to directly trigger some of Vector’s behaviours like:

  • exploring the space around it
  • listening for a beat
  • going to sleep
  • fetching a cube
  • going home (back to the charging station)

All these actions are things that Vector will do by itself anyway, but sometimes it’s nice to be able to trigger them directly.

The Vector story highlights the role of both community ingenuity and fortuitous corporate decisions in the realm of modern robotics. Originally developed by Anki, Vector’s future was jeopardized by the company’s closure, but was later given a new lease on life by DDL. Despite a frustrating amount of opacity around the current server outage, the release of open-source libraries by DDL played a crucial role in enabling the development of alternatives like wire-pod. This situation illustrates not only the resilience and adaptability of the open source community but also the impact of corporate support in empowering users and fostering innovation in technology usage.