Forum Replies Created

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #2158
     Wyldhunt
    Participant

    If this is the first time that you’ve used wheelchair motors, take note of the brake system.
    In most wheelchair motors, the brakes are Normally Closed. Thus, the brakes are released by applying voltage to the brake system. That throws a lot of people at first.
    There are usually 2 wires that are the same color (Often white). Those would be the brakes. The other 2 (Probably red and black) control the motor itself.

    #1949
     Wyldhunt
    Participant

    A couple final notes that occurred to me:

    When choosing a motor, I highly recommend choosing one with a planetary gear box. They tend to be more expensive, but they are well worth it. They are quieter. They are more efficient (Use less power). They have less power drop from the gears (More power to your wheels). In short, planetary gear boxes are superior to a standard gear box in nearly every way. If you can afford them, always choose planetary gearboxes for your motors.
    (You’ll notice that the motors SDR recommended are planetary.)

    I mentioned that using a PID controller would be very helpful in a robot that needs to remain as stable as possible.
    Here is a (External Website) link to the blog of the person who created the PID library for Arduino. If you’re using Arduino, this could save you a lot of time. If not, it could still demonstrate what is involved in making a PID controller yourself:

    http://brettbeauregard.com/blog/category/pid/

    You’ll probably want to check his older entries first, where he’s explaining the concepts and code for his controller in detail.

    #1938
     Wyldhunt
    Participant

    While we wait for SDR to reply, I’ll throw in my 2 cents, and ask a few clarifying questions:

    What are your robots dimensions?
    What size wheels will it have?
    Does it have any high power sensors or equipment (IP cam or similar), that will drain more power from the batteries?
    Motor size is determined by weight of the robot + weight of the load, but the wheel size and type also play a huge role. The larger the wheels, the faster your robot. You also lose a lot of power with larger wheels. So, I would recommend a smaller diameter wheel (Or possibly tank treads). You can get a lot of forward power with treads because they can be ran off of a small diameter sprocket. However, you have a lot more friction when you try to turn, so you often need to oversize the motors a bit if you want to turn in sand or high friction terrain.

    I, personally, would advise that you get a motor and a motor controller that can handle encoders. The extra money is well worth it.
    Without encoders, it becomes very difficult to drive in a straight line. The encoders allow you to make some very basic code that adjusts the individual motor speeds to maintain a very precise path.

    If you are planning to carry 8 kg around for any amount of time, you’ll want a good battery.
    There are a lot of things to keep in mind with batteries.
    They’ll have an ampere/hour rating that will determine how long they last per charge (Rechargeable AA batteries often have somewhere around 2500mAh (2500 milli-ampere-hours), or 1 hour of operation if there is a constant drain of 2500 milli-amperes).
    Battery weight can vary a lot from one type of battery to the next. A battery with a higher mAh rating won’t matter if it is also a lot heavier. That just makes the motors work harder to pull the battery… Compare different technologies to see which may give equal, or better, mAh power for less battery weight.
    Some types of batteries can be dangerous if they are ever over charged, or permanently discharge if their power drops too low.
    You’ll want to make sure that you know the safety requirements of your chosen battery.
    For a smooth ride, I recommend that you look in to scripting a PID controller. That is the same math that is used in Cruise Control in cars. It works well to eliminate the rough starts and stops that usually happen with robots.
    You can often smooth out motor vibrations by placing a thin sheet of rubber between the motor mount and the robot chassis.
    Absorbing shock from the wheels would require proper suspension (Which most robots lack). I’ve never done very much with suspension systems, so I don’t have any advice on that.

    Advice about specific products, or differences between products, I’m leaving to SDR. They know their stuff better than I ever could.

    Good luck.

    #1488
     Wyldhunt
    Participant

    Tom,

    I agree with everything Jason said. I started out with a very similar idea, and it took me a while to figure out why it was a bad idea for a beginner.

    Here is an Instructable on getting an Arduino to work with a RC Receiver:
    http://www.instructables.com/id/RC-Control-and-Arduino-A-Complete-Works/

    I haven’t looked at it very close, so no guarantees about it working or not.

    You’ll notice that it takes a lot of code to make very basic functions work from a RC Receiver…
    If you go with WiFi or xBee, you’ll be able to send packets over Tx/Rx without having to decode a bunch of PWM, and you’ll be able to customize exactly what you’re sending/receiving. There won’t be any guessing about what a specific character means.

    A few other random notes:
    Many RC vehicles pivot the front wheels to turn the car. Skid steering (Turning like a tank) is much preferred in robotics because it is so much easier to control. If you get in to robotics, and decide that you want the car to drive itself and track where it’s at, you’ll run in to problems with normal steering.
    What angle are the wheels turned at? How far do I have to drive to turn 90 degrees? How far forward has my robot traveled while trying to turn 90 degrees? How far away from the wall does my robot need to be before it starts its turn?

    Also, transmitting video is always a fun thing to do. I recommend that you don’t try to buy a camera and feed it through your robot controller for processing or transmitting. It takes waaay too much processing power to make it viable for most projects. You can get some controllers to work with video, but you’d need that robot controller to be dedicated to only handling the video feed.
    It’s easier (And generally cheaper) to buy an IP camera that already has WiFi built in to it. That’ll let you watch it on your phone/PC much easier also.

    Even more: Expect to give up on keeping the RC vehicles shell along the way. Once you start trying to fit controllers and sensors and cameras… The shell never fits. At best, you might be able to do some fancy work with a rotary tool and cut holes in the shell as needed… But, I’ve never had very much luck with that.

    Good luck
    </wallOfText>

    #1234
     Wyldhunt
    Participant

    Thank You!
    I received the ‘bot in perfect condition, and my initial tests are going great. :)

    This robot is going to help a lot of people. I can’t say enough good about you guys.
    I already have plans to add more functions to the code (Arduino and C#), and I’ll submit my changes to a new fork as I finish them.
    The first addition will probably be integration with iSpy (Open Source IP Camera software). That will allow me to have full control of the camera, and have some added potential benefits later on (Such as object detection/recognition).

    #1184
     Wyldhunt
    Participant

    I work at a university, where we have robotics contests. I am a coach and judge in the competitions.
    This robot would be a great way for me to coach the teams and let them test/modify the Arduino code to get a better idea of how their plans might work in a finished product. The wheels, especially, are a great addition, since the contests are generally on a flat surface and the robots need to do several maneuverability feats.
    I want to expand on it to add GPS, 11 DOF IMU, and code a custom AI program on my laptop for it to run off of via the WiFi.
    I used to make video games, so I have a lot of AI code stored away. I plan to have it constantly map its surroundings as it moves, and be able to navigate to anywhere it has been via A* pathing on its map. Between the WiFi, GPS, and IMU, I can track elevation, slope grade, exact location, etc.
    With A*, it can track changes in its map (from doors opening/closing, people/ objects moving, etc) and learn to avoid areas where there is a lot of high traffic.
    I am going to stream snapshots from the camera (Maybe a solid video stream, if the connection/arduino can handle it) and let my program run some basic object detection so that it can recognize things like Human, Car, Dog, Etc. It can react differently to each of them.

    The finished product should be an excellent learning tool for the students in the contest, and great fun for my family the rest of the year.

    I would make my program and changes open source as well, to keep in the Arduino/teacher spirit of things.

Viewing 6 posts - 1 through 6 (of 6 total)