As I write this article, Rosie the robot vacuum cleaner is taking its third try at mapping my home. Rosie is our name for an Ecovacs Deebot N8 Pro+ vacuum. We purchased Rosie from Amazon on the recommendation of Veronica, who lives next door. Rosie was on sale that day for $420, which is $280 off of the list price. The robot’s about the diameter of a large dinner plate and perhaps three inches thick. She has a pair of large and grippy rubber drive wheels in the rear that are part of a dead-reckoning navigation system and a small, free-wheeling swivel caster on the front. This three-wheeled configuration creates a surprisingly nimble robot that can turn in place.
For navigation and mapping, she’s got the dead-reckoning system plus a stubby Lidar turret on top for long-distance navigation and a pair of time-of-flight (TOF) sensors on a front bumper for short range object detection. The bumper also has integrated switches for collision detection. I recently discussed STMicroelectronics’ newest TOF sensors (see “Time of Flight Sensors, Trilobites, and Tunable Optics – What an Unlikely Combo!”) so I asked ST if the Ecovacs Deebot N8 Pro+ used a pair of their sensors. ST’s not talking.
Of course, we named her Rosie after the domestic robot in the 1960’s TV show “The Jetsons.” Based on the YouTube hits for domestic vacuum robots named “Rosie,” it’s clear that our name choice isn’t particularly original.
Rosie docks with a pedestal that charges her and automatically empties her small dust and debris collection compartment into a more conventional but still-small vacuum cleaner bag located inside of the pop-top pedestal. It’s a neat setup and just watching Rosie park herself is like watching one of the one-person pods carefully enter one of the spaceship Discovery’s three docking bays in the movie “2001: A Space Odyssey.”
Unpacking Rosie was the first hurdle. She comes in multiple boxes within boxes. Three boxes hold Rosie the robot, her accessories, and her charging pedestal. These three boxes are packed in a large retail box, which was packed in a factory shipping box, which was packed in an Amazon shipping box. Too bad Rosie can’t handle cardboard boxes. She’s strictly for dust, debris, and (in our house) cat fur.
I placed Rosie’s charging pedestal in a secluded corner of the family room on the northernmost edge of our house. I then placed Rosie on the pedestal and started her charging cycle. She needs four hours for a full charge. Meanwhile, I downloaded the Ecovacs app into my Android phone. The app handles all the robot’s control functions. You can’t run Rosie manually or from a PC. How millennial.
The phone app is minimalist. You identify the model of your robotic vacuum cleaner, name it, and then use the app to connect the robot to your WiFi network. I have to say that these parts of the process are painless. The manual advises you to shut off your cellular connection while making the WiFi connection with the robot, but I did not bother with this step, and everything seemed to work fine anyway. In fact, I’d say this is one of the easier network connections I’ve made with an IoT device.
Because things seemed to be going well, we set Rosie loose on her first mapping foray into our fairly large and complex home layout. Then we stepped out for a walk. This is contrary to Ecovacs’s suggestion that you follow the robot around on its first mapping foray in case it runs into trouble. However, I was pleasantly surprised to find that we could monitor Rosie’s progress on the phone app even when out of range of our WiFi network. The connection continues to work over the cellular telephone network. Rosie had no problems navigating the house on the first mapping foray, although she was unable to complete the map even after taking three hours to roam the house. I started Rosie on her second mapping foray the following day while we were out of the state on a day trip. You can watch your cleaning robot trundle around your home in real time from nearly anywhere on the planet. How’s that for a time waster?
Rosie traveled around and through our house for a couple of hours and then her battery ran low. She autonomously found her way back to her charging pedestal for another four-hour charge. She’d not completed her mapping and required a manual restart for her next mapping cycle, which proceeded equally smoothly. However, we’d left a sliding glass door open and Rosie’s Lidar got a peek at the great outdoors. Rosie attempted to further map outside of the home but a physical barrier stopped her (it’s mostly there to bar scorpions and other creepy crawlies from entering the house).
There was no way to immediately delete that outside Lidar data. This is one of the Ecovacs app’s several limitations. You must perform tasks narrowly in the way Ecovacs wants you to do them, and you can edit maps only after the app has decided that the map is complete. If you want to place furniture icons on the map or create “keep out” zones, you can only do those things after the app decides that the map is complete.
Unfortunately, a lot of people appear to have map-completion issues with Ecovacs machines, based on Internet postings, so this policy is clearly problematic because you can never edit your house map if mapping never completes. Further limitations include the set of room names and the need to perform graphical edits on your phone with your finger as a stylus. My finger has never been a precision drawing tool.
A related problem is the need to create a second map if you must move the robot manually to access another area. You might need to do this, for example, if you have a second floor. This little robot does not climb stairs. You won’t be able to create that second-floor map until you have completed the first-floor map. I have a single-story house, so this is not an issue for me.
After Rosie’s first foray to create its first map of our home, there was clearly a problem. The southernmost 15 feet of our house was not being mapped. An invisible wall barred further mapping in three southern rooms. I suspected some sort of error or limit that I’d hit, so I erased the map and started over the next day.
Generating the second map took less time than the first. Rosie trundled around in a fairly efficient manner. I really enjoyed the app’s real-time update showing me the fans and rays from the continuous Lidar scans. I could see the map of my house’s floorplan that Rosie was painting in real time. Rosie was simultaneously sucking up the dust, crumbs, and ever-present cat fur while she was mapping. She’s a real multitasker.
Rosie mapped about 80 percent of the house on one battery charge. When the battery ran low, she automatically headed back to her charging pedestal, locating it with no effort. The invisible southern barrier was still there. I’d clearly reached the limits of my understanding based on the sparse explanations in the manual and on the Ecovacs Web site, so I dashed off an email on a Sunday night. I asked if Rosie used a four-quadrant coordinate system and if it seemed to them that I’d foreshortened the reach of that coordinate system by setting the charging pedestal at one end of the house.
I received no email response the next morning, so I placed a call to Ecovacs customer support. I explained the problem and the clearly non-technical support person was able to give me the answer I needed. The robot likes to stay within a 20-yard radius (yards?) of the charging station. As I suspected, Rosie clearly uses a four-quadrant coordinate system with the charging pedestal set at the origin. At a certain distance from its charging station, the robot just stops looking.
The customer support person told me this restriction was to prevent the robot from “getting lost,” but I think this limit simply represents the maximum value for whatever fixed-point data type Rosie uses for its dead-reckoning and Lidar-mapped Cartesian coordinate system. By locating her charging station at the far north of the house, I’d used only one half-plane of the robot’s coordinate system. This limitation, like others built into the robot, must be inferred because they’re not discussed in the user documentation. In fact, the user manual discusses “unlimited mapping.”
I relocated Rosie’s charging pedestal to a more central location in the house, erased the second map, and turned her loose. Two things quickly became apparent. First, Rosie was able to map the missing 15 feet at the southern end of the house. The invisible barrier was gone, so the problem had clearly been some sort of coordinate limit. Second, the robot prefers to make left and right (as opposed to up and down) passes relative to the map in the app. Rosie leaves a trace of breadcrumbs on the map in the app that shows this preference clearly. I’d first aligned the charging pedestal along the north-south axis of the house and the second alignment was east-west. In both cases, it was clear that Rosie preferred to sweep left and right on the app, even though the house map rotated by 90 degrees when I moved the charging pedestal.
During her third mapping foray, Rosie managed to high-center herself on the swivel base of a La-Z-Boy recliner. I heard her struggling to free herself. Both of her traction wheels had lost their grip. I gently nudged the robot off the recliner’s swivel base, and she resumed her mapping and cleaning duties. She didn’t seem bothered by my nudge, despite Ecovacs’s warnings not to touch the robot during the mapping process. After 180 minutes of mapping and cleaning, Rosie’s battery ran down, so she headed back to her charging pedestal, which now occupied an empty desk kneehole in my study, as shown below.
I was afraid Rosie would not find this new location easily, because it’s somewhat narrower than the meter-wide zone recommended by Ecovacs, but there was no need for concern. Rosie easily found the pedestal and docked for a 4-hour recharge. I marvel at the precision and resolution of Rosie’s navigation and mapping technology, not to mention the precise motion made possible by a couple of rubber drive wheels powered by what I suspect are stepper motors.
After 230 minutes of cleaning time on her third mapping foray, with one battery recharge, Rosie decided she’d finished cleaning the house and returned to her charging dock. When she docked, she reported through the app that the map was complete. Then the finished map appeared in the app. The reason that finishing the map is noteworthy is that you can then edit the map to divide it into proper rooms and name them appropriately, or nearly so. My workroom/lab had to become the “Kids Room” because that was the only reasonable choice. The family room/media room became the “Lounge” for the same reasons. All three bedrooms became “Bedroom” because there’s no way to have “Bedroom 1,” “Bedroom 2,” and “Bedroom 3.” I cannot comprehend why the Deebot app’s naming abilities are so lame. These names consume just a few bytes of user storage.
I then linked Amazon Alexa to the Deebot app, mostly because I could. In the process, I had to submit a security code that Ecovacs sent to me by email to confirm my identity. Here’s the email that Ecovacs sent to me:
I wonder if Ecovacs cares that I don’t read (or speak) Mandarin.
On the plus side, when my wife asked how she could control Rosie, I checked and found out she should be able to load the Ecovacs app on her iPhone, log in as me, and everything would just work. It did. So, we sent Rosie into the laundry room to clean up some Styrofoam from a recent unpacking. Rosie went right to work, undocking from her charging pedestal and trundling into the laundry room where she managed to vacuum up most of the loose Styrofoam kernels.
In the final analysis, I think the Ecovacs Deebot N8 Pro+ robot vacuum cleaner is a marvelous piece of hardware engineering that’s handicapped by a partially developed app that must be used to control the device (because that’s its only user interface, besides an on/off button) and essentially zero user documentation. We’re happy to have a helper around to do the vacuuming. Now that the map is finalized, everything works smoothly. Mostly.