Robot Project #1, Take 1: Drunken Vampire Robot

Posted on 14/06/2012 by aj
Modified on: 13/09/2018
Project
Press to mark as completed
Introduction
This is an automatic import from our previous community platform. Some things can look imperfect.

If you are the original author, please access your User Control Panel and update it.

This is the basic Start Here! robot, whose job is to move forward until it detects an obstacle and then stop and decide which direction it should turn.  So far I haven't varied anything from the instructions or added anything of my own to it; this is my first robot project ever and I just needed to get my feet wet.  (Thanks, LMR, for making it so easy to get started!) I call it the drunken vampire robot because it can't move in a straight line (drunken) and it avoids bright sunlight (vampire). ...


Robot Project #1, Take 1: Drunken Vampire Robot

This is the basic Start Here! robot, whose job is to move forward until it detects an obstacle and then stop and decide which direction it should turn.  So far I haven't varied anything from the instructions or added anything of my own to it; this is my first robot project ever and I just needed to get my feet wet.  (Thanks, LMR, for making it so easy to get started!)

I call it the drunken vampire robot because it can't move in a straight line (drunken) and it avoids bright sunlight (vampire).  The sunlight issue doesn't concern me right now, but I would like to have better control over the robot's motion.  One of the motors rotates faster than the other, which is apparently not an uncommon problem.  I do wonder if it's a problem with the motors themselves or if it could be caused by wire splicing (small contact area in connection between spliced wires = more resistance = smaller current = slower motor speed?).  In any case, solutions I've considered are:

  1. Increase the radius of the slower wheel until its speed matches the faster one.  Not a great option, since I'd have to increase the radius by about 5 mm to makes the speeds match, which would make the robot significantly lopsided and could cause other problems with the motion.
  2. Learn a general method for controlling motor speed.  This seems to involve pulse width modulation (PWM), which is unfamiliar to me but seems very useful, so this is the route I plan to take.

Next step: Learn what this PWM business is all about.  I get the general idea behind pulse width modulation: Approximate an analog voltage by turning a digital signal on/off, adjusting frequency and duty cycle appropriately.  Most of it seems to be programming, but it requires a timer.  So I need to investigate: Does my Picaxe 28X1 have a timer in it?  Or will I need to get more/different electronics hardware?

In any case, hopefully I will soon be posting another version of this robot that involves some modifications of my own.

Trundles around attempting to avoid obstacles (and sunlight).

  • Actuators / output devices: 143:1 Solarbotics gear motor (x2), Futaba S3003 Servo
  • CPU: Picaxe 28x1
  • Power source: 4 rechargeable AA cells
  • Programming language: Picaxe basic
  • Sensors / input devices: Sharp IR
  • Target environment: indoor
Flag this post

Thanks for helping to keep our community civil!


Notify staff privately
It's Spam
This post is an advertisement, or vandalism. It is not useful or relevant to the current topic.

You flagged this as spam. Undo flag.Flag Post