Shop OBEX P1 Docs P2 Docs Learn Events
Eddie and using vplexplorer.mvpl — Parallax Forums

Eddie and using vplexplorer.mvpl

harlandharland Posts: 6
edited 2012-09-08 13:19 in Robotics
I have been trying to get the vplexplorer.mvpl (chapter 12) code to run on Eddie. I cannot figure out how to change the SickLaserFinder to work with the Kinect or sonar array on Eddie.
720 x 1309 - 144K
1024 x 768 - 169K

Comments

  • u.asifu.asif Posts: 21
    edited 2012-09-05 19:56
    Hi,

    I am also trying to communicate with eddie robot using VPL. Uptill now, I have only been successful in driving the robot using the eddieobstacleavoid.manifest with a genericdifferentialdrive service. Any ideas, how to read the on-board sensors in VPL? Like are there any existing services to read the eddie sensors like the services which are available for LegoNXT robots? Any suggestions?

    Thanks
  • harlandharland Posts: 6
    edited 2012-09-06 08:15
    I have done the same thing, insert the Eddie.Manifest.xml into the GenericDifferentialDrive. The Xbox joystick works and you can drive it around but I can get not get any input data to function (Kinect, IR sensors, sonar). I want "Eddie" to wander around my shop but be able to switch for operator control. This is what the vplexporer code does in simulation.
  • TLCTLC Posts: 74
    edited 2012-09-07 09:46
    Drag the Parallax2011ReferencePlatformIOController service onto your diagram. Use a Data block as input and "Get(Analog-Digital Pin Array)" . Use a calculate block to extract the message, which is a value in an array so you need to use "Pins[0].PinValue to get the value from the first I/R sensor.

    Eddie Get AD Pin Value.GIF


    The same goes for the GPIO pins, except that you "Get (General Purpose IO Pin Array).

    Todd
    872 x 386 - 30K
  • u.asifu.asif Posts: 21
    edited 2012-09-07 20:57
    Thanks Todd for the guidance. Much appreciate your help.
  • u.asifu.asif Posts: 21
    edited 2012-09-07 21:27
    TLC wrote: »
    Drag the Parallax2011ReferencePlatformIOController service onto your diagram. Use a Data block as input and "Get(Analog-Digital Pin Array)" . Use a calculate block to extract the message, which is a value in an array so you need to use "Pins[0].PinValue to get the value from the first I/R sensor.

    Eddie Get AD Pin Value.GIF


    The same goes for the GPIO pins, except that you "Get (General Purpose IO Pin Array).

    Todd

    If I connect a RC servo (Hitec) on the eddie control board. Can I drive it by sending a PWM signal from VPL using the same Parallax2011ReferencePlatformIOController service? In that case, should I need to "Set" the appropriate GPIO pin. Please advise.

    Thanks
  • TLCTLC Posts: 74
    edited 2012-09-08 13:19
    Unfortunately it will be a little harder than that. It wouldn't work very well to send a PWM signal over the serial connection from VPL to Eddie. What you really need to do is to go to the Eddie firmware and add a new command to the main program. You also need to add the resulting PWM code to (probably) one of the two available Cogs. You can test your code by connecting to Eddie using the Parallax Serial Terminal and sending your new command. Once that works you then need to get into the ParallaxIOController service using C# and add a new message receiver and the handler code that essentially adds the command to the service. Recompile the service and test.

    I'm doing this to add a stepper motor to Eddie. Same process really, but I'm not finished, so will be able to offer better advice in the indeterminate future.

    Todd
Sign In or Register to comment.