Shop OBEX P1 Docs P2 Docs Learn Events
Alternate Use of the Boe-Bot: MATE ROV — Parallax Forums

Alternate Use of the Boe-Bot: MATE ROV

ACKACK Posts: 12
edited 2009-03-19 14:05 in Robotics
Hello All,

I have been looking through these forums for a long time, but this is my first time posting! I'm hoping you all will be able to help me out.

I am fairly new to the robotics community, but I have worked on the Boe-Bot before. This year, our school is participating in the MATE ROV competition, which involves the construction of an underwater submarine capable of manipulating objects and observing things with a camera. It was suggested to me that I should use the Boe-Bot Board (The BASIC Stamp) To control the thrusters and possibly the arm on the robot. I have seen many posts with people using RF frequencies to control the robot but not in the way I would like to control it. The way I envision an ideal situation is having a gaming joystick plugged into a laptop, and a super long USB cord running from my laptop to the ROV that is in the pool. I was hoping I could program this all in the BASIC language, and that it would be fairly straightforward and easy to do. The power for the thrusters would run as a separate wire, and basically the BASIC stamp (Boe-Bot) would just be controlling the relays that would make the thrusters go forward, reverse, and would stop. I am planning on having 5 thrusters on the ROV, two to control the forward and reverse, three for the attitude, and two motors to control the manipulator. Controlling the speed isn't really an issue. I'm just trying to figure out how to work it all out.

If someone could provide any insight into how I could go about writing the code for this program, and whether it is possible/complicated or not, it would be most appreciated. If a joystick doesn't work, my second idea would just be to controlling the robot using the keys on the laptop. If a joystick does work, what programs would I have to download in order to make it work?

Thank you in advance, and I apologize for the long post. I looked all over these forums, and I couldn't find any answers, but I apologize if this has already been posted somewhere and I missed it.

-Alex

Comments

  • Mike GreenMike Green Posts: 23,101
    edited 2009-03-15 16:53
    There's an old forum thread (several I think) on previous ROV projects. You'll have to browse the Robots, Stamp, and Completed Projects forums to find it unless someone else happens to have a link. You might also try the Parallax Google search engine (search.parallax.com) to see if you can find it. Rather than using a laptop, they had a Stamp on each end of a communications / power cable. The one on the "console" end would read conventional joysticks using the RCTIME statement and buttons using the BUTTON statement, then transmit control data to the other Stamp in the vehicle. I think there was data coming back as well for telemetry. I don't think there was any code posted, but I could be wrong.

    None of what you want to do is complicated. Given that you've worked with a BoeBot before, you should be able to write the code.
  • ACKACK Posts: 12
    edited 2009-03-15 16:59
    Thank you for the resources Mike!

    I have used a boe-bot before, but not in the way I want to. I have always used the boe-bot to be autonomous, but I want to control it as from my computer. I'm not sure how to go about that. I also want to avoid any sort of telemetry, because I feel that it wouldn't work as well through the pool. I'm more looking for what kinds of commands I would use to pair up keyboard inputs with movement on the robot. If someone could just give me the basic command for that, that would be great!

    Thanks!
  • WhitWhit Posts: 4,191
    edited 2009-03-15 17:13
    Hey ACK,

    Here is one thread I remember from a while back - http://forums.parallax.com/showthread.php?p=710978

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Whit+


    "We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths." - Walt Disney
  • ACKACK Posts: 12
    edited 2009-03-15 18:39
    Wow, great find! Thank you for your help!

    I noticed that he used motor rheostats, how could I change it so that I could use relays instead? What would that command look like?
  • Mike GreenMike Green Posts: 23,101
    edited 2009-03-15 19:14
    Nuts and Volts Column #6 discusses control of relays, small motors, and solenoids with a Stamp. Go to the main Parallax page, click on the Resources tab and you'll see a link to the Nuts and Volts Columns index.

    There are no commands for keyboards. If you're using the downloading serial port, you'd be using the DEBUG and DEBUGIN statements or SERIN and SEROUT with a port # of 16 (which uses the downloading port). You'll need to read the sections of the Basic Stamp manual for all the statements that I've mentioned so far.

    There are lots of tutorials available via the Resources tab (Resources -> Downloads -> Stamps in Class Downloads). There are all sorts of suggestions with schematics and sample code in the Nuts and Volts Columns. Browse it all so you know what resources you can draw on.

    Post Edited (Mike Green) : 3/15/2009 7:21:00 PM GMT
  • ACKACK Posts: 12
    edited 2009-03-15 19:15
    Thanks Mike! You all have been MORE than helpful!!

    -Alex
  • P!-RoP!-Ro Posts: 1,189
    edited 2009-03-18 00:28
    I'm not sure the best route for you is DEBUG/DEBUGIN. Every time you wish to send a command you will be required to press the enter key, making it tedious and not very easy to control. I think your best bet is using a joystick like you talked about earlier. If you hooked wires to the potentiometers and hooked them to the boe in the water, it would be just like attaching it to a usb cable. Using RCTIME you could find exact positions of the joystick and feed it into the rov's speed. This would be much easier to control than using DEBUGIN.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    PG
  • UghaUgha Posts: 543
    edited 2009-03-19 12:47
    ACK: I'm afraid the long USB cable idea won't work... USB cables have a limit of a dozen feet or so (ever notice how USB cables are always short?).
    You could use cat5 cable though... its about the same price (connectors are way cheaper) and can be used for a couple hundred feet.
    That will supply you with 8·conductors you could use for either serial communication or straight on/offs. I'd recommend a second microcontroller
    connected to your laptop to receive data via DEBUG/DEBUGIN and then transmit it through the cat5 cable to the ROV's BS2.

    I think this would be the best solution with a high "ease of use" value.

    Pi Guy: I was pretty sure DEBUGIN always transmitted each letter as you typed it... some BS2 programs are designed to wait until you hit enter though. Are you sure? I could be wrong I guess.


    If you decide to go with my idea, feel free to either post here or PM me for more help setting it up.
  • DocThomasDocThomas Posts: 31
    edited 2009-03-19 14:05
    The cable limit is 5 meters a little over 16 feet. To go longer you have to use repeaters.
Sign In or Register to comment.