
Andy Roid
Many members of this forum have discussed and built many styles of indoor navigation. Some designs were fairly simple with minimal accuracy. Some were developed with great sophistication and complexity and of course the resulting ability was very good.
Some controls were based on camera feedback using glyphs, colors or objects as way points, ultrasonic distance measurements, compass directions, encoder values, LIDAR feedback etc. etc. as stand alone sensors, or in combinations. Also beacons, and other point of location devices are used for references as robot is here.
I am curious what has worked for you and what has not. I am not looking for the details of the script you built (unless you want to share it), but rather a direction to go to build something that will work reasonably well. Information on your successes and failures would be appreciated. I have built a few scripts, but never got what I really wanted. I would also like to keep the cost down, so I rather not use LIDAR and specialty sensors.
I have an Adventure Bot which has a camera on a servo, 3 ultrasonic sensors mounted front and sides, a compass which is not currently mounted, but available, and the ability to get pulsed signals from the 5 spoke wheels mounted on the continuous servos (poor man encoder ( approx. 1.67 inches or 42.7 mm per step)).
Open for discussion.
I look forward to feedback on this subject.
Ron
Andy, I am working on (Close to finish) a wavefront navigation plugin. How it works is:
You Define an Array called $MyMap, Assign your goal location in the array a value of 1, assign your robot position in the array a value of 254, all walls and obstacles are assigned 255, open space is assigned 0. Call the wavefront plugin.
The plugin returns an array $MyRoute, showing the best route. "G" indicating the Goal, "R" indicating the Robot and "_" indicating the route. My plan is to the use Sonar to check ahead and if an obstacle is detected, add it to the map update the robot position and resubmit the map to the plugin and move on. I am still working on the encoders, and how to get my initial robot position.
If You are interested I will post my code and publish the plugin.
Hello rz90208,
Thanks for the reply. Yes, if you would like to post your project it would be great. I am hoping to generate ideas and have members share their efforts to develop a decent way to bring robots to the next level.
A basic indoor navigation system is on everyone's to do list and sharing ideas should help in developing a system that works well.
Ron
I am hoping jstarne1 and Richard R give input on their past navigation projects. They have built systems and hopefully can contribute what worked and what didn't.
Andy, Keep in mind this is a work in progress: I have not entered the robot movement code, but the robot should move approx. 1 foot per call. I also need to add the code to turn the robot to the proper direction. This will be done using his onboard compass. I will try and post the plugin shortly.
NOTE If you are using the variable watcher, close it before using this code!
Andy, The plugin has been published. Try it out and let me know what you think ANY feed back is appreciated.
enjoy
RichardZ
Thanks, I will try it out.
Ron
@ANDY ROID For my navigation project I'm using 5 ultrasonic sensors, 1 compass (10 DOF sensor module), GPS and tied those to an Arduino Mega which is commanded via UART by the EZ-B.
So far the project has been rather successful as it works and I'm continuously improving and expanding it with extra features. However it's made to be used outside, because of the GPS. However the obstacle avoidance and compass navigation work everywhere.
I tried to log as much of my findings and decisions as I could in this thread. I should update it soon with the latest improvements, however I hope it helps.
Hello budeI0,
Thanks for adding your project information. The goal of this thread is to gather ideas from working and developing projects and share them to develop a robust system. This also allows a list of components which are known to work well, which helps eliminate false starts due to poor or inadequate components.
Ron