Shop OBEX P1 Docs P2 Docs Learn Events
Running Eddie with Kinect and Webcam — Parallax Forums

Running Eddie with Kinect and Webcam

codysprakercodyspraker Posts: 46
edited 2012-04-13 14:33 in Robotics
I am a High School senior working on the Eddie robot during my Engineering class in school. I am having trouble controlling the Eddie Robotic platform while streaming video through Skype on a seperate webcam. The kinect and the webcam seem to interfere with each other. The setup I am trying to achieve is to place a kinect and a webcam on the eddie platform. Then, using a second computer, open a skype video chat with the added webcam. Then using an xbox 360 wireless controller, drive eddie around while looking through the video feed of the webcam. If I could find a way to use the kinect webcam in skype I would however I have not been successful with this. If anyone has been able to overcome this please let me know. Thanks!

Comments

  • xanaduxanadu Posts: 3,347
    edited 2012-03-30 14:41
    You need an SDK to use Kinect with Skype, I'd love to provide a link but I looked in my Kinect favorites list and there's like 9000 links in there to SDKs lol.

    You should use an independent web cam that way the Kinect can use its camera. IP cams work great, can be taken out of their little shell, are cheap and low voltage. D-Link has some for $60.

    What do you mean by you're having trouble controlling Eddie? What kinds of problems? How are you controlling it?
  • TLCTLC Posts: 74
    edited 2012-03-30 19:11
    Cody,

    You mentioned that you are trying to use a Kinect AND a web cam? If you are plugging them into the same USB controller that could be your problem. The Kinect is bandwidth intensive using 61% of the available bandwidth on USB 2.0. You can look at your controllers using the device manager and view by connection. Or on the default device manager view if you expand the Universal Serial Buss Controllers you will see two controllers listed. Double click one of them and pick the Advanced tab to see what is connected and the bandwidth used, ditto on the second controller.

    Generally one controller is on one side of the laptop and the other on the other side.

    Todd
  • Mike4421Mike4421 Posts: 131
    edited 2012-03-31 11:08
    @ codyspraker.... what you are trying to do sounds great.........., but there seems to be a misunderstanding...... the way the code was made for the Eddie to work with MSRDS was made with the current settings; Kinect, Motor control board, sensors, etc.....

    If say a person wants to add a simple servo in an unused pin in the propeller microcontroller (Eddie bot), then that person has to make changes to the C# code, XML code, Manifest code, and what not......

    so although your project sounds great with the SKYPE addition, you may have to rewrite a lot of code to get it to work with it, (even if there is a service for it; since it was not originally made with the Eddie program platform for MSRDS)

    you can control the Eddie with an X-Box contorller or other, but adding services that are not originally with the basic setup that came with Eddie, will require rewriting of code,.......... if you do make the services and other features like other sensors, you can prob. sell your code by buying a licence from MSRDS; thats the trade off. but keep the opensource part open; Microrontroller part Eddie or your other micro if you decide.

    OR

    You can just keep Eddie as is and just add another laptop on top with Skype running and navigate with some assitance, instead of rewriting code with some kind of LAN HTTP code for it.

    You can get info at the MSRDS forums regarding the Skype addition or other MSRDS questions.


    *Note
    As of this writing there is no Skype service with MSRDS R4 / R3, if there was it will be much easier to integrate a project to Skype.
  • codysprakercodyspraker Posts: 46
    edited 2012-03-31 16:27
    xanadu wrote: »
    You need an SDK to use Kinect with Skype, I'd love to provide a link but I looked in my Kinect favorites list and there's like 9000 links in there to SDKs lol.

    You should use an independent web cam that way the Kinect can use its camera. IP cams work great, can be taken out of their little shell, are cheap and low voltage. D-Link has some for $60.

    What do you mean by you're having trouble controlling Eddie? What kinds of problems? How are you controlling it?

    The trouble I am having is that I have the Kinect running with the Eddie on the basic Robot Dashboard and a webcam that doesn't work when I try to use skype at the same time. The Webcam is plugged in using USB and will not show video when I try to run Skype on the computer at the same time as the Eddie runtime program. My goal was to run the eddie program which uses the kinect at the same time I am using a webcam running a video chat in skype to see what the robot is doing and where it is at. However the webcam will not work and I am assuming it is due to the actively running kinect. My goal is either to allow both the kinect and webcam to work at the same time, or to allow skype to videochat using the kinect visual camera while the eddie program is running and using the kinect sensor simultaneously.
  • Mike4421Mike4421 Posts: 131
    edited 2012-04-01 23:18
    @ codyspraker..... I was look for some info at the MSRDS forums and came upon this thread....

    it looks like you can use Skype with the Kinect using MSRDS R4, wow

    heres the thread....

    http://social.msdn.microsoft.com/Forums/en-US/kinectsdk/thread/4ee6e7ca-123d-4838-82b6-e5816bf6529c

    good luck, on your project.
  • xanaduxanadu Posts: 3,347
    edited 2012-04-02 10:33
    My goal is either to allow both the kinect and webcam to work at the same time, or to allow skype to videochat using the kinect visual camera while the eddie program is running and using the kinect sensor simultaneously.

    Could you tell us what webcam you're using along side the Kinect? The other thing I have a lot of issues with are the drivers installed sometimes conflict, that is why I ask. It depends a lot on what other drivers you have installed as well, I did not use Kinect for Eddie but I've been using Primesense and OpenNI for over a year tinkering around. Sometimes the software that comes with a webcam can cause issues because it makes it so nothing else can access the hardware. It's best to uninstall any cheesy camera manager that came with it to test things out.

    If you use the Kinect camera for Skype that means the Kinect won't be able to use it (unless I'm missing something, I've tried this a few times with my Kinect). You'll probably need to stop Skype completely to get the Kinect camera back online. That SDK above will work but when I used it only one thing at a time could access the web cam part of the Kinect. Sometimes switch required a reboot of the PC.

    It sounds like an independent camera is the way to go, if it needs to be USB like they said above you may need more USB throughput than you have available. If you go into device manager you should see 'USB Root Hub'. If you do a propertied on it you can switch to a tab that shows everything plugged into that hub, just make sure the Kinect is on it's own hub.
  • codysprakercodyspraker Posts: 46
    edited 2012-04-02 10:44
    xanadu wrote: »
    Could you tell us what webcam you're using along side the Kinect? The other thing I have a lot of issues with are the drivers installed sometimes conflict, that is why I ask. It depends a lot on what other drivers you have installed as well, I did not use Kinect for Eddie but I've been using Primesense and OpenNI for over a year tinkering around. Sometimes the software that comes with a webcam can cause issues because it makes it so nothing else can access the hardware. It's best to uninstall any cheesy camera manager that came with it to test things out.

    If you use the Kinect camera for Skype that means the Kinect won't be able to use it (unless I'm missing something, I've tried this a few times with my Kinect). You'll probably need to stop Skype completely to get the Kinect camera back online. That SDK above will work but when I used it only one thing at a time could access the web cam part of the Kinect. Sometimes switch required a reboot of the PC.

    It sounds like an independent camera is the way to go, if it needs to be USB like they said above you may need more USB throughput than you have available. If you go into device manager you should see 'USB Root Hub'. If you do a propertied on it you can switch to a tab that shows everything plugged into that hub, just make sure the Kinect is on it's own hub.


    Thanks, I am presently away from the eddie for the next week since I am on spring break and I am unsure what type of webcam it is. The USB Root Hub sounds like a good step. There is a video example that uses atleast one extra webcam however whether the kinect is being used or not I cannot tell. There is usually a blinking green light on the front of the kinect when it is on and I cannot see it on in the video. Here is the link: http://www.youtube.com/watch?v=afvdZ343-vE

    I could understand if he is not using the kinect when he is using the robot and that is how he is easily able to run two webcams again however I don't know exactly how is setup works. I recently bought a fairly long range RF camera (for fun and seeing if it would be a good replacement for the webcams). It would not require skype and would be live with no internet lag. I will continue to pursue the webcam idea since I would not feel like I accomplished much by just evading the problem.
  • Mike4421Mike4421 Posts: 131
    edited 2012-04-02 11:10
    @ codyspraker... Nice video, my guess is that He's using about 4 programs, not all in 1 service....

    The Eddie code
    The Lynx Arm code
    The Ball / Kibble motor controll
    The 2 Web Cams
    All these running Concurrently in MSRDS

    The Skype app in a seperate window, for chat and internet navigation

    Its doable, gotta try something similar..... thanks for the video

    good luck in your school project.
  • Mike4421Mike4421 Posts: 131
    edited 2012-04-02 11:12
    Mike4421 wrote: »
    not all in 1 service....






    I mean the Skype app running in a diffirent window
  • xanaduxanadu Posts: 3,347
    edited 2012-04-02 13:06
    Hey have fun on spring break!

    It looks like in the video he has a separate independent webcam for Skype on a pan tilt setup. Panning and tilting independently of the Kinect is probably worth using an extra camera so you can look around while moving. Hopefully it is just the port issue. Let us know when you get back.
  • codysprakercodyspraker Posts: 46
    edited 2012-04-02 15:31
    Do you know how to put the two cameras on different ports assuming that is the problem? I am still trying to figure out if it a USB Hub problem with too much data due to the kinect or a port problem. I remember the kinect used like 5000 and 5001 for in and out for data and I am going to assume that the webcam is trying to use one of those assuming that ports are the problem.
  • Mike4421Mike4421 Posts: 131
    edited 2012-04-02 22:40
    @ codyspraker... I'm not sure if this has to do with the 5000 or 5001 port, but you will have to do the research on this, and understand how the Kinect services work, also the eddie platform. You can get the MSRDS R4 or R3 and research..... try VPL code on the services for your project with your fellow team members if you can during your Spring Break.

    Your project is do-able, hope you have fun and expand on your engineering career.
  • xanaduxanadu Posts: 3,347
    edited 2012-04-07 11:03
    Do you know how to put the two cameras on different ports assuming that is the problem? I am still trying to figure out if it a USB Hub problem with too much data due to the kinect or a port problem. I remember the kinect used like 5000 and 5001 for in and out for data and I am going to assume that the webcam is trying to use one of those assuming that ports are the problem.

    Sorry I can't help you out more I don't have an Eddie, just the Kinect and MSRDS.
  • TLCTLC Posts: 74
    edited 2012-04-10 13:55
    @codyspraker, the port issues that I'm aware of are actual physical ports relating to USB controllers. You can see these using device manager, doubleclicking on each controller and (sorry I'm not at a Win7 machine so this is memory) and pick the resources tab. This will show what is on each controller.

    As far as ports 50000 and 50001, those are ports that the DSS node uses, and I'm not sure it would be in conflict with Skype. You can bring up a command (DOS) window, fire up Skype and do a netstat -a to see what ports are active. If 50000 and 50001 aren't there, you're OK.

    I was going to try and run the standard Eddie manifest along with an external Skype camera but unfortunately my external Logitec camera is old enough that it doesn't have a Win7 driver.

    tlc
  • codysprakercodyspraker Posts: 46
    edited 2012-04-13 14:33
    Well I have managed to get into the code and disable the Kinect from running in the Eddie Direct program so I have been able to drive it through skype using only and an IP camera, not quite an optimal solution but it's better than where I was..
Sign In or Register to comment.