|Use case||Robot||Android device||Wireless network||Workstation|
|On-board developer||Required||Helpful||Required||Computer with SSH terminal|
|Off-board developer||Required||Helpful||Required||Powerful Linux computer|
|Simulator developer||Powerful Linux computer with graphics acceleration|
I am a demonstrator
If you plan to use only the demonstrator capabilities of MiRo (i.e. you do not plan to develop your own control software), then all you will need is a MiRo robot and an Android device with which to control it.
I am an on-board developer
If you mean to develop control software on board your robot, you will also need a wireless network and a computer that can connect to MiRo using terminal software. Through this connection you can develop your software to run on the built-in Raspberry Pi.
 Multiple robots on the same network will be easier to find if you have sufficient administrative rights to assign unique static network addresses to each one.
I am an off-board developer
If you mean to develop control software off-board (e.g. if your application will be too complex to run in real time on-board, or will involve multiple robots) your workstation will also have to be equipped with ROS (Robot Operating System). Using the robot's ROS interface your software can run on your workstation and communicate in real time with the robot itself. ROS is only well supported on Ubuntu Linux (and similar) and you may need a powerful computer.
I am a simulator developer
If you mean to use the simulator instead of—or alongside—the physical robot, your workstation will have to be powerful enough to run the physics and rendering of the simulator. Any modern workstation with a graphics card is likely to be sufficient, but you will find life much easier if the machine is towards the stronger end (e.g. a quad core with a mid-range graphics accelerator). More lightweight (e.g. mobile) computers may struggle to run the simulator at all. The simulator is supported only on Ubuntu Linux (and similar).
See Commissioning to get started with your robot and connect it to your network and/or Android device.
Most recent Android devices are likely to be suitable. Specifically, your device must include Bluetooth Low Energy (BLE) hardware and provide Android to at least version Marshmallow.
Any network to which the installed Raspbian Linux system can connect by default will be suitable (usually, WPA2 networks). However, some networks (perhaps those configured in an unconventional way) may require some intervention by the user to get the robot connected. This may involve temporarily removing the Raspberry Pi from inside the robot and connecting a monitor and keyboard to it whilst the network connection is configured.
To work with your robot, no internet access is required. However, if you want to update to the latest robot software - this may be required to interface your robot to online applications - you will need the wireless network to have open access to various internet servers. In addition, if you connect your robot to the internet, you are responsible for maintaining its security, to which end the operating system must be kept up to date. OS updates are performed automatically as part of any robot software update, so if you perform a successful robot update your OS has also been updated successfully.
Robot software updates are delivered from
bitbucket.org. Operating system updates are delivered from
We explicitly support Linux distributions Ubuntu and Mint and only LTS editions released in 2016 or later (for instance, in Ubuntu that means 16.04 or 18.04, and so on). We explicitly support ROS at version Kinetic and Gazebo at version 7.14 or higher.
We do not offer explicit support for earlier releases or non-LTS versions of Ubuntu or Mint, or for other Debian-based systems. However, we expect that most Debian-based systems will be compatible and will support users of these systems as far as it is reasonable to do so. Generally, if your Debian-based system can install ROS and Gazebo and run them both without problems, it is likely to be compatible.
Non-Debian-based Linux distributions are unlikely to be compatible without considerable work by the end user. The level of support we will be able to offer for users of these systems will be very limited. However we know of no barriers to their use, at time of writing.
If software is to be developed on board the robot, any system supporting a terminal emulator ought to inter-operate with MiRo. This includes Apple and Windows systems, with appropriate software installed, but we do not test compatibility with these systems and cannot guarantee interoperability. We expect that non-Linux systems will be challenging to use with ROS, so that off-board software development may be difficult or impossible.
Please let us know about your requirements, successes, and failures.
We explicitly support only running natively (i.e. not inside a Virtual Machine). In particular, the Gazebo robot simulator may not operate correctly—or even at all—in a VM. We suggest installing Linux as a dual-boot if you are using some other operating system (a Linux install will typically fit comfortably in only 8GB alongside your existing systems).
However, if you do not plan to work with the simulator, you may find working within a VM is just fine. Please do let us know how you get on.
If you plan to develop on-board the robot, any hardware should be suitable. If you plan to develop software on your workstation, something with sufficient power to run that software will—naturally—be required. If you intend to use the MiRo simulator, your workstation must be suitable for running the Gazebo robot simulator (http://gazebosim.org)—please refer to the system requirements for that software.