Shop OBEX P1 Docs P2 Docs Learn Events
Bad Hair Day a Robot for the BS2 — Parallax Forums

Bad Hair Day a Robot for the BS2

Tony B.Tony B. Posts: 356
edited 2010-05-03 01:30 in Robotics
Well I thought I would share one of my older robots, “Bad Hair Day”, for all the BS2 guys out there. I call it “Bad Hair Day” because of all the wires going everywhere. The chassis and metal motor brackets were designed and made by me. The robot has 4 wheel drive and 4 wheel steering being guided by a lone Ping sensor. I first started with a BOE but soon moved to a Super Carrier board with a BS2. Because of the traces on the Super Carrier Board I have access to all 16 pin either through 3 pin headers or sockets (I will do a post on how to make it later on). To take a huge load off the BS2 in controlling 7 servos I added the Propeller Servo Controller. For power I am using two Parallax battery packs with the boosters added. One is for the control board and ping sensor the other just for powering the servos through the servo controller. Note I added a switch to the board power supply because the Super Carrier board doesn’t have a power switch.

Future additions will include one battery source through recharable RC type battery, a rear Ping, bump sensors on front (you will see why they’re needed in the video), compass, GPS and whatever else I come up with. I know what you’re thinking, the BS2 can’t handle it, but I have a future surprise planned.

In the video I left the errors in to show the issues of running on only one ping. I have also posted the code I am running the robot on to help others learn from what I have done. Please realize that this is version 4. I found it very interesting learning how to work within the memory and variable limits of the BS2 especially in storing commands for controlling the servos.



Parts List – Most Items are from Parallax

4 – Continuous Rotation Servos with wheels

3 – Standard Servos

2 – Battery Packs with Boosters

1 – Super Carrier board (added items: 3 pin headers, sockets, button switch for starting program running)

1 – USB to Serial Adaptor

1 – Basic Stamp 2

1 – Propeller Servo Controller Board

1 – Ping Sensor

1 – Homemade Ping Sensor Mount modeled right from Parallax’s design

1 – Homemade chassis, servo motor mounts, and steering links

1 – Toggle switch and post

1 – Work Stand, I think every robot needs a good work stand. A work stand makes it very easy work on the robot and test code. See pictures below.




Hope you enjoy! If you have any questions don’t hesitate to post them. Posting is better than a PM because others can benefit from the discussion.

As with my other designs I'm setting up my woodshop to start making the chassis and components and sell them as kits.

Video link

Tony

Post Edited (Tony B.) : 5/18/2010 2:35:40 PM GMT
640 x 480 - 179K
640 x 480 - 224K
640 x 480 - 201K
640 x 480 - 222K

Comments

  • ercoerco Posts: 20,256
    edited 2010-04-27 03:44
    Neat robot! I like your simple 4-wheel steering. Any way to toe in the front wheels and toe out the rear wheels so you could pivot in place?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·"If you build it, they will come."
  • Tony B.Tony B. Posts: 356
    edited 2010-04-27 12:35
    Erco,

    It’s interesting that you asked that question because that was one of the original design ideas for this robot. When I was building/designing the chassis my dad and I one Sunday afternoon worked on the pivoting in one place and realized it wasn't going to work with this chassis. We determined that the reason it wouldn't work on this chassis, as I had thought, was because the pivot points for the four wheels must form a square. Thus all wheels would be following the same radius when pivoting. As it is now they wouldn't, that is, the robot is longer than it is wide. Other than that change all you would need is two more steering servos. Thus you would have a servo for each wheel.

    Thanks for reminding me that I was going to build another chassis to work this out. I'll work on the pivoting in one place this week.

    Thanks
    Tony
  • WhitWhit Posts: 4,191
    edited 2010-04-27 15:46
    @Tony B.

    Looks and works great! I love the video with all the real life bumps and situations. I seems to get itself out of trouble pretty well.

    Also - you don't have to sell me on a work stand - I think it always a great idea.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    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
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-05-01 10:08
    Tony B., job well accomplished. It immediately reminded me of the NASA Mars Rover, which shows how much work you put into this project.

    humanoido
  • Martin_HMartin_H Posts: 4,051
    edited 2010-05-01 13:09
    That's pretty cool. It looks like you only have a Ping for collision detection?
  • WhitWhit Posts: 4,191
    edited 2010-05-01 14:02
    Tony B,

    I think you could turn in place with a rectangular chassis, but you would have to steer each wheel independently. With out that ability (that is independent steering for each wheel) I don't believe even the square chassis configuration would work.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    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
  • Tony B.Tony B. Posts: 356
    edited 2010-05-02 22:35
    humanoido,· thanks for your kind words.· This chassis is version number two. ·The original took about a month from idea to built chassis.· It only took one evening to cut out the parts and build the chassis.· To build this version I added the tail section for the battery holder.· The thing that took a lot of time was the programming.· Like I said above working within the constraints of the BS2 variable space and EEPROM proved to be the challenge.· I am very pleased with the results and look to add a compass and QTIs for developing some indoor navigation competitions for Bad Hair Day.
    ·
    Martin_H, you are correct I am only using one Ping sensor for collision detection.· I hope to develop, if possible, a scanning routine to better evaluate the environment while the robot is moving.· I hope this will help detect objects that are missed when the ping just points forward and the angle from the ping to object doesn't allow a return signal.· Also, a couple of wire bumpers in front of the wheels would help as well.
    ·
    Whit, you are correct that we would need a steering servo on each wheel.· That was in the original design.· To clarify the issue with the rectangle chassis, to get the rectangle chassis to turn in place you would need (I believe haven't tested yet) I large amount of toe in to match the need angle to turn in place.· My Dad and I believed this to be well out of the degrees of movement for a standard servo.· That is why we were led to a square chassis idea.· With the square you would need less degrees of toe in to allow the robot to turn in place because the center would be equal distance from each pivot point· as well as, each pivot point the same distance for the other.· I have included a drawing to help further or just confuse this discussion.· I’m not a math wizard, so I feel the best choice for me is to build a square and rectangle chassis (which I already have)to test the idea.
    ·
    Thanks,
    Tony
    800 x 600 - 32K
  • WhitWhit Posts: 4,191
    edited 2010-05-03 01:07
    Tony - I get you now. Let us know how the tests proceed.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    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
  • Martin_HMartin_H Posts: 4,051
    edited 2010-05-03 01:30
    Tony B, that's good to hear because for my latest bot that's all I plan to use as well. So it is good to see you robot perform so well using just that sensor. I would really like to see any code you develop for the Ping.

    Over in my Mashup Robot thread I posted the code I am currently using for a Ping sweep. I borrowed the idea from the Roaming with BOEbot code. My code looks at -90, -45, 45, 90, and then re-centers to 0 degrees from straight. It returns this array in the scratch pad so the calling program can choose the best direction based upon the measurement and the criteria.
Sign In or Register to comment.