HO15 Sentry Droid with Autonomy

Well, its been a boring year with no droid outings, tho thanks to doing some live youtube events under the Droid Builders UK banner, we’ve managed to raise over £14k for CALM.

I know droid 2 isn’t finished yet (tho some slight progress has been made which I will blog about later) but I have decided to push my knowledge and skillset by building an autonomous droid. Nothing as big or heavy as an astromech, but a much smaller and lighter HO15 droid. These are a new one that was built by Oliver Steeples for The Force Awakens.

The droid is designed to be driven using omni or mecanum wheels which allow it to not only drive forward and turn, but also to strafe to the sides and generally move in any direction it wants. The type of drive system is called a holonomic drive.

Originally I was just going to build it with standard RC controls, but after seeing a few articles and presentations about ROS it got my ambitions up! ROS is Robot Operating System, and whilst it isn’t technically an operating system, it is a very mature platform for developing robots on. As well as driving the droid it can also do navigation, obstacle avoidance, and even 2d/3d mapping of its environment.

So, the idea is:

  • Styrene HO15 droid, as accurate as possible.
  • 4 omniwheels as the drive.
  • Multiple (8?) ultrasonic range sensors to detect obstacles.
  • Xbox Kinect camera/sensor to detect 3d space infront of the droid.
  • RPi cam for remote operation.
  • Autonomous random movement – I can leave it to wander and it will just meander about the place, avoiding objects.
  • Directed movement – Take control of it directly to drive it, but still avoid objects as a safety measure
  • And even full mapping and navigation, tho this is definitely a stretch goal!

Central control will of course be a Raspberry Pi running Ubuntu and the latest version of ROS2. The original ROS is being rewritten and will be retired in the next year or so, so I decided to push forward with version 2 from the start. Unfortunately, this causes complications as most tutorials and packages are still designed for version 1. But then, I like making life difficult for myself!