Loading ...
Sorry, an error occurred while loading the content.

Re: [SeattleRobotics] Re: Robomagellan cone color(s) and cmvision

Expand Messages
  • Will Smith
    I found having sliders in a setup utility to adjust the desired HSV and the threshold ranges really help dial it in to the point where all it sees is the
    Message 1 of 15 , Feb 22, 2013
    • 0 Attachment

      I found having sliders in a setup utility to adjust the desired HSV and the threshold ranges really help "dial it in" to the point where all it sees is the uniquely artificial highway orange. OpenCV has a nice simplified slider control for such experiments. Then I just hit a key and it stores the settings in a file, which the robot loads at run time. Being able to tweak it could be handy if the cone on contest day is a different hue than my test cones!

      Haven't even started on the final chassis yet, so going to experiment using the Vex platform interfaced (simply via serial) to a netbook running ROS.

      That cm vision module looks useful, shall have to take a look. Might tweak it to publish cones found along with confidence and estimated range and bearing. Planning on using Groovy or possibly Fuerte build of  ROS, depends on which is more stable (fuerte was pretty unstable when I first got it running.)

    • KM6VV
      Hi Will, Is there a slider node in ROS we can use? I figured I d have to re-train for the real show. My chassis is built, and I m testing it, but I m still
      Message 2 of 15 , Feb 22, 2013
      • 0 Attachment
        Hi Will,

        Is there a slider node in ROS we can use? I figured I'd have to
        re-train for the real show.

        My chassis is built, and I'm testing it, but I'm still having problems
        with the motor drive belts ratcheting. But that's another problem.

        I like the idea of publishing confidence, estimated range and bearing.
        The blobs are a published topic, cmvision can "track" multiple cones.
        The area is published, which could be used to sort out some of the
        noise. Or write my own blobs as you suggest.

        I'm staying back on electric, as long as I can.

        Alan KM6VV

        On 2/22/2013 7:49 AM, Will Smith wrote:
        >
        >
        > I found having sliders in a setup utility to adjust the desired HSV and
        > the threshold ranges really help "dial it in" to the point where all it
        > sees is the uniquely artificial highway orange. OpenCV has a nice
        > simplified slider control for such experiments. Then I just hit a key
        > and it stores the settings in a file, which the robot loads at run time.
        > Being able to tweak it could be handy if the cone on contest day is a
        > different hue than my test cones!
        >
        > Haven't even started on the final chassis yet, so going to experiment
        > using the Vex platform interfaced (simply via serial) to a netbook
        > running ROS.
        >
        > That cm vision module looks useful, shall have to take a look. Might
        > tweak it to publish cones found along with confidence and estimated
        > range and bearing. Planning on using Groovy or possibly Fuerte build of
        > ROS, depends on which is more stable (fuerte was pretty unstable when I
        > first got it running.)
        >
        >
      • Max Cato
        Hi guys,   This might be way out of left field (I haven t been following this thread closely, but I noticed you re doing blob and color detection), but have
        Message 3 of 15 , Feb 22, 2013
        • 0 Attachment
          Hi guys,
           
          This might be way out of left field (I haven't been following this thread closely, but I noticed you're doing blob and color detection), but have you looked into using AForge.NET? It's a free library for vision and also several other concepts that dovetail nicely (neural networks, etc).  
           
          -Max

          From: KM6VV <KM6VV@...>
          To: SeattleRobotics@yahoogroups.com
          Sent: Friday, February 22, 2013 9:44 AM
          Subject: Re: [SeattleRobotics] Re: Robomagellan cone color(s) and cmvision
           
          Hi Will,

          Is there a slider node in ROS we can use? I figured I'd have to
          re-train for the real show.

          My chassis is built, and I'm testing it, but I'm still having problems
          with the motor drive belts ratcheting. But that's another problem.

          I like the idea of publishing confidence, estimated range and bearing.
          The blobs are a published topic, cmvision can "track" multiple cones.
          The area is published, which could be used to sort out some of the
          noise. Or write my own blobs as you suggest.

          I'm staying back on electric, as long as I can.

          Alan KM6VV

          On 2/22/2013 7:49 AM, Will Smith wrote:
          >
          >
          > I found having sliders in a setup utility to adjust the desired HSV and
          > the threshold ranges really help "dial it in" to the point where all it
          > sees is the uniquely artificial highway orange. OpenCV has a nice
          > simplified slider control for such experiments. Then I just hit a key
          > and it stores the settings in a file, which the robot loads at run time.
          > Being able to tweak it could be handy if the cone on contest day is a
          > different hue than my test cones!
          >
          > Haven't even started on the final chassis yet, so going to experiment
          > using the Vex platform interfaced (simply via serial) to a netbook
          > running ROS.
          >
          > That cm vision module looks useful, shall have to take a look. Might
          > tweak it to publish cones found along with confidence and estimated
          > range and bearing. Planning on using Groovy or possibly Fuerte build of
          > ROS, depends on which is more stable (fuerte was pretty unstable when I
          > first got it running.)
          >
          >
        • KM6VV
          Sounds interesting, but would need to be bridged into ROS. That s *advanced*, I m a *ROS BEGINNER*. (but I like it). Alan KM6VV
          Message 4 of 15 , Feb 22, 2013
          • 0 Attachment
            Sounds interesting, but would need to be "bridged" into ROS. That's
            *advanced*, I'm a *ROS BEGINNER*. (but I like it).

            Alan KM6VV

            On 2/22/2013 10:48 AM, Max Cato wrote:
            >
            >
            > Hi guys,
            > This might be way out of left field (I haven't been following this
            > thread closely, but I noticed you're doing blob and color detection),
            > but have you looked into using AForge.NET? It's a free library for
            > vision and also several other concepts that dovetail nicely (neural
            > networks, etc).
            > -Max
          • Max Cato
            Interesting. I hadn t looked into ROS before. Looks like a little Linux based pakage for controlling robots. Does the robot have to be completely autonomous,
            Message 5 of 15 , Feb 22, 2013
            • 0 Attachment
              Interesting. I hadn't looked into ROS before. Looks like a little Linux based pakage for controlling robots. Does the robot have to be completely autonomous, or can it do all of it's thinking elsewhere? If the latter, then it'd be possible to just have the robot send its status/data via an ad-hoc wifi network, and have a computer with the AForge.NET application send commands back.
               
              Otherwise, yeah, there's definitely an integration headache. I'm not sure how dependent AForge.NET is on specific Windows .NET architecture, but it *may* be possible to compile it with Mono on Linux.
               
              Either way, yeah, sounds like it's more of a "would be nice" thing that would take a while to get up and running.

              From: KM6VV <KM6VV@...>
              To: SeattleRobotics@yahoogroups.com
              Sent: Friday, February 22, 2013 11:13 AM
              Subject: Re: [SeattleRobotics] Re: Robomagellan cone color(s) and cmvision
               
              Sounds interesting, but would need to be "bridged" into ROS. That's
              *advanced*, I'm a *ROS BEGINNER*. (but I like it).

              Alan KM6VV

              On 2/22/2013 10:48 AM, Max Cato wrote:
              >
              >
              > Hi guys,
              > This might be way out of left field (I haven't been following this
              > thread closely, but I noticed you're doing blob and color detection),
              > but have you looked into using AForge.NET? It's a free library for
              > vision and also several other concepts that dovetail nicely (neural
              > networks, etc).
              > -Max
            • KM6VV
              Hi Max, Well, I wouldn t call it little, there is a large base of packages to run on it for a variety of bots. ROS is a middle-ware layer running on Linux.
              Message 6 of 15 , Feb 22, 2013
              • 0 Attachment
                Hi Max,

                Well, I wouldn't call it little, there is a large base of packages to
                run on it for a variety of 'bots. ROS is a "middle-ware" layer running
                on Linux. Nodes are connected via messages, and they can easily be on
                different processors via serial, LAN or WiFi. Look at the turtlebot or
                Neato XVII ports to see it implemented. It WILL take a while to get
                everything up and running (as I'm finding out), and to learn all the
                in's and out's of ROS. Turtlebot runs along with a workstation also
                running ROS, and talks to the turtlebot (a PC on top of a iRobot Create.

                Alan KM6VV

                On 2/22/2013 12:20 PM, Max Cato wrote:
                >
                >
                > Interesting. I hadn't looked into ROS before. Looks like a little Linux
                > based pakage for controlling robots. Does the robot have to be
                > completely autonomous, or can it do all of it's thinking elsewhere? If
                > the latter, then it'd be possible to just have the robot send its
                > status/data via an ad-hoc wifi network, and have a computer with the
                > AForge.NET application send commands back.
                > Otherwise, yeah, there's definitely an integration headache. I'm not
                > sure how dependent AForge.NET is on specific Windows .NET architecture,
                > but it *may* be possible to compile it with Mono on Linux.
                > Either way, yeah, sounds like it's more of a "would be nice" thing that
                > would take a while to get up and running.
                >
              • Max Cato
                Very cool. Thanks for turning me on to this. I m definitely going to give it a more in-depth look :) -Max ________________________________ From: KM6VV
                Message 7 of 15 , Feb 22, 2013
                • 0 Attachment
                  Very cool. Thanks for turning me on to this. I'm definitely going to give it a more in-depth look :)
                  -Max
                  From: KM6VV <KM6VV@...>
                  To: SeattleRobotics@yahoogroups.com
                  Sent: Friday, February 22, 2013 1:15 PM
                  Subject: Re: [SeattleRobotics] Re: Robomagellan cone color(s) and cmvision
                   
                  Hi Max,

                  Well, I wouldn't call it little, there is a large base of packages to
                  run on it for a variety of 'bots. ROS is a "middle-ware" layer running
                  on Linux. Nodes are connected via messages, and they can easily be on
                  different processors via serial, LAN or WiFi. Look at the turtlebot or
                  Neato XVII ports to see it implemented. It WILL take a while to get
                  everything up and running (as I'm finding out), and to learn all the
                  in's and out's of ROS. Turtlebot runs along with a workstation also
                  running ROS, and talks to the turtlebot (a PC on top of a iRobot Create.

                  Alan KM6VV

                  On 2/22/2013 12:20 PM, Max Cato wrote:
                  >
                  >
                  > Interesting. I hadn't looked into ROS before. Looks like a little Linux
                  > based pakage for controlling robots. Does the robot have to be
                  > completely autonomous, or can it do all of it's thinking elsewhere? If
                  > the latter, then it'd be possible to just have the robot send its
                  > status/data via an ad-hoc wifi network, and have a computer with the
                  > AForge.NET application send commands back.
                  > Otherwise, yeah, there's definitely an integration headache. I'm not
                  > sure how dependent AForge.NET is on specific Windows .NET architecture,
                  > but it *may* be possible to compile it with Mono on Linux.
                  > Either way, yeah, sounds like it's more of a "would be nice" thing that
                  > would take a while to get up and running.
                  >
                • Will Smith
                  The slider feature I m using is specific to OpenCV and is part of the UI code along with window display, and is just a convenience. Under the hood it is just a
                  Message 8 of 15 , Feb 22, 2013
                  • 0 Attachment
                    The slider feature I'm using is specific to OpenCV and is part of the UI code along with window display, and is just a convenience. Under the hood  it is just a simple Qt framework slider. We've written Qt-based OCU UI's for ROS at work so it's possible to get the same effect. I'm not sure if there are "out of the box" slider controls in ROS but you may be able to find one in the many, many packages :)

                    My current implementation is just standalone and the ROS version will probably be heavily mutated, as of now I'm just saving a text file (specifically YAML format) which would could be easily tweaked at the last minute.

                    Max, I'd definitely take a look at ROS! It's a huge effort. 

                    Here are the videos from ROSCon last year, they cover a lot of the major features:


                    -Will
                    KF7LGG

                  • KM6VV
                    Sounds like a future project. There is a blobfinder in the cmvision package(s), so I can at lest learn the color of a cone. Thanks for the ROSCon 2012
                    Message 9 of 15 , Feb 22, 2013
                    • 0 Attachment
                      Sounds like a future project. There is a "blobfinder" in the cmvision
                      package(s), so I can at lest "learn" the color of a cone.

                      Thanks for the ROSCon 2012 link;

                      Alan KM6VV

                      On 2/22/2013 4:10 PM, Will Smith wrote:
                      >
                      >
                      > The slider feature I'm using is specific to OpenCV and is part of the UI
                      > code along with window display, and is just a convenience. Under the
                      > hood it is just a simple Qt framework slider. We've written Qt-based
                      > OCU UI's for ROS at work so it's possible to get the same effect. I'm
                      > not sure if there are "out of the box" slider controls in ROS but you
                      > may be able to find one in the many, many packages :)
                      >
                      > My current implementation is just standalone and the ROS version will
                      > probably be heavily mutated, as of now I'm just saving a text file
                      > (specifically YAML format) which would could be easily tweaked at the
                      > last minute.
                      >
                      > Max, I'd definitely take a look at ROS! It's a huge effort.
                      >
                      > Here are the videos from ROSCon last year, they cover a lot of the major
                      > features:
                      >
                      > http://roscon.ros.org/2012/?page_id=33
                      >
                      > -Will
                      > KF7LGG
                      >
                    • robotMaker
                      Orange is a unique color?     Agreed, meant to be easily seen. Not used much in nature perhaps?     Not in nature but used by people s clothing.
                      Message 10 of 15 , Feb 23, 2013
                      • 0 Attachment
                        Orange is a unique color?
                            Agreed, meant to be easily seen.

                        Not used much in nature perhaps?
                            Not in nature but used by people's clothing.



                        From: KM6VV <KM6VV@...>
                        To: SeattleRobotics@yahoogroups.com
                        Sent: Friday, February 22, 2013 12:17 AM
                        Subject: Re: [SeattleRobotics] Re: Robomagellan cone color(s) and cmvision



                        Hi Will,

                        Thanks very much for the tips.  Hadn't heard of BGR.  I did get my cmvision running, but not great results from my first experiments.  I will try to add some of your steps. 

                        Orange is a unique color?  Not used much in nature perhaps?

                        Thanks and 73!

                        Alan  KM6VV

                        On 2/21/2013 9:38 PM, Will Smith wrote:
                        Hi Alan,
                        I use OpenCV for my cone finder implementation. OpenCV is an included component of ROS as well. I demoed it at the SRS meeting last month.
                        I wrote the prototype in python but will probably port it over to C++ for easier integration with libv4l (using a webcam.)
                        A brief rundown of what I do. Typing on my tablet so please excuse brevity!
                        - Acquire frame and perform lens correction. OpenCV uses BGR instead of RGB. Convert to HSV. In my app I display the HSV value at the cursor position. A color picker... in this case I choose cone color. I also have sliders to choose tolerances for the next stage.
                        - Using the color and three tolerance bands I call the opencv inRange function. This is a thresholding operation that will isolate the cone(s) color. Note that red wraps around the H axis at 255. I then threshold again to a 1 bit image.
                        - Perform a dilation to make unified, measurable blobs.
                        - Acquire contours. Throw out anything too small or large for expected range. I also check center of mass for the contour to isolate cone shape, along with size ratio checks.
                        - measure blob height and calculate estimated range.
                        Hope that helps. This method is pretty robust and flexible, thanks to the cone's unique color!
                        Will
                        KF7LGG





                      • Robert Dyer
                        I see these next to the freeways every spring. ... From: robotMaker robotmeiker@yahoo.com Orange is a unique color? Agreed, meant to be easily seen. Not used
                        Message 11 of 15 , Feb 25, 2013
                        • 0 Attachment
                          I see these next to the freeways every spring.



































































                          From: "robotMaker" robotmeiker@...
                           

                          Orange is a unique color?
                              Agreed, meant to be easily seen.

                          Not used much in nature perhaps?
                              Not in nature but used by people's clothing
                        • KM6VV
                          I wonder if my bot likes em? Alan KM6VV
                          Message 12 of 15 , Feb 25, 2013
                          • 0 Attachment
                            I wonder if my 'bot likes 'em?

                            Alan KM6VV

                            On 2/25/2013 8:37 AM, Robert Dyer wrote:
                            >
                            >
                            > I see these next to the freeways every spring.
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            >
                            > ------------------------------------------------------------------------
                            > *From*: "robotMaker" robotmeiker@... <mailto:robotmeiker@...>
                            >
                            > Orange is a unique color?
                            > Agreed, meant to be easily seen.
                            >
                            > Not used much in nature perhaps?
                            > Not in nature but used by people's clothing
                            >
                            >
                            >
                            >
                          Your message has been successfully submitted and would be delivered to recipients shortly.