Recently, our ‘AI Robotics Programming’ Team has delivered a proof-of-concept robot used to explore and map unknown industrial and residential spaces while identifying floor types.
The robot (with the exception of its Roomba chassis) is fully built from open-source (OS) hardware and software components. The result is an elegant blend of genetic algorithms and neural networks which enable the robot to autonomously map, survey, and calculate areas of the non-trivial indoor/outdoor spaces.
As an industrial use-case, the team has showcased a demo where the robot is used by a fictional cleaning company to optimize its costs. The robot is sent to a fictional warehouse where it explores the space after business-hours and sends back a report to the cleaning company with the space’s map, areas of its various sections and floor types. This report helps the company to efficiently invoice the client for a regular maintenance contract and remove the human factor from part of its client acquisition process, thus optimizing costs.
The project is still in its early stages and we are confident that many more use-cases will be discovered along the development process – for example by adding support for outdoor spaces.
While the novelty lies mainly in the software part, our AI team has amusingly dubbed their assembled robot, SMOB – short for Self-Mapping Open Bot.
SMOB in action, surveying and mapping the area of Savoir-faire Linux HQ
What Powers SMOB?
The project is a unique blend of hardware and software design. Since the robot needed to be resistant to collisions with objects and travel at a fair speed, using the entire TurtleBot kit was not an option under such constraints. The team has solved the problem by mating the Roomba Create base (which is well suited for heavy duty operations) with the IMU (Inertial Measurement Unit), LIDAR (Light Detection And Ranging) and Raspberry Pi3 from the TurtleBot 3 DIY kit. In order to achieve the latencies required for smooth operations, the team has also modified the Debian kernel to support the 64-bit instruction set available on the ARMv9 processor (the modifications were based on the PI64 project).
SMOB combines two different techniques to achieve its goals. The space discovery algorithm is an implementation of the genetic algorithm proposed by Mohamed Amine Yakoubi and Mohamed Tayeb Larski. The algorithm is realized in Python to work in conjecture with the ROS framework, which powers the robot’s movement.
The more complex part has been the realization of the convolutional neural network which is responsible for classifying floor types. The main challenge here is to properly identify the properties of an image (sharpness, luminosity, size, camera position, etc.) so the network can achieve maximal classification efficiency – a research that took the team substantial trial and error before getting the right parameters.
Our experiments shows a performance of coverage of ~1m^2 per 1 minute on a low-cost robot (~600 USD).
What Makes SMOB a Unique Robot?
SMOB is unique because it is among the first-attempts to have a robot perform several complex tasks on embedded hardware. It can be safely argued that automated driving already uses algorithms that are far ahead of what SMOB can do, but they are also far more complex than SMOB’s very basic and low-processing cost solutions. SMOB is about minimalism – it’s an attempt to create simple solutions to problems which are currently solved by much more power and memory hungry algorithms.
The Future of the Self-Mapping Open Bot in the Congested Robotics Field
One of the biggest challenges faced by our AI Robotics Programming Team includes outdoor operations related to LIDAR sensors and issues associated with them. LIDAR – a device that maps objects in 3-D by bouncing laser beams off its real-world surroundings – is one of the most crucial and contentious components of any vehicle (in this case SMOB) that is supposed to drive itself around (Read for example: Simonite, 2017). SMOB’s LIDAR is unable to identify glass. It also faces difficulties in loop-closure detection and navigation on complex surfaces. For example, a SMOB designed to detect potholes outdoors would most likely need a different chassis, drive-train, and would need to be able to detect potholes before reaching them; otherwise it may not be able to get out of them once trapped inside.
Stay tuned for more details on the evolution of SMOB and its added capabilities.
Simonite, T. (2017, March 20). Self-Driving Cars’ Spinning-Laser Problem. MIT Technology Review.