Results 1 to 9 of 9

Thread: Vision-Guided AGV

  1. Vision-Guided AGV

    I would like to DIY a Vision-Guided AGV for hobby use. It should be able to do what all factory AGVs do, record a route and replay it. I'm having trouble with the vision portion of my project though, as I'm fairly new to robotics and wondering what kind of hardware would I need.


    I have a Raspberry Pi with the Camera Module, is it sufficient?

  2. #2

    Re: Vision-Guided AGV

    Yes, a Raspberry Pi with the Camera Module can do image capture and recognition tasks.
    However, the available processing power on the Pi is somewhat limited -- the more advanced vision algorithms may not be possible. You will find this once you start looking at specific implementations; either it runs fast enough, or it doesn't :-)
    Other small computers with better processing power include the BeagleBone Black, and the Odroid X2 / U2 quad CPU. (And I think the Odroid people are working on an octo-CPU version, too!)
    If you can afford the weight, a mini-ITX or micro-ITX chassis, or a NUC form factor, with a high-end Intel CPU, would give you the most processing power.
    On those boards, you can plug in a webcam over USB, which would serve the same function as the camera for the Raspberry Pi.

  3. Re: Vision-Guided AGV

    Hey, thanks for the reply, jwatte!

    I'm planning to do this as like a small hobby since I already have a Raspberry Pi with the camera module that I used for another project. I'm looking to use C++ and OpenCV as the main platform. I'm very new to programming, and I'm planning to go into robotics. I don't know if this first project I chose is really hard, cause everything looks really complicated to me honestly.

  4. #4
    Join Date
    Sep 2010
    Location
    ಠ_ಠ
    Posts
    2,317
    Images
    27
    Rep Power
    283

    Re: Vision-Guided AGV

    Possibly not a beginner's project... yet. I am apparently more than a little bit "not-right" right now (hopefully it is just hunger and not brain stuff), so take what follows with a grain of salt.

    Safe navigation in a non-static environment without any depth or distance data is quite difficult, and a RaspberryPi probably does not have sufficient processing power to handle the currently existing visual odometry algorithms in a timely manner. Also, there is not yet native support for the RaspberryPi Camera Board in OpenCV, so the only way to use it is to modify the raspicam example (from the RaspberryPi userland library). There are a couple examples out there about how to grab the image data from the RPi Camera Board and place it into the OpenCV image container by modifying raspicam. I was working on a simple native interface using part of the userland examples as a start, but it stalled several months ago as I got distracted by other stuff. Another stalled project of mine was to use environmental text extracted from images (and a SHARP range finder aligned with the camera) to attempt to perform mixture monte carlo localization. It just occurred that it would be faster/easier to make a ROS node from the raspicam program to publish images to be grabbed from other nodes, than to try to finish building native OpenCV support since I am such a horrible programmer.

    Add in the depth data from a kinect, or other sensor like a planar scanning laser, and things can get quite a bit less computationally intensive and much easier for the beginner. It is much easier to create a map of the area, localize the robot within it, and avoid obstacles when you are just drawing and matching edges/walls in a 2D array (map). With a kinect, it becomes possible to use the various TurtleBot programs which are mostly ready to run after setting up ROS.
    Please pardon the pedantry... and the profanity... and the convoluted speech pattern...
    "You have failed me, Brain!"
    [git][mech][hack]
    gives free advice only on public threads

  5. #5

    Re: Vision-Guided AGV

    Wow, that's an incredibly ambitious project for someone new to coding, robotics, etc... you'll learn a lot but it may take you a long time.

    IIWY I'd try to break the tasks down and work on the easier stuff first, and work your way up to the harder stuff.

    I'd say anything vision/localization is on the hard side. Getting the robot to send servo commands is on the easy side.

  6. Re: Vision-Guided AGV

    Hey, tician!
    Aiks! That sounds pretty intense. I'm trying my best to work with what I have right now, thanks for the info tho! I'll get around to trying out some stuff with a Kinect if I ever get one. What about getting a camera to recognize a point and move towards it? Like, say when the TRIANGLE is no longer in the center of the frame, a warning comes up to show misalignment. The most simple form of the robot moving forward and recognizing it has reached its destination would be if it recognizes how much the image has enlarged?

    Hello, shimniok!
    I'm actually just feeling my way around with things, there are hundred projects I really wanna take on but since I have a Raspberry Pi, the camera and some knowledge of C++, I thought I might take a swing at vision cause it seemed the most interesting to me. If I were to insist on going down this path though, what do you suggest I start with?

  7. #7
    Join Date
    Sep 2010
    Location
    ಠ_ಠ
    Posts
    2,317
    Images
    27
    Rep Power
    283

    Re: Vision-Guided AGV

    Modifying the environment to better accommodate navigation is the easiest way to get robots working in human spaces, but can be a bit expensive and does not well work outdoors (hence all the complex ongoing work into navigation in unmodified and outdoor environments).

    Simple object tracking is also possible assuming the object is fairly unique in shape and color and lighting remains consistent, but color tracking alone often fails horribly. We have a several color tracking cameras (CMUCam2/3 and HaViMo2) that return a bunch of color blob properties (color, size, centroid). Because they track only color and have no significant processing on-board (no shape recognition), the cameras have to be recalibrated anytime the lighting changes (which is often). The RaspberryPi should have enough power to do some object/template matching (the OpenCV examples with the camera board are for face tracking), and you could approximate the size/distance by counting the number of pixels along any dimension of the object (an edge, the diameter, the area, etc.). If possible, it is wise to mount the camera on a pan-tilt servo assembly so that when tracking is lost you can quickly search the area for the target without moving the bot.

    Some robotic warehouse systems use wires embedded in the concrete floor to provide a path to follow (a bit like a buried wire dog fence, except the bots get punished if they leave the wire), but tape or paint would probably be the cheapest assuming no significant wear or occlusion occurs (not a vary safe assumption in warehouses). The basic concepts of this type of navigation is covered by most introductory robotics courses under "line tracer". Do not even need a camera to track a line, just a few IR LED/Photodiode pairs spaced along the bot (usually a row of them along the front and maybe another along the back, depending on how the robot turns).
    Please pardon the pedantry... and the profanity... and the convoluted speech pattern...
    "You have failed me, Brain!"
    [git][mech][hack]
    gives free advice only on public threads

  8. Re: Vision-Guided AGV

    Tician,

    Well, I haven't had much time to work on much, but a thought crossed my mind, making use of a cheap optical mouse sensor and some basic image processing techniques:
    1) The mouse sensor will detect how far the robot is moving.
    2) Gyroscope detects turning.
    3) Image Processor detects "Destination" and "Alignment".

    Actually, now that I listed it all out; it seems a bit too CPU intensive. Maybe the camera can periodically detect the size of the image? (When Image reaches this size) + (When Image is not centered)

  9. #9
    Join Date
    Sep 2010
    Location
    ಠ_ಠ
    Posts
    2,317
    Images
    27
    Rep Power
    283

    Re: Vision-Guided AGV

    I remember reading a paper a while back where someone used several of the optical flow sensors from optical mice to attempt to perform all of the odometry on a non-carpet floor. Not sure where it went, but the sensors and lens assemblies can be difficult to acquire as bare parts in small numbers. There was a company selling the assemblies mounted on one or more PCBs and selling them to hobbyists. I want to say it was parallax, but a quick search of their shop does not list it, so not sure anymore.

    Other papers I've seen include one that used a webcam looking down at the floor to detect the edges of floor tiles to help correct for rotational error caused by poor wheel odometry (turning and going straight for long distances) and another that used a webcam looking up and tracking the suspending rails of commercial ceiling tiles to do something similar.

    My brain does not want to work well right now, so less useful on the image processing side. Was thinking of sticking my raspberrypi camera in a miniature "head" with the eyes being a pair of Sharp range finders in hopes that it might eventually be the articulated head of a small humanoid robot (or another wheeled rover). Gets nice high resolution image and two relatively accurate distance measurements without much effort.
    Please pardon the pedantry... and the profanity... and the convoluted speech pattern...
    "You have failed me, Brain!"
    [git][mech][hack]
    gives free advice only on public threads

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Computer Vision
    By RoMoKo in forum Software and Programming
    Replies: 2
    Last Post: 09-23-2013, 09:01 AM
  2. RoboTurrret Vision kit vs. Trendnet?
    By Stobs in forum Mech Warfare
    Replies: 3
    Last Post: 11-25-2010, 02:02 PM
  3. Where to Start with Vision?
    By DC Robotic in forum Garage Sale
    Replies: 9
    Last Post: 06-11-2009, 02:59 PM
  4. Call to all vision robots
    By WGhost9 in forum Robot Computers
    Replies: 9
    Last Post: 03-30-2009, 08:44 PM
  5. Remote Vision System
    By DresnerRobotics in forum Mech Warfare
    Replies: 1
    Last Post: 07-19-2008, 02:46 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •