Shop OBEX P1 Docs P2 Docs Learn Events
Help with line follower build please! — Parallax Forums

Help with line follower build please!

KayduhKayduh Posts: 9
edited 2013-05-11 09:54 in General Discussion
Hey guys, so I made a huge detailed post here last night took almost an hour or so... after posting it, it said it needed to be approved or something like that before it could be posted (Dont remember exactly what it said it was 4 am and I was tired so i'm going to try to post again) So pretty much, I am trying to build a line follower robot (as a robotic hobbyist) and would like some feed back on my hardware and also the basis of how i plan on programming the robot before I actually purchase the parts and get started.

Hardware:
to be used as the base of the entire robot (chassis, motors, micro controller, etc)
to be used as the ir sensors
bluetooth to send commands wirelessly from my PC to the boe bot

I have a few questions / concerns with the hardware:
  1. I was reading in forum posts (i dont remember which post exactly but it was an old post) and stumbled across one that was saying that the boe bot kit is excellent for "simple" applications but once you start to make it more advanced it starts to be come a pain. Would building the boe bot with the QTI kit, and controlling it with blue tooth be "pushing the limits" of the boe bot's boe / micro controller?
  2. I noticed the torque of the servos is 38 oz-in, I dont exactly understand how to figure out torque in regards to how much the robot can pull / carry. But I would like to be able to pull maybe 5 lbs with the boe bot if possible, it would be across a surface with no incline and would be on wheels as well. Could anyone recommend different servos? or even dc motors?
Software (more or less my programming logic):

Let me start off by describing the track I was thinking of building. Imagine a straight path through the hall way of your house, now add an additional path going in to each bedroom / room along said hall way. So pretty much the track is one start point with end points in various rooms. I understand the logic behind using a continuous looping path that has no set start or end point, the robot will just follow the line and turn depending on the state of the sensors. However with my path, since there are various end points seems a little trickier I have been trying to figure out how to make the robot to ignore certain turns in the path because it wants to turn at the last room in the hall way rather than the first room.

The idea i had so far was to create a T - intersection at each bedroom door, the T - intersection will trigger all 4 sensors at once and in the program I will add a special case for when ever all 4 sensors are triggered simultaneously it will create a counter and increment after each intersection it passes. Now, with a "normal" line follower robot, said robot would turn right when the sensors on the right are triggered and left when the left are triggered. With the idea I had, the robot would turn either left or right (depending on which i tell it to) only when it comes to an intersection AND the counter is incremented to a certain value.

So a little example, lets say I wanted the robot to go into the third bedroom (i.e. third intersection and turn left):
  • robot senses line and moves forward
  • robot comes to first intersection, counter = 1. since counter ≠ 3, the robot does not turn and continues forward along the path
  • robot comes to second intersection, counter = 2. since counter ≠ 3, the robot does not turn and continues forward along the path
  • robot comes to third intersection, counter = 3. since counter = 3, the robot turns left and continues down the path
This logic works in my head, but can anyone give some input on it? Do you think it will actually work if applied? Is it possible to do this with pbasic? (i have never used pbasic before)

Comments

  • KayduhKayduh Posts: 9
    edited 2013-05-11 01:55
    Thank you in advance for any feedback!
  • Hal AlbachHal Albach Posts: 747
    edited 2013-05-11 05:55
    Do I understand correctly that you will be using the BOE-BOT to pull a trailer which could weigh up to 5 pounds? I would think that a major concern would be the torque needed to overcome the resting inertia of the entire load. Possibly starting up at very low speed would prevent straining the servo's tiny gear train. This is something you should be able to check out without the line following just to see if the mechanics are up to the task.
    I don't think pbasic will have a problem with what you want to do but the BS2 has only so much code space. If that becomes a problem then you might want to consider a more powerful Stamp module, such as a BS2P.
  • Mike GreenMike Green Posts: 23,101
    edited 2013-05-11 07:38
    I think you're going to have problems starting up the heavy trailer. The BoeBot itself is quite light. Its wheels have enough traction for itself, but not for a heavy load. The BoeBot will slip at the very least. You should be able to do the programming with a BS2 the way you've figured it, but the mechanical part is problematic. You need something heavier. A Stingray would be more appropriate.
  • KayduhKayduh Posts: 9
    edited 2013-05-11 07:54
    Thanks for the response guys, would it be plausible to purchase the same motors in the Stingray kit and add them to the boe bot? For the sake of saving some money instead of buying the boe bot kit and the sting ray chassis.

    Edit:

    Also would I need to purchase a motor controller such as the HB-25 to use with the motors? (I have never used DC motors before)
  • Mike GreenMike Green Posts: 23,101
    edited 2013-05-11 08:41
    The BoeBot is too small for the motors in the Stingray kit. Look at the dimensions. You need an appropriate wheelbase for the size and weight of the motors involved and, if you want to haul a load, you need enough weight for the traction needed. If you just want the robot to move from room to room, you can do it with the BoeBot. If you want to haul a 5 pound load, you have to have something bigger. It's not just the motors. For example, a BoeBot with the tank tread kit would do a better job hauling a load. The tank treads have a greater surface area than the wheels, therefore better traction. The tank treads have higher gearing than the wheels, thus more force available (and less speed).

    With DC motors, you need some sort of motor controller. The HB-25 has the advantage that it looks like a servo motor to the microcontroller. Pololu makes a variety of similar motor controllers. Look at their website. If you were using a Propeller, you would need an H-Bridge to handle the power switching for the motor, but the Propeller itself can do the other motor control functions.
  • KayduhKayduh Posts: 9
    edited 2013-05-11 09:54
    Ah okay, thanks for the input mike. So in addition to the hardware already listed I would need to also purchase the stingray chassis as well as 2 hb-25's?
Sign In or Register to comment.