I am beginning work on a larger scale, 250-350 lbs wheeled robot and looking to use both optical and other means of object avoidance. I am concerned with a robot this large causing issues with running into things, including people as it has a top speed of 15mph and that would cause issues with safety. I am starting out with a remote control but am looking to have the robot become self contained. I have been loosely following the DARPA driver-less car project but will not have anywhere near the fiscal or power budget that they do for sensors and computers. Am I thinking to far afield with my idea of having a self-contained robot in the 250-300 lbs range that does not break the bank on optical object avoidance? Any comments or experiences will be greatly appreciated.
-
2$\begingroup$ This is a really vague question. What kind of tasks do you want the robot to perform? What kind of sensors do you have access to (RGB, RGB-D, sonar, etc.)? Are you looking for a completely self-contained library (there isn't one), or are you comfortable with implementing this sort of thing on your own? By "avoidance" do you mean simply not running into things (by stopping), or actually trying to navigate around obstacles to perform a task? $\endgroup$– giogadiOct 23, 2012 at 20:42
3 Answers
Optical avoidance of people in an every-day (like) environment would be difficult, your best bet would be with sensing the range of things from the robot, rather than if it is a person or not. An Xbox Kinect could do the job if mounted in the right place. Alternatively you could use range finders, either the light or acoustic variety. I have used Ultrasonic sensors from these people before, and they are good at ranges from about 5cm to around 3 meters, although they have an unfortunately small field of view, but they work.
Alternatively, if you are able to have a controlled environment, such as an arena or room, you can use libkoki markers (or an alteration thereof) to define the edges or your arena and anything the robot must not go near. The libkoki libraries can be found here
-
1$\begingroup$ Just something of an addition. If you are looking to use these sensors in a car in an outdoor environment, then you can scratch off the Xbox Kinect option as it works only indoors. $\endgroup$ Nov 3, 2012 at 11:25
Yes, you are thinking too far afield. This is an open research problem (especially where people are concerned). Don't even think about the DARPA grand challenge, that's way out of a single person's league. However, there are some good starting points I can recommend.
A labmate has had good success tracking people using a Kinect with OpenNI. The kinect has range information, which makes it better than pure vision or binocular vision. Typically a vision-based solution uses Structure From Motion. Because this can be terribly sensitive to moving scenes, vision is probably NOT the way to go for this task. A more reliable method is laser scanner for close-in obstacle avoidance. However, Vision-based SLAM is possible, and can be implemented using the Robot Operating System. The task becomes significantly easier if you have detailed maps before you deploy.
Start with ROS, aka the Robot Operating System, it will be much more helpful than implementing these things yourself. I can assure you from personal experience.
If what you are looking at is a research topic, not a ready-to-use solution, then maybe visual servoing techniques with occlusion handling, or path planning in the image, might be of some use. (Never tested, but know the names behind it: http://www.irisa.fr/lagadic/visp/visp.html)