Image of an arrow

Mapping and Calculating Areas Autonomously: An AI Robotics Programming R&D Project

Avatar

admin_sflinux

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.

 

Mapping, Surveying, and Calculating Areas Autonomously: An AI Robotics Programing R&D Project

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’s Algorithms

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.

Test Results

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.

References
Simonite, T. (2017, March 20). Self-Driving Cars’ Spinning-Laser Problem. MIT Technology Review.

Leave a comment

Your email address will not be published. Required fields are marked *


Similar articles

Image of an arrow

Optimizing YOLO Training for Real-Time Detection on a LiDAR system This is the second of a three-part series on real-time YOLO detection on a LiDAR system for Edge AI. Find Article 1 on generating synthetic depth and NIR datasets here. Currently, new low-resolution embedded LiDAR such as the VL53L9CX, are emerging as a highly suitable […]

Enable Real-time Detection with Synthetic LiDAR Data Generation This series of articles will cover the essential components required to build real-time detection on a system with a dToF 3D LiDAR module. This first article is focused on synthetic LiDAR data generation. Synthetic LiDAR data generation for real-time detection Real-time Detection on a LiDAR System: Training […]

Accelerating early Linux boot with Yocto multiconfig By Paul Le Guen de Kerneizon Introduction In embedded products, cutting seconds, or even hundreds of milliseconds, from power‑on to application readiness is often critical. In this article, I will present a practical workflow to measure, compare, and iteratively reduce the early boot window of a Linux embedded […]

In today’s world, where everything from coffee machines to industrial equipment is connected to the network, knowing and assessing the security of your software and its dependencies has never been more important. Most vulnerabilities originate from small bugs in software components, and more recently (and thankfully less frequently) from sophisticated supply chain attacks. But with […]