Go Down

Topic: Self docking problem (Read 464 times) previous topic - next topic

ycan

Sep 29, 2019, 09:26 am Last Edit: Sep 29, 2019, 09:28 am by ycan
Hi,

I want to build robot vacuum cleaner and add the self docking feature. I did quick research on the internet and most people suggest to use IR. But there is problem in my mind; what if robot and dock are at different rooms? Then I think robot cannot get any IR signal, right? How could robot find the right room and then dock itself?

Can I use any other kind of signal which helps robot to get closer to dock?

Thanks.

Delta_G

How does your robot currently navigate. 
|| | ||| | || | ||  ~Woodstock

Please do not PM with technical questions or comments.  Keep Arduino stuff out on the boards where it belongs.

jremington

Quote
How could robot find the right room and then dock itself?
\
Find a room with the IR signal, and dock in the usual way.

Consider putting a charger in every room. The robot might run out of power searching.

jackthom41

For such projects, you have to use localization by storing map in your robot, a little AI is required for that.

You can make something like The robot save all the path(covering) in its memory and the starting point of the robot is its charging unit. So, when it gets a signal of low power then it simply move back to its home position.

Now its up to you how efficient you could make the code, like instead of moving back the exact path, it should take the shortest distance approach with obstacle avoidance.
My collection of Arduino Projects ====> https://www.theengineeringprojects.com/2015/03/arduino-projects.html

ycan

How does your robot currently navigate. 

I had to find very cheap way. So I didn't get any LIDAR or camera to navigate. I have simply two steppers which are attached on wheels. So when it start from dock, it can count the number of turns and calculate the distance traveled. It might make mistakes when the wheels turns idle or hit something. But I think at least it can turn the main room and dock itself with the help of IR.

But here is the problem; what if the robot does not start working from the dock?

Additionally, I can get your advice about navigating. Im not sure this stepper solution is gonna work fine but I cant spend much money and I dont want to use systems like camera which make the project much more complicated.

Find a room with the IR signal, and dock in the usual way.

Consider putting a charger in every room. The robot might run out of power searching.
It might not get any IR signal if they are far from each other. Plus, I dont think putting charger in every room is a useful idea!

For such projects, you have to use localization by storing map in your robot, a little AI is required for that.

You can make something like The robot save all the path(covering) in its memory and the starting point of the robot is its charging unit. So, when it gets a signal of low power then it simply move back to its home position.

Now its up to you how efficient you could make the code, like instead of moving back the exact path, it should take the shortest distance approach with obstacle avoidance.
Yeah that's what I want to do with that stepper system in my mind. But it can make mistakes and moreover there is a problem when the robot does not start working from the dock. I want to make sure that robot will find its dock somehow.


I might give up with this feature, this is becoming confusing. Starting from the dock may be a necessity.

jremington

Quote
It might not get any IR signal if they are far from each other.
That is a problem with your design.

jackthom41

Yeah that's what I want to do with that stepper system in my mind. But it can make mistakes and moreover there is a problem when the robot does not start working from the dock. I want to make sure that robot will find its dock somehow.
I might give up with this feature, this is becoming confusing. Starting from the dock may be a necessity.
Yeah it's best to start from the docking station. Without it, that's almost impossible.

You could easily place some check in your code, that will let you know whether robot has started or not. Like place an IR sensor on the dock, to tell you know whether robot has left it or not. It will be helpful in returning as well i.e. robot has reached at the dock.
My collection of Arduino Projects ====> https://www.theengineeringprojects.com/2015/03/arduino-projects.html

ycan

Yeah it's best to start from the docking station. Without it, that's almost impossible.

You could easily place some check in your code, that will let you know whether robot has started or not. Like place an IR sensor on the dock, to tell you know whether robot has left it or not. It will be helpful in returning as well i.e. robot has reached at the dock.
Thanks yeah! I'll do like that. But Im confused because I think some vacuum cleaners can return their dock even if they dont start from their dock. So I wonder how they works.

On the other hand, do you think using stepper motors to navigate the robot is a good way or not?

vinceherman

I had to find very cheap way. So I didn't get any LIDAR or camera to navigate. I have simply two steppers which are attached on wheels. So when it start from dock, it can count the number of turns and calculate the distance traveled.
Have you attempted this?  I expect that it will quickly accumulate errors so big it will not be able to find the dock.

Go Up