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

RE: [SeattleRobotics] Robotic Bee

Expand Messages
  • Dick Curtiss
    The important thing about the bee is the 3D micro construction technique. _____ From: SeattleRobotics@yahoogroups.com [mailto:SeattleRobotics@yahoogroups.com]
    Message 1 of 22 , Dec 27, 2012
    • 0 Attachment

      The important thing about the bee is the 3D micro construction technique.

       


      From: SeattleRobotics@yahoogroups.com [mailto: SeattleRobotics@yahoogroups.com ] On Behalf Of Joshua Madara
      Sent: Thursday, December 27, 2012 12:30 AM
      To: SeattleRobotics@yahoogroups.com
      Subject: Re: [SeattleRobotics] Robotic Bee

       

       

      Have you seen the robotic dragonfly? Only 5 days remaining to get one during their fundraiser: http://www.indiegogo.com/robotdragonfly

      Joshua

       

      On Wed, Dec 26, 2012 at 10:17 PM, Dick Curtiss <rcurtiss@...> wrote:

       

    • Xandon Frogget
      Thanks for your help jamericanfreddy, this was a good idea. Sometimes you have to work with what you have. I finally worked up a protocol to share the data I
      Message 2 of 22 , Feb 11, 2013
      • 0 Attachment
        Thanks for your help jamericanfreddy, this was a good idea. Sometimes you have to work with what you have. I finally worked up a protocol to share the data I needed from the 2 computers for testing and it handles the information I need to make the decisions well enough over tcp/ip. It is scalable so that is a good thing.

        -Xandon


         I still haven't gotten 2 kinects to show up on one computer properly, but it may be able to be overcome with driver modifications. 
        On Dec 18, 2012, at 12:51 PM, jamericanfreddy wrote:

        Thinking you best idea is use another computer and network them
        many professional designs use that idea and i used it too,not for 
        KINECT but another type of robot design ,and at the same time you use less cpu and memory,using one KINECT USES A LOT OF REASOURCES

      • jamericanfreddy
        I am getting ready to use almost the same design in my robots one good item about it it s hares the CPU power and memory I see 3 computers together,where one
        Message 3 of 22 , Feb 12, 2013
        • 0 Attachment
          I am getting ready to use almost the same design in my robots
          one good item about it it s hares the CPU power and memory

          I see 3 computers together,where one is the brains,another is navigation and another is motors and sensors.

          Hook them up together only need the yellow RJ45 network cable,i think its the yellow one,i forgot the type of cable its called or may be you have another way to do it.

          can you share the protocol you made
          would make mine easy to make when i am ready for it


          --- In SeattleRobotics@yahoogroups.com, Xandon Frogget wrote:
          >
          > Thanks for your help jamericanfreddy, this was a good idea. Sometimes you have to work with what you have. I finally worked up a protocol to share the data I needed from the 2 computers for testing and it handles the information I need to make the decisions well enough over tcp/ip. It is scalable so that is a good thing.
          >
          > -Xandon
          >
          >
          > I still haven't gotten 2 kinects to show up on one computer properly, but it may be able to be overcome with driver modifications.
          > On Dec 18, 2012, at 12:51 PM, jamericanfreddy wrote:
          >
          > > Thinking you best idea is use another computer and network them
          > > many professional designs use that idea and i used it too,not for
          > > KINECT but another type of robot design ,and at the same time you use less cpu and memory,using one KINECT USES A LOT OF REASOURCES
          >
        • Xandon Frogget
          ... If you are connecting 2 computers directly then a crossover cabe might be what you are talking about. Although most ethernet ports have automatic crossover
          Message 4 of 22 , Feb 13, 2013
          • 0 Attachment

            On Feb 12, 2013, at 8:32 PM, jamericanfreddy wrote:

            I see 3 computers together,where one is the brains,another is navigation and another is motors and sensors.

            Hook them up together only need the yellow RJ45 network cable,i think its the yellow one,i forgot the type of cable its called or may be you have another way to do it.

            If you are connecting 2 computers directly then a crossover cabe might be what you are talking about. Although most ethernet ports have automatic crossover now, so a crossover cable may no longer be necessary. A standard cat 5 with RJ45's will most likely work, but if you cannot get a connection then try using a cat 5 RJ45 with crossover.


            You can use many types of network nodes to connect 3 computers with cables ie switch, hub, etc. There are many options for this. I do not believe you need a crossover if you are using a node.

            If you have a reliable wifi network you could use that as well and forgo using cables. Really depends on the needs and interference expected. Distance between devices and so on.

            Most of my earlier time at the end of last year was spent connecting several micro-controllers together. Once I switched to having a laptop in line, managing the micro controllers becomes a little tedious to plug and unplug them for changing values and reprogramming.

            A useful thing I found  to help in this case was to pair a network module with the main or central micro controller, like an RNXV wifly.  When the micro controller powers up, (or the program on the laptop) it is able to use default variable to startup. It will then check on startup if the server is available and if it is, it might load newer variables. At any time I can send a command to force the updated variables or have it polled at regular intervals. Depends on what is needed. It can of course also send data the other direction allowing for those long GPS reads to get reviewed in real time on the laptop or web interface. (XBee will work as well but you need to have a proxy program to run interference.) Recently I have been setting up all my variables in a database table to be read and be written to in this way. I use MySQL now as it is part of the MAMP install.

            This made it easier to make adjustments to the program without having to plug in, reprogram, and unplug the robot. I could quickly update things without having to restart the micro controller, saving a huge amount of time. Extra useful since the micro controller was being used generally to bridge to a sensor.

            For some of this I would use the laptop computer as the proxie especially when working with XBee, but a lot of transmissions were direct http requests to the php server (part of MAMP) from the  micro controller.
            You can telnet and send http commands  since it is on the network so it could go anywhere to gather or send info if the network was open to the internet.

            The nice thing about this is once you have networked the micro controller and if you are familiar with web development then you can easily build web tools to interact with your data, allowing you to control and read the micro controller from a distance or a cell phone etc.

            All of this seems pretty logical when I was setting it up, but there are probably better ways than I described, this was just some things I have found handy. With a little bit of setup invested to route the variables I could save myself a lot of time when I started testing and refining the program.

            A book I found very helpful in the beginning and I highly recommend is called  "Making Things Talk" by Tom Igoe.

            -Xandon

          • Xandon Frogget
            I was finally able to get 2 kinects to work. After testing on a few different machines at SRS meeting, I learned a little and was able to confirm that my 2.3
            Message 5 of 22 , Feb 18, 2013
            • 0 Attachment
              I was finally able to get 2 kinects to work. After testing on a few different machines at SRS meeting, I learned a little and was able to confirm that my 2.3 Ghz intel core i7 Macbook Pro does use 2 separate hi speed busses for the 2 usb ports on the side. I also found out that a docking station can add USB ports on other laptops that may not. Theoretically the PCI MCIA cards would work this way as well.

              Here are instructions for installing:
              http://code.google.com/p/simple-openni/wiki/Installation

              The processing example MultiCam works for me now with 2 kinects since I found this thread and changed the order of the enableDepth():

              https://groups.google.com/forum/?fromgroups=#!topic/simple-openni-discuss/HY312618Qb8

              For some reason changing the order that the depth image is turned on allows it to work....?
              Sounds kind of fuzzy to me but it works.

              Basically from this:
              /* ------------------------------ */
              // init the cameras
              cam1 = new SimpleOpenNI(0,this);
              cam2 = new SimpleOpenNI(1,this);

              // enable depthMap generation
              cam1.enableDepth();
              cam2.enableDepth();
              /* ------------------------------ */

              to this... fixes it:
              /* ------------------------------ */
              // init the cameras
              cam1 = new SimpleOpenNI(0,this);
              cam2 = new SimpleOpenNI(1,this);

              // enable depthMap generation
              cam2.enableDepth();
              cam1.enableDepth();
              /* ------------------------------ */


              -Xandon
            • Xandon Frogget
              I tested on the older Macbook Pro intel core two duo 2.4 Ghz and it worked fine there now too. Not sure how the slight difference in order of enabling
              Message 6 of 22 , Feb 18, 2013
              • 0 Attachment
                I tested on the older Macbook Pro intel core two duo 2.4 Ghz and it worked fine there now too. Not sure how the slight difference in order of enabling depthImage changed it, must be a bug in SimpleOpenNI library. The important thing is it works, and so it should work on many of the same board layouts by different manufacturers. (Not just Apple).

                I hope this helps others who may be trying to integrate multiple Kinect's into their robot using processing. Another helpful technique for multiple Kinects is presented by Microsoft Research that they call "Shake 'n' Sense"


                A big thanks to MicrosoftResearch for sharing this great technique.
                -Xandon


                On Feb 18, 2013, at 4:26 AM, Xandon Frogget wrote:

                 

                I was finally able to get 2 kinects to work. After testing on a few different machines at SRS meeting, I learned a little and was able to confirm that my 2.3 Ghz intel core i7 Macbook Pro does use 2 separate hi speed busses for the 2 usb ports on the side. I also found out that a docking station can add USB ports on other laptops that may not. Theoretically the PCI MCIA cards would work this way as well.

                Here are instructions for installing:
                http://code.google.com/p/simple-openni/wiki/Installation

                The processing example MultiCam works for me now with 2 kinects since I found this thread and changed the order of the enableDepth():

                https://groups.google.com/forum/?fromgroups=#!topic/simple-openni-discuss/HY312618Qb8

                For some reason changing the order that the depth image is turned on allows it to work....?
                Sounds kind of fuzzy to me but it works.

                Basically from this:
                /* ------------------------------ */
                // init the cameras
                cam1 = new SimpleOpenNI(0,this);
                cam2 = new SimpleOpenNI(1,this);

                // enable depthMap generation
                cam1.enableDepth();
                cam2.enableDepth();
                /* ------------------------------ */

                to this... fixes it:
                /* ------------------------------ */
                // init the cameras
                cam1 = new SimpleOpenNI(0,this);
                cam2 = new SimpleOpenNI(1,this);

                // enable depthMap generation
                cam2.enableDepth();
                cam1.enableDepth();
                /* ------------------------------ */

                -Xandon


              Your message has been successfully submitted and would be delivered to recipients shortly.