Shop OBEX P1 Docs P2 Docs Learn Events
propeller robot universal code open source project! — Parallax Forums

propeller robot universal code open source project!

SovrSovr Posts: 12
edited 2012-02-01 08:35 in Propeller 1
Hello everyone, it has been a very long time since I have been on the forum. I decided to start a google code project that will have a propeller chip application for robots. How this is going to work is you can post a function on the thread or post the function on the project page from google code url is http://code.google.com/p/universal-spin-propeller-code-for-robots/. If you do just want to post on the thread then I will make sure I will update the spin code file on this thread. Any ideas or functions are welcome as long as they work, and make sure you have a description on what the function does. Here is an example:

PUB add(a,b) | c
c := a + b
return c

*the function adds two variables!
project propeller.zip

updates:
+added blink command 1/30/2012
+added advance blink command 1/31/2012
+added servo driver functions 1/31/2012

Comments

  • Duane DegnDuane Degn Posts: 10,588
    edited 2012-01-31 08:52
    Sovr,

    This is rather an ambitious project since a lot (most?) Propeller code could have applications in robotics. You could end up with a awful lot of code.

    One thing I've been thinking about is having some sort of communication protocol for robot controllers to communicate with robots. I have several different robots and several different controllers (or remotes). I've been trying to establish some sort of protocol that will let me use any of the controllers with any of the robots.

    I believe Odd Bit Collector has worked on a system that can use multiple game controllers. I've have at least one controller that can use either a Wii Nunchuck or a PlayStation 2 as the controller interface (I need to come up with a better word than controller to describe these things).

    I had a thought (a very impractical one) of having a shared protocol that many Propeller Heads used so when we all show up to a Propeller Expo we could use our own remotes to control a fellow Propeller Head's robot(s) (with permission of course).

    I don't have a protocol I like yet but I'll share some other Propeller software I think would be useful in programming robots.

    Here's a link to another LED blinker. It lets one use any (and all) I/O pins to blink a LED. I actually wrote it for a forum member who wanted to be able to blink more than one LED at a time with his Eddie robot.

    Another piece of useful Propeller software (IMO) is the QuickStart servo tester. There is also a very simple Servo32v7 demo in post #15 of the servo tester thread.

    Speaking of servos, I also started a thread (yesterday I believe) demonstrating the Propeller's ability to drive 32 servos. Post #4 of the thread shows the difference between linear servo motion and what I've been calling "pseudosinusoidal" motion. (I hope pseudosinusoidal in an accurate description because it's such a fun word to say. Psudosinusoidal servos sell sea shells by the sea shore. (Now that I think about it a bit more, it should really be two words (pseudo sinusoidal).))

    This could turn into a very long list.

    I've been trying to keep an index of my projects and other forum posts I want to be able to find again (there is a link in my signature). There are a lot of links to code that would be useful in programming a robot.
  • gclousegclouse Posts: 5
    edited 2012-01-31 10:58
    I have a Quickstart board and am working on a simple IR transmitted to control some Wowwee robots. I found the ir protocol documented on the web. I am using 2 cogs. one pulses pin 9 to get e 39.2 khz carrier signal, the other encodes the data to Pin 11. With an IR led and limiting resistor in series across pins 9 and 11, setting 11 disables the led and clearing it enables the led.
    At this time, I am getting some mixed results. The bot I'm testing with seems to respond, but acts like its not getting all the data. The IR format uses a short lead-in, a 4 bit model identifier and an 8 bit data field.My initial goal is to generate the signals so I can record them in a trainable remote for use with the robots without the original remote.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2012-01-31 11:31
    gclouse wrote: »
    I have a Quickstart board and am working on a simple IR transmitted to control some Wowwee robots. I found the ir protocol documented on the web. I am using 2 cogs. one pulses pin 9 to get e 39.2 khz carrier signal, the other encodes the data to Pin 11. With an IR led and limiting resistor in series across pins 9 and 11, setting 11 disables the led and clearing it enables the led.
    At this time, I am getting some mixed results. The bot I'm testing with seems to respond, but acts like its not getting all the data. The IR format uses a short lead-in, a 4 bit model identifier and an 8 bit data field.My initial goal is to generate the signals so I can record them in a trainable remote for use with the robots without the original remote.

    gclouse, welcome to the forum.

    I think adding IR communication protocols would be a good addition to Sovr's robot code project. I hope you'll post a link in this thread to the protocol documentation you found.

    You probably ought to start a new thread in the Propeller forum to ask a question about your current project. When you start the new thread, it would really help if you post the code you're using. It can really help to have another set of eyes look over your code.

    There are a lot forum members who have done IR communication projects that should be able to help you. (I've just dabbled in it myself.)

    This sounds like a very cool project. Are you using the QuickStart's touchpads as inputs? (Answer this (preferably and if you want to) in the new thread.)
  • SovrSovr Posts: 12
    edited 2012-01-31 14:40
    thanks everyone for your posts! and welcome gclouse to the forum :-) I am personally not new in the forums but have never really posted anything, but with the project, I am currently updating the code so it will have the functions that where posted! It should be updated later (as in 10-11pm maybe 12pm) tonight with help files for the code also.

    edit: I live in Michigan so the time zones might be different!
  • SovrSovr Posts: 12
    edited 2012-01-31 17:00
    Ok I have a new update of the code, but the interesting thing is the help file system! it is an AI (some what) type of program that displays the functions and how they work but also have a voice program built in to help you. This is still being worked on but I need people to try this out! thanks :-)
  • fixmaxfixmax Posts: 91
    edited 2012-02-01 08:35
    Duane Degn wrote: »
    Sovr,

    This is rather an ambitious project since a lot (most?) Propeller code could have applications in robotics. You could end up with a awful lot of code.

    One thing I've been thinking about is having some sort of communication protocol for robot controllers to communicate with robots. I have several different robots and several different controllers (or remotes). I've been trying to establish some sort of protocol that will let me use any of the controllers with any of the robots.

    I believe Odd Bit Collector has worked on a system that can use multiple game controllers. I've have at least one controller that can use either a Wii Nunchuck or a PlayStation 2 as the controller interface (I need to come up with a better word than controller to describe these things).

    I had a thought (a very impractical one) of having a shared protocol that many Propeller Heads used so when we all show up to a Propeller Expo we could use our own remotes to control a fellow Propeller Head's robot(s) (with permission of course).

    I don't have a protocol I like yet but I'll share some other Propeller software I think would be useful in programming robots.

    Here's a link to another LED blinker. It lets one use any (and all) I/O pins to blink a LED. I actually wrote it for a forum member who wanted to be able to blink more than one LED at a time with his Eddie robot.

    Another piece of useful Propeller software (IMO) is the QuickStart servo tester. There is also a very simple Servo32v7 demo in post #15 of the servo tester thread.

    Speaking of servos, I also started a thread (yesterday I believe) demonstrating the Propeller's ability to drive 32 servos. Post #4 of the thread shows the difference between linear servo motion and what I've been calling "pseudosinusoidal" motion. (I hope pseudosinusoidal in an accurate description because it's such a fun word to say. Psudosinusoidal servos sell sea shells by the sea shore. (Now that I think about it a bit more, it should really be two words (pseudo sinusoidal).))

    This could turn into a very long list.

    I've been trying to keep an index of my projects and other forum posts I want to be able to find again (there is a link in my signature). There are a lot of links to code that would be useful in programming a robot.


    Speaking of an interfacing protocol, have you looked at this? It focuses on RobotBasic and the Propeller, but can be applied to any protocol.

    http://www.amazon.com/gp/product/1438272847?ie=UTF8&tag=roanco-20&linkCode=xm2&camp=1789&creativeASIN=1438272847

    Its a great book. It mostly applies to PC to prop protocol, but the methodology could be applied to any other interface for that matter, prop-prop, prop-PC, prop-arduino, whatever.
Sign In or Register to comment.