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

制造商零件编号 ROB-16413
HOBBY MOTOR WITH ENCODER - METAL
SparkFun Electronics
制造商零件编号 3777
GEARMOTOR 200 RPM 3-6V DC
Adafruit Industries LLC
制造商零件编号 ABX00028
ARDUINO NANO EVERY
Arduino
制造商零件编号 3297
EVAL BOARD FOR DRV8833
Adafruit Industries LLC
制造商零件编号 1691
FILAMENT NINJAFLEX 1.75MM DIA
Adafruit Industries LLC
制造商零件编号 SEN0142
6 DOF SENSOR - MPU6050
DFRobot
Add all DigiKey Parts to Cart
TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum