How I improved my autonomous cleaning robot | Showcase by Altanai
This is the written version of the talk given by Altanai at the Git Commit Show 2020. This talk includes a showcase of Ramudroid, its challenges, and roadmap. It is an autonomous robotic vehicle to clean roads. This is the 2nd part of the showcase of this project. Checkout the first part of the showcase here.
About the speaker
Altanai is a telecom VOIP engineer who mostly works on WebRTC-related and streaming-related projects. She has also written a book on WebRTC. Ramudroid is one of the pet projects that she has pursued very lovingly over the years.
Why is it important to have such projects?
It is important because there's littering and dumping all over our country. People simply litter the roads, and every morning when you go for a jog, you will see plastic cups, other types of trash, and litter that people carelessly toss around. A pile of garbage encourages more people to throw garbage at that place.
So, if you look at the figures, a lot of plastic, which is recyclable by the way, is not even collected. If it's not collected, it's not processed. So it doesn't even reach the collection centers, which do solid waste management.
Our idea is to focus on this recyclable area, which we can autonomize through our robot. You must have also learned about other kinds of robots that do cleaning and which are used for indoor cleaning. Other kinds of vacuum cleaners and manually operated big trucks are available, but they all have their own areas where they can operate. Some of them operate on vacuums. Some of them are so large scale that they just pick up those black trash bags, but our area is not there.
Our area is to pick up cups, leaves, wrappers, and plastic bags, which are all around us. And also do streaming to find out who the regular defaulters are. So let's say the robot is cleaning and it's for consecutive days at sea. Somebody continuously literate will tag that person and take a snapshot of that person and report it.
Ramudroid picks up litter:
- It identifies garbage
- Pick and collect into a detachable bin.
- It prevents garbage accumulation.
- Surveillance to nab the culprits
So let's just see how a simple project like this has evolved over the years.
This was the earliest, very primitive architecture. It was shared in order to get started. Then there was probably one or two versions and then version five, which was, as you can see, a very small bin size.
The modules in that it's the same process. The three-brush system is the same, but the other components are open. It's untidy, but over the years it's been tidied up.
You can see a little bit more organized clutter at the back and a bin to take on more garbage.
And then, finally, v7.5. The bin here is larger, can hold more garbage, and is much more neat and tidy. It's not as vulnerable to rain and dust as the earlier models. So it's a little shielded.
The prime area, which was focused on for version 7.5, was to use solar energy in order to increase runtime from 20-30 minutes, which was provided by the lead acid battery. A solar panel is used at the top to maintain a continuous flow of energy.
Previously, there was peer-to-peer streaming for streaming purposes. But now there is an EMC-based architecture so that it can stream to multiple peers but it doesn't have to face the bandwidth load of doing that. It can take 10 kg of weight on motors and wheels, including the weight of the garbage, which is 50% of its weight.
So let's get onto the road map.
- Improve energy efficiency because there's not a sun all the time. And when the sun is not shining as bright, it will not operate at its full potential.
- Improve communications: If I'm using Wi-Fi and it doesn't have a good range, I cannot go to a parameter which is outside the Wi-Fi router's range. So we have to integrate Laura, or BLE, or LTE.
- With path tracking, it could detect two things: obstacles and garbage.
So let's say we just focus on detecting obstacles so that it doesn't run onto something and crash itself out. There is browser based detection, open series based detection, and ultrasonic based detection, but none of them gives the accuracy.
Let's say this is the goal point and this is the path, but it's not possible that the robot goes exactly on the path without any integration, especially when it has to navigate obstacles or it has to go pick up some litter at an angle and then again come back to the coordinate system.
How do you choose the coordinate system?
She manually trained it using a lead vehicle. Basically, Altanai was the lead vehicle, and the robot followed her initially to track the path that she wanted to track every day. Then that set of coordinates is the path, and then she traveled that path over and over again, correcting its orientation errors every time.
This is called the "carrot approach."
Now it has been upgraded to use something called a LiDar. It is kind of like a radar. But the advantage is that it gives an accurate distance in the range between the present point and the goal point. It does efficient path dressing.
Another thing that we would like to focus on is segregation. Segregating the garbage at source is an area where even the government is focusing on electronic waste and dry waste, which is a good problem statement to start with. And there is other hazardous waste that it is not a good idea for a human to try and pick up. So it has to be a robotic process like in medicinal waste, hospital waste, things which can have germs and bacteria of all kinds.
So this project is completely open source. You can find it on Github.
For more such talks, attend Git Commit Show live. The next season is coming soon.