How service robots make sense of their surroundings
Early versions of robotic vacuums had very little intelligence, randomly bumping their way around the home and sometimes missing areas as they did not know where they had been. Often, they would unwittingly become trapped or run out of charge mid-sweep. And, as their dust box is comparatively small to a regular vacuum cleaner, if full, they could be sweeping but not collecting anything up. Over the years, with the innovative use of sensors and motor controllers, vacuum cleaning robots have become much smarter, overcoming these issues.
Contents
Movement
Fundamental to any RVC is its ability to move around with a high degree of accuracy. Here, TDK’s intelligent HVC 4222F embedded motor controllers provide direct control of various stepper motors, and brushed (BDC) and brushless (BLDC) DC motors. They drive the motors that turn the gears to ensure the wheels are moving the RVC in the right direction. The high accuracy of these devices is of vital importance to ensure that the cleaner does not go off-track, whether you use sensors or not; knowing that the wheel is turning 90-degrees as opposed to 88-degrees is essential to ensure the RVC is where it thinks it is over a certain amount of time.
Floor type, cliff and obstacle detection
Ultrasonic time-of-flight (ToF) sensors, such as the CH101 and CH201, provide accurate range measurements to targets at distances up to 1.2m and 5m, respectively. They send out an ultrasonic pulse and then listen for echoes bouncing off objects in the sensor’s field of view (FoV). The built-in processing unit calculates the ToF and the external control unit determines the distance to the objects. Unlike optical distance sensors, ultrasonic sensors work in any lighting condition, including the dark, and provide millimeter-accurate measurements independent of the target’s color and can detect transparent objects such as glass.
In the robotic vacuum cleaner, the long-range CH201 can be used to detect both moving and stationary objects day and night, deviating its route well in advance to avoid a collision. The shorter range CH101 ultrasonic ToF sensor can be implemented into the robotic vacuum cleaner to determine different floor types. Here, the amplitude of the reflected signal differs if the target surface is either hard or soft. When the robotic vacuum cleaner moves from wooden flooring to a carpeted area, the sensor can instruct the motors to speed up as they need to work harder on this flooring type. These sensors can also detect whether the cleaner is at the top of a set of stairs, averting a fall.
Ultrasonic sensing basics
Floor Detection | Obstacle Detection | Drop/Cliff Detection |
---|---|---|
Route planning
Many robotic vacuum cleaner navigation solutions use visual simultaneous localization and mapping (VSLAM) or lidar technology to build a virtual map of the room, enabling it to move around more efficiently and effectively. However, if the cleaner is lifted and put down in a different place for whatever reason, it will not know where it is. It will, therefore, need to move in a random direction and, by tracing the walls, can rediscover its new location relative to the map. Inertial measurement units (IMUs), such as the ICM-42688-P from TDK, can help overcome this issue.
These six-axis motion sensors take the roll, pitch and yaw of movements of the robotic vacuum cleaner both from a linear and rotational perspective. Based on these movements, plus the mapping of the room, the vacuum cleaner can determine its precise location. And, if someone picks it up and places it somewhere else, it knows where it is in real space.
For robotic vacuum cleaners that do not use VSLAM or lidar mapping technology, position and navigation can be determined using dead reckoning. By combining measurements from the wheels’ rotations with the inertial measurements from the IMU and object detection from the ToF sensors, the cleaner can orient itself in the room.
Voice recognition
When implementing artificial intelligence (AI) with voice assist, microphones, such as the ICS-43434 multimode digital microphone, become an essential sensor technology. At the moment, the noise of the motors and the turning brushes on the cleaner is a bit loud. However, when they do become quieter, algorithms can be trained to disregard this noise and listen specifically for the voice of the user - calling for the vacuum cleaner to clear up something or telling it to shut down are a couple of possibilities. An alternative solution could be that, if the microphone notices something is being spoken, the cleaner’s embedded motor controllers, such as TDK’s HVC 4420F can slow down or turn off the motor to listen to the command.
Emptying the dust box and auto-recharging
The level of dust inside the dust box is estimated by monitoring the flow of air through the dustbin with a pressure sensor. Barometric pressure sensors, such as the TDK ICP-10101, monitor the air pressure within the dustbin. A drop in air pressure indicates that the dust box is full, and the cleaner can stop its cleaning cycle and go back to base. Some of the high-end bases have the capability to suck out the contents of the dust box automatically. The cleaner can then return to its last known position and continue cleaning.
When the battery reaches an arbitrary SoC level, the battery management system can communicate an instruction for the cleaner to stop and return to the base for a recharge. When fully charged, the robotic vacuum cleaner goes back to its last known position and continues cleaning.
Regardless of the size of the room, in theory, the cleaner can operate continuously.
・Use a pressure sensor to monitor air flow through the dust bin
・Identify full dust bin or clogged filter
・2nd pressure sensor can optionally be used to improve the solution by removing the local environmental effects such as HVAC.
Health checking
TDK’s NTC thermistors, which are a type of temperature sensor, can be applied to monitor the running temperature of the MCU or MPU. They can also be applied to monitor the temperature of the motors and brush gears. Items caught in the brushes, like an elastic band or excess hair, can make the motors overcompensate and overheat. If they are running way too hot, the cleaner is instructed to take a break and perhaps run a few system diagnostics to find out what is causing the problem.
Getting started
The TDK RoboKit1 development platform simplifies the developer’s need to go to multiple vendors to get a generic robotic vacuum cleaner application started by integrating all the products mentioned above on a single PCB. It also includes software libraries, as well as ROS1 and ROS2 compliant drivers, allowing design teams to customize them and develop new algorithms. To find out more about how TDK’s sensors solutions enable advanced control of service robots, please visit the robotic vacuum cleaner solution guide.