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.
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).
Figure 2: The primary electrical components of the Slugbot.
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.
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
- Spring into Summer Ambassador Competition: Robotic Banana Slug - Part 1
- Spring into Summer Ambassador Competition: Robotic Banana Slug–Part 3
Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.
Visit TechForum