Patches

Since Misty was first released, several system patches have become necessary in order to correct specific issues. Most of the updates for Misty can be naturally downloaded and installed by the robot, but several need elevated permissions in order to be installed.

Understanding Current State

Before installing any patches, it's best to understand your robot's current state. There are several ways to do this, depending on the tools you have access to, and on the state of your robot. The critical pieces of information are embedded into the Android OS Version string, which should ideally look something like "OpenQ820_O_v4.1-20200326_001-scripts1.3.0-patch1.0.5:patch2.0.3". If patch or scripts updates are missing, the string may look more like "OpenQ820_O_v4.1-20200326_001--".

Using the Mobile Application

If you have an Android or iOS device, the Misty App allows for connectivity over Bluetooth LE. Once connected, navigate to the 'My Misty' section. You should be presented with information about your robot. Of specific attention is the 'Android OS Version' section, which presents a string with patch information.

Using Misty Studio

If your Misty is on platform version 2.0 or newer, the Misty Studio website will be served by the robot at http://{ROBOT-IP-ADDRESS}. Version information can be identified by navigating to that website, then System -> Update Management from the left side menu.

Using an HTTP Request

If you're more comfortable using a raw http request, Misty returns system information by a method called Device Info. To request this JSON message, issue a 'GET http://{ROBOT-IP-ADDRESS}/api/device'.

Order of Patches

If your robot's version information presents as "OpenQ820_O_v4.1-20200326_001--", it doesn't have any patches installed. Because patch001 blocks adb over wifi, it's best to apply patch002 PRIOR to patch001 to avoid having to unblock adb. If patch001 has already been installed, follow this guide to re-enable adb over wifi. Python Patch 001 can be run at any point.

Patch 001

This patch is intended to correct one issue and modify one existing behavior.

  • Updates the USB driver configuration for the processor that Misty uses for computer vision, mapping, and speech tasks. This resolved USB bandwidth issues seen between the processors, and to the Occipital camera (if equipped).
  • Updates the default adb configuration to disallow adb over wifi. When Mist was first shipped, adb over wifi was enabled to allow developers to better troubleshoot and support issues with their robots. We've disabled this by request from the community

This patch can be downloaded here. To run the patch, download it to your computer and unpack it to a known directory. From a terminal window, run the script appropriate for your computer (Linux, Mac, Windows). The patch file will be called either patch001.bat or patch001.sh. Pass an argument that is the robot's IP address, like this:

./patch001.sh 192.168.1.121

After running the update, you should see a red message on Misty's face as one of the processors reboots to finalize the update.

Patch 002

This patch is intended to correct the default behavior of Misty's embedded text to speech system. At the time of Misty's initial release, we relied on the system that cam bundled with the OS, but quickly found that it only worked intermittently.

  • Installs and updated speech synthesizer common the the Android ecosystem.
  • Sets that synthesizer as the default implementation.

This patch can be downloaded here. To run the patch, download it to your computer and unpack it to a known directory. From a terminal window, run the script appropriate for your computer (Linux, Mac, Windows). The patch file will be called either patch002.bat or patch002.sh. Pass an argument that is the robot's IP address, like this:

./patch002.sh 192.168.1.121

After running the update, you should see a red message on Misty's face as one of the processors reboots to finalize the update.

Python Patch 001

This patch is intended to enable the python development feature set on Misty after the 2.0 platform release. Specifically, this patch:

  • Starts the Python Language Server upon boot.
  • Starts the Python file watcher process upon boot.
  • Opens ports 5150 and 5151 for TCP communication.
  • Adds a small amount of diagnostics to the statup process.

This patch can be downloaded here. To run the patch, download it to your computer and unpack it to a known directory. From a terminal window, run the script appropriate for your computer (Linux & Mac or Windows). The patch file will be called either copy_scripts.bat or copy_scripts.sh. Pass an argument that is the robot's IP address, like this:

./copy_scripts.sh 192.168.1.121