RBS Tadpole with Encoders

Introduction

I am using a Rocket Brand Studios Tadpole as a platform for experimentation. I'm taking the Open Robotics University Control of Mobile Robots course, and I wanted to try implementing some of what I am learning.

Features

The Tadpole can be ordered with various options and add-ons, but this is how I outfitted mine.

  • Laser cut acrylic chassis
  • Two DC gearmotor differential drive
  • Optional wheel encoders (hall effect sensors with 8 ticks/revolution)
  • Analog IR obstacle sensor (6 IR LEDs and 3 IR sensors for left-center-right measurements)
  • Arduino compatible MicroMagician robot controller (similar to an Arduino Pro Mini, but with features noted below*)
  • Supply voltage from 4.5V to 9V with 3.3V regulator and reverse polarity protection*
  • ATmega168 or ATmega328 MCU at 8MHz*
  • Dual 1A FET “H” bridge with electronic braking, current limiting and overload detect*
  • 3 axis accelerometer with 0G detection and either 1.5G or 6G full range sensitivity*
  • 38KHz IR receiver with signal detection LED*
  • Up to 8 servos can plug directly into the controller when V+ is set to Battery*
  • 3.3V and GND outputs available for powering sensors*
  • All I/O pins (except D4) have both male and female header pins*
  • 4xAAA batteries for power

Software

I'll post code I develop here, and anyone is free to use it. I started from the example programs provided by Chris the Carpenter.

  • Tadpole_Mobile_Robot_Testbed_v1: Includes obstacle avoidance (RBS IR sensor), drivestraight function using DAGU encoders. Next step is connecting the bumper switches.

I also just learned that there is a PID Library for Arduino. How easy is that? I have to download it and give it a try!

Mobile test bed for my Control of Mobile Robots grad course

  • Actuators / output devices: Two DAGU
  • CPU: DAGU MicroMagician
  • Power source: 4xAAA alkalines
  • Programming language: Arduino C++
  • Sensors / input devices: 2 bump switches, DAGU Simple Encoder Kit, RBS IR sensor, on-board MicroMagician accelerometer
  • Target environment: indoors

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/rbs-tadpole-with-encoders

Man, that is a beautiful robot!

Any issues with the distance sensor “seeing” the bump switches?

Too cool!

Laser cutters rule, and those wheels…
You should make a competition where you can win those wheels!

And that bot: Looks so clean and well organized! 

Funny you should mention that, BotFin

Those wheels will be available a la carte very soon. I am going to carry the same wheel in a 40, 50 and 65mm sizes (1 1/2, 2, 2 1/2) as well as a set of wheels that fit those little $5 stepper motors.

Coming soon!

Not a bit; they seem to be

Not a bit; they seem to be low enough to avoid interferring with the IR sensor.

The bumpers should help with low obstacles. I may add a flexible actuator to connect the two bumpers and ensure they cover the width of the robot.

They are pretty sweet. I

They are pretty sweet. I measured these at 53mm diameter with the o-rings on.

resolution

Do you think that 8 counts/rev would be enough for a proper PID control?

I’m trying to create a

I’m trying to create a compatible robot for the course as well but i didn’t score a good response with this low resolution (encoders from magician chassis)

Mine seemed to work well

Mine seemed to work well enough to compensate for small errors. My motors are seriously mis-matched, and I wrote some simple PID code to fix that. It works fine.

I plan to implement the Arduino PID library, which should work even better. The encoder kit is only $15 for a pair, and can be used with other hobby motors, so it is well worth trying. 

|x

I tried fastening a zip tie

I tried fastening a zip tie across the two bump switches so they would catch low objects in between and also stretch out to cover the whole width of the robot. I found that this DID interfere with the IR sensors. 

I may try mounting the switches under the mounting plate. This will give very little ground clearance, but might allow me to use my zip tie trick. I’ll try and let you know.

Long term, I’m going to pull the bumper switches off and try the MicroMagician’s accelerometer for detecting bumps.

nice

like how you used robotc program. or atleast that looks like the code style

It’s not Robot C. Just plain

It’s not Robot C. Just plain old Arduino.

I’m trying to use now a

I’m trying to use now a diferent approach: I’m using optical encoders in the motors back shaft. If this won’t help I’ll buy the pololu geared motor with encoder (37D) just to try a cascade pid :slight_smile:

Thanks for the ideas!