escapepod [TheDroidYouAreLookingFor]

Site Tools


escapepod

Escape Pod

Article is Work in progress

“Escape Pod” is the name of a local server Vector can run off instead of connecting to the Digital Dream Labs servers. At the moment it can only run from a Raspberry Pi 4 (it is very unclear if this will change in the future).

Escape Pod is part of the crowdfunding that DDL did in early 2020 on Kickstarter. Escape Pod release was first announced for july 15th 2020 but took until early march 2021 to get actually relased (another part of the crowdfunding campaign was OSKR, the Open Source Kit For robots that also is in a very sorry state despite being “released” in october 2020).

Since march 2021 a so called “version 1.0.0” of Escape Pod is avaliable, but it lacks basic functionality, as weather, knowledge base (getting answers from Vector for questions such as “who is R2-D2?”) or even something as basic as working with the Python SDK (that could run on the RasPi thus expanding the possibilities for custom mods immensely, I am quite aghast that this was not implemented on a so-called “version 1.0.0”).

To quote from DDL's Kickstarter campaign text:

The first project we're calling “The Escape Pod” and it is going to allow you to be able to take Vector off of his external servers while still being able to function perfectly.

There it is: “still able to function perfectly”, not “function, but without knowledge graph, weather and Python SDK”.

Also, there is no update possibility besides a complete reinstall, see below. So I personally would see “version 1.0.0” more as another beta, until those basic functionality is implemented or at least DDL provides user-friendly instructions and help on how to easily implement the missing features - in a way that even less tech-inclined users are actually able to do (as a Kickstarter backer I do not consider the backer rewards as delivered, since very important Vector functionality is not available so far). At the moment they want you to code in the language Go to achieve the missing functionality and that obviously is not for everyone (compiling some of DDLs Go projects is not even possible on Windows). Especially since Go is a more occult, seldom used language (here is another link, obviously Python or Java would have been way better options and those languages are widely accepted in the communities. The reason they used Go may be that Anki already used the language for proposed projects and DDL's engineers just built on that). On a personal note: I am able to code in multipe languages, I had a look at Go and think it's not user-friendly or comfortable. Maybe I'm just not familiar with it, but I would have greatly preferred a language that is commonly known and used by many people, that would have increased the chances that third parties code for Vector immensely. Now we are limited to people that actually know Go and are comfortable with it, which is a huge letdown.

Also Escape Pod only runs from an Ubuntu Linux image provided by DDL for the Raspberry Pi 4 (not the standard Raspberry OS), there are no other options to run Escape Pod from a local computer (for example a deb package, a docker or a Windows app) - which is very unfortunate, if you already have one running as as server. To have to run another additional computer only for Vector is not very environment-friendly if another option is already present and active anyway. Running a RasPi from a Virtual Machine (VM) such as QEMU ist not doable without a lot of effort (or at all, the latest QEMU 5.2 is still not able to emulate RasPi 4) at the moment, but that may be an option in the future.

The Ubuntu image runs headless, that means if you want to work on the Linux system you will have to do that from a ssh terminal, there is no graphical user interface or desktop. It would be possible to install a desktop environment on the Ubuntu flavor used, but I would recommend against it, since the RasPi Ubuntu runs very bad and slow with a desktop over vnc connections (believe me, I tried multiple options on this, also the Ubuntu running on a Jetson Nano is a pain via VNC, and that is a known problem for years also with RasPi, that was not solved until today). A desktop environment accessible via vnc from another computer would be very helpful for editing Python code in an IDE (development environment) directly on the RasPi. So in my opinion using the debian-based Raspberry Pi OS as a basis would have been preferable to the somewhat half-finshed and half-working Ubuntu implementation for the RasPi.

In addition to the fact that this only runs from a RasPi 4 the Escape Pod binaries are not open source, but closed source. Also the robots need to be authenticated against Escape Pod using a license key provided by DDL derived from the robot's serial number. That way no one will be able to change or expand Escape Pod or add new robots to it if DDL really goes bancrupt. It is not a real open solution, but another proprietary walled garden by DDL. That goes against earlier claims by DDL that certain things would be open source. If DDL goes bancrupt, Escape Pod will only help those that bought a license for it (and the Kickstarter backers) and only with already existing robots, since you have no way to add new robots to it without DDL.

Despite earlier claims that a RasPi 4 can only run one or two Vectors DDL now says that you can run multiple robots from one machine. The exact number is unknown at this time.

If you do not want to pay the monthly subscription to run Vector via their servers, Escape Pod may be an option for you. But you have to be clear about the fact that it would be a stripped down version, missing key functions that the robot can no longer provide (weather, knowledge base, Python SDK. Update: Thanks to Cyb3rDog you can now use Python SDK with Escape Pod). The only things it does is configuring the robot (the same you can do with the app) and letting the robot react to standard voice commands (on the up side: you can change the voice commands to some extent).

From earlier experiences with DDL they tend to release stuff only half finished and then do not work on it anymore (there are still major parts missing from OSKR and that was released months ago, the countless bugs in firmware 1.7 never were resolved) I fear we will not see any bigger updates to Escape Pod in the near future after the release of the so-called version 1.0.0. Maybe bugfixes if we are lucky. But I would be very happy being proven wrong on this by DDL.

Escape Pod 1.8.x

After a year of doing nothing on Escape Pod, DDL released a so-called “version 1.8.x” in march 2022. You can find a minimal changelog in their knowledge base. The changes are also minimal and I see nothing that would warrant a version jump from 1.0.x to 1.8.x, maybe they just want the Escape Pod version to be on par with the Vector OTA version. In addition they broke the extension engine, so Cyb3rDod's Cyb3rVector Escape Pod Extension Proxy does no longer work. Cyb3rDog on Discord said that because of no meaningful changelog and no documentation on what they actually changed it will be difficult for him to fix Cyb3rVector. One has to ask why DDL offers an Extension Engine to enable 3rd parties to implement extensions for Escape pod, when they later break it, without any informations enabling 3rd parties to adapt their software. Some people voiced the opinion DDL actually does not want 3rd party software. In my opinion incompetence is a far more reasonable assumption.

How to get Escape Pod?

If you are not a Kickstarter backer of Escape Pod level (or higher) you will need to buy a license from DDL (the price tag of 97 dollars is quite steep in my opinion, especially if you see that the development was financed completely anyway via the crowdfunding on Kickstarter. (the funding goal for OSKR and Escape Pod was 75000 dollars, they raked in more than 500000 dollars plus money from crowdfunding on other platforms) On Kickstarter the price for Escape Pod was 47 dollars. If you bought your Vector for full price of 300 dollars you would need to invest another 100 dollars to run him local and for that you even get only very diminished functionality, not a good deal at all in my opinion; with all functionality working it would be okay-ish).

If you are a Kickstarter backer of that level or higher and you have got no information at all so far, you need to contact them via support@digitaldreamlabs.com and ask them how to get your license (it's as simple as sending them your robot's serial and getting a license key, since the Escape Pod image itself can be downloaded by anyone).

You download the Escape Pod image from DDL's website (direct link to version 1.0.0, may be outdated, you should be able to get the latest version from the official knowledgebase page).

Escape Pod installation overview

A short description on what you have to do to install Escape Pod, detailed instructions can be found in DDL's official knowledge base.

  • You will need a Raspberry Pi 4 (plus case and power supply) to run Escape Pod
  • You will need a WiFi network or a cable based Ethernet connection for the Raspi (I strongly recommend the second option)
  • You download an image file (containing the Escape Pod) and write it to an Micro SD card
  • The Micro SD card is inserted into the RasPi 4 and the RasPi is booted
  • You now have to follow an onboarding routine with your robot(s)
    • Send your robot's serial via email to Digital Dream Labs (the email address is missing from the official documentation, it should be support@digitaldreamlabs.com). Obviously you want to do this in advance
    • Enter the robot's license in the Escape Pod license screen
    • Do the actual onboarding process by connecting Vector to the Escape Pod via Bluetooth, similar like connecting him to the mobile phone app. This is done in a browser connecting to the Escape Pod via http://escapepod.local

For your convenience I have linked the DDL articles here in the correct order:

Updating the Escape Pod

Short version: You cannot. There is no update routine. The only way to update Escape Pod at the moment is to download a new image file and write it to the SD card, losing all your settings, the custom commands you implemented and the entered licenses (you have to input the license key again after an update, so make sure you keep it in a safe place). That is immensly uncomfortable and not userfriendly and frankly I have absolutly no idea how DDL came up with the idea to do it this way and still calling this “version 1.0.0”. In my opinion an automatic upgrade path that installs a new version from inside the Escape Pod Ubuntu on user demand (e.g. via browser-based user interface or ssh command for more advanced users) is the absolutly minimal approach on how to do this (keeping all user settings and parameters). This was acceptable for beta versions, but no update path in a so-called “release 1.0.0” is incredibly unprofessional and not at all userfriendly.

This would not be a problem if Escape Pod were delivered as a deb package or other established Linux rollout system. Why DDL choose this way eludes me, since almost every other project on Linux does it different.

It may be that DDL did not implement an update path because they do not plan to release any Escape Pod updates anyway. That would be very unfortunate because of the missing functionality.

Also there were reports about problems if you update the underlying RasPi Ubuntu (this means only the Linux operating system, not Escape Pod) from the terminal over a SSH session and Escape Pod then stopped working. So be careful what you do if you want to keep a working Escape Pod, at least backup your SD card as described below

Informations on the Raspberry Pi power supply and SD cards

As mentioned earlier you need a Raspberry Pi minicomputer to run Escape Pod. This needs to be a RasPi version 4 with at least 4GB Ram. DDL says that a RasPi 3 works but is not recommended.

Power Supply

Since the RasPi 4 is the latest version and it is more powerful than the earlier iterations it has higher demands for the power supply, so make sure, you use one that is certified or recommended for the RasPi 4. Be careful, some chinese vendors brag about their power supplies, but some of them actually are not powerful enough. Read some reviews on the one you want to buy and scrutinize carefully if the reviews look genuine or doctored (some shady sellers fake reviews).

If the power supply does not have enough capacity, you may not regognize this at once, but it can lead to mysterious errors and crashes. And crashes may damage the file/Linux system on the SD card, leading to the need of reinstallation, re-licensing and re-onboarding. Believe me, I've been there.

Please refer also to Randy Maas' Vector Wiki for more information about recommended power supply units.

Uninterruptible Power Supply (USV)

You may want to consider to add a uninterruptible power supply to your RasPi 4. That way the Escape Pod runs fom batteries if the power cuts out. Of course, if the power cuts out completely you will no longer be able to use Vector anyway, since the WiFi network also is out of power. The SD card can be damaged if the power suddenly is switched off (happened to me twice with different RasPis in the last weeks) and you can prevent that with an USV. Here is a link to an example for an USV for RasPis, based from that you surely will be able to find one for your country. Again: make an image backup of your Escape Pod SD card anyway to be on the safe side.

SD Card

Similar caveats are valid for the micro SD card you use. Make sure it is one of high quality, it is fast enough (at least class 10) and recommended as compatible for RasPi 4. Micro SD cards have gotten quite cheap, so it is recommendable to not just use the cheapest one you find. As a rule of thumb genuine SanDisk cards should work.

At the moment unfortunately it is not possible to use Vector Python SDK (or other SDKs) with Escape Pod, so you can go for a SD card with a size of 8 GB as recommended by DDL. However, since this may change in the future, you may want to use one that is bigger, to accomodate for future expansions, especially if you are a coder or a modder.

It is a good idea to write an image of your SD card to a file after you configured your Escape Pod. That way you have a backup of the latest system, that you can easily write to a new SD card and then you are back to a running system that already has all your changes. The process is basically the reverse as wrinting an image to the SD, card and you also use Win32 Disk Imager (or similar software) for this, but instead of writing an image file to a SD card, you write the content of the SD card to an image file that you can store on your computer as a backup.

What needs to be improved and added?

(work in progress)

  • Add knowledge graph
  • Add weather
  • (at least provide meaningful, helpful and easy to follow instructions on how to achieve those above using the open sourced libraries)
  • Add Python SDK
  • Add GUI and (working!) VNC to the underlying Ubuntu OS (so it would be possible to code in Python on the Escape Pod) or switch to Raspberry OS
  • Provide Escape Pod as a package, docker or installation file for other operating systems
  • Add option to update Escape Pod from inside the Escape Pod installation
  • Add option to update the Ubuntu from inside Escape Pod
  • Add option to export and reimport Vector user data
  • Add option to export and reimport command list
  • Add download links for earlier production and OSKR OTAs so they can be downloaded directly to Escape Pod to flash them onto the robots (they will no longer support older firmwares as by a statement made by a DDL representative on the Vector Discord)

Discussion

Holger Hoffmann, 2021/03/18 12:22
Very nice Wicky. I hope many people participate until the pod is fully developed, fully draggable for everyone..... ☺️👍
Enter your comment:
If you can't read the letters on the image, download this .wav file to get them read to you.
 
escapepod.txt · Last modified: 2022/04/13 09:17 by xanathon