Maker.io main logo

Spring into Summer Ambassador Competition: Robotic Banana Slug - Part 2

2021-09-29 | By Eliot Wachtel

License: None

Implementation and Debugging

The University of California, Santa Cruz entry for the Spring into Summer Ambassador Design Competition, nicknamed Slugbot is a robotic banana slug inspired by our mascot Sammy the banana slug.

Implementation

The Slugbot uses two geared DC drive motors for forward and reverse movement and a third, encoder controlled geared DC motor to twist its body for turns.

There are five body segments (Figure 1): 1) A head holding two limit switches, “eye stalks”, and a 6 DOF IMU, 2) A tail holding the 6 volt battery pack, 3) & 4) Two drive motor segments, and 5) The twist motor segment.

segments_1

Figure 1: A sketch of the segments of the Slugbot.

The slug uses a pulley system and flexible joints for the twisting system, similar to the mechanical system of many prosthetic hands.

Unlike our original plan, the base of the slug has been printed out of rigid PLA to avoid excessive drag on the ground. The wheels, segment joining flexible joints, and aesthetic segment shells are still printed out of TPU for the more rubber-like properties.

The entire robot is autonomous and controlled by an Arduino Nano Every which drives two dual motor driver boards and takes in the encoder, IMU, and limit switch input in order to navigate a room (Figure 2).

components_2

Figure 2: The primary electrical components of the Slugbot.

power_3

Figure 3: The power source is a custom 6 volt battery pack holding two 3 volt CR123A cells.

Debugging

The mechanical design went (and continues to go) through multiple iterations in order to get a working mechanism.

The electrical design was originally going to use three printed circuit boards, but that strategy was abandoned in favor of prebuilt modules since they are faster and more reliable to integrate.

schemetit_4

Figure 4: Basic connections of the primary electrical components of the Slugbot.

The code is written using the Arduino IDE. It uses the Wire.h, I2Cdev.h and MPU6050.h libraries for IMU reading, interrupts for swist motor position control, and basic loop and logic code for movement and button reading.

Recommended Reading

Mfr Part # 3777
GEARMOTOR 200 RPM 3-6V DC
Adafruit Industries LLC
Mfr Part # ABX00028
ARDUINO NANO EVERY
Arduino
$112.49
View More Details
SMT TEST SOCKET - TSSOP-16
Mfr Part # 1795
SMT TEST SOCKET - TSSOP-16
Adafruit Industries LLC
$286.97
View More Details
Mfr Part # V-153-3C25
SWITCH SNAP ACT SPST-NO 15A 250V
Omron Electronics Inc-EMC Div
Mfr Part # 1691
FILAMENT NINJAFLEX 1.75MM DIA
Adafruit Industries LLC
$307.42
View More Details
Mfr Part # SEN0142
6 DOF SENSOR - MPU6050
DFRobot
$105.92
View More Details
Add all DigiKey Parts to Cart
Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.