vserluco.files.wordpress.com  · web viewthe raspberry pi 2 will then control an arduino mega...

12
DogBot The robot that fetches even when your dog doesn’t Formal Report 1 Intelligent Machines Design Laboratory Author: Valerie Serluco Professor: Dr. Arroyo, Dr. Schwartz

Upload: others

Post on 14-Sep-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: vserluco.files.wordpress.com  · Web viewThe Raspberry Pi 2 will then control an Arduino Mega 2560, which will act as a slave. Attached to the Arduino Mega is the Bricktronics megashield

DogBotThe robot that fetches even when your dog doesn’t

Formal Report 1Intelligent Machines Design Laboratory

Author: Valerie SerlucoProfessor: Dr. Arroyo, Dr. Schwartz

Teacher Assistants: Andrew Gray, Jacob EasterlingDate: September 17, 2015

Page 2: vserluco.files.wordpress.com  · Web viewThe Raspberry Pi 2 will then control an Arduino Mega 2560, which will act as a slave. Attached to the Arduino Mega is the Bricktronics megashield

ABSTRACT

One of the fun things to do when you have a dog is to go outside and play a game of fetch. Unless you’re like me that has a dog that doesn’t like to fetch. Well in any case, whether your dog is living with your parents or they just don’t like to fetch; DogBot is your solution. DogBot will fetch every ball you throw and bring it back no matter where you are.

INTRODUCTION

Since I never had a dog that enjoyed playing fetch, I thought a robot would be able to fill that void. DogBot will be built to track the ball throughout the process of being thrown to where it lands on the ground using visual input. The visual input will be through PlayStation Eye camera using opencv software. Once DogBot picks up the ball, it will use ultrasonic tracking to make its way back to the user to return the ball. This will done by using an ultrasonic transmitter that will be held by the user, and ultrasonic receivers placed on DogBot. I will be working with Christine Liao to design the code used for this process.

BEHAVIOR

SearchUser Search: DogBot will locate through using ultrasonic pulsesBall Tracking: Once user is located PlayStation Eye will locate ball

Fetch

Ball Tracking: PlayStation Eye will track ball being thrownAvoidance: While DogBot is in motion, it will autonomously be looking for obstacles and avoid contactGrab-n-Lift Arm: DogBot's arm will grab and lift the ball up in the when to be transported

ReturnUser Search: DogBot will use ultrasonic sensors to find user's locationGrab-n-Lift Arm: DogBot will then place ball at user's feet

Page 3: vserluco.files.wordpress.com  · Web viewThe Raspberry Pi 2 will then control an Arduino Mega 2560, which will act as a slave. Attached to the Arduino Mega is the Bricktronics megashield

INTEGRATED SYSTEM

DogBot is using a Raspberry Pi 2 to fulfill the role of a microprocessor. The PlayStation Eye which is used to track the ball is connected to the Raspberry Pi 2. The ultrasonic receiver which track the user’s location are also connected to the Raspberry Pi 2.

The Raspberry Pi 2 will then control an Arduino Mega 2560, which will act as a slave. Attached to the Arduino Mega is the Bricktronics megashield which is the controller for all the LEGO Mindstorms NXT components. The infrared sensors will be connected to the Arduino Mega. The infrared sensors feedback will be used for conditions of the NXT motor controls.

Raspberry Pi 2

PlayStation Eye

Arduino Mega 2560

Infrared Sensor

Bricktronics MegaShield

NXT Motor NXT Motor NXT Motor NXT Touch Sensor

Infrared Sensor

Ultrasonic Receiver

Ultrasoinc Receiver

Page 4: vserluco.files.wordpress.com  · Web viewThe Raspberry Pi 2 will then control an Arduino Mega 2560, which will act as a slave. Attached to the Arduino Mega is the Bricktronics megashield

MOBILE PLATFORM

The DogBot platform will be built using Legos parts from a LEGO Mindstorms NXT kit. I chose to use Legos because it was cost effective due to that I already owned it. I then used the LEGO Digital Designer to sketch a CAD drawing of the platform. I have not yet finished the platform as I am on my seventh revision of the platform. The wheels chosen for the platform are treads since there are only two driving motors and four wheels.

PLATFORM ARM

The DogBot arm will be powered by one NXT motor. The motor will be used to control the motion of clamping the ball as well as raising up the arm. This is done by using a mixture of online designs. The forces on the clamp gears will stall after it grasps the ball and the following gear motion will raise the arm.

Page 5: vserluco.files.wordpress.com  · Web viewThe Raspberry Pi 2 will then control an Arduino Mega 2560, which will act as a slave. Attached to the Arduino Mega is the Bricktronics megashield

ACTUATION

The DogBot uses three NXT motors.

Reason for Purchase Cost effective, since I have already owned these motors

Motor Specifications Rotation Encoder

Returning the position of the shaft with 1 ° resolution

Nominal Voltage: 9 V Nominal Current: 60 mA Free RPM: 170 Stall Torque: 50N ∙cm Stall Current: 2 A Weight: 80.179 g

SENSOR

Analog Distance Sensor

Specification Vendor: Pololu Model: Sharp GP2Y0A21YK0F Range: 10 – 80 cm Supply Current: 30 mA

Application Find road obstacles

NXT Touch

Specifications Unknown

Application Used to when the arm is fully lifted

Page 6: vserluco.files.wordpress.com  · Web viewThe Raspberry Pi 2 will then control an Arduino Mega 2560, which will act as a slave. Attached to the Arduino Mega is the Bricktronics megashield

Ultrasonic Transmitter (1x) & Receivers (2x) (Specifications and design taken from Chrstine Liao)

Specifications Vendor: Engineeringshock Electronics Custom Made PCB

Circuit details of custom made PCBs can be found in Experimental Layout and Results section of the report.

Power Requirements: 5 V Range: ≈ 4 m Receiver Return ˃ 1 m away: ≈ 100 mV Receiver Return < 1 m away: ≈ 4 V Emission Cone Angle: ≈ 40 degrees wide

Application Used as special sensors to follow the user (transmitting signal)

PlayStation Eye

Specifications Resolution: 640 x 480 Video Frame Rate: 120 FPS Dimensions: 2.56 x 3.15 x 2.17 in

Application Used as a special sensor to track the ball being thrown

Page 7: vserluco.files.wordpress.com  · Web viewThe Raspberry Pi 2 will then control an Arduino Mega 2560, which will act as a slave. Attached to the Arduino Mega is the Bricktronics megashield

UPCOMING

September 21, 2015

Work on obstacle avoidance code

Start to code ultrasonic activated user search

Start to code visual ball tracking algorithm

September 28, 2015

Finish cleaning the bugs in obstacle avoidance code

Start to finish the code for ultrasonic activated user search

Continue to develop visual ball tracking algorithm

October 5, 2015

Final testing of obstacle avoidance

Finish cleaning the bugs in the code for ultrasonic activated user search

Continue to develop visual ball tracking algorithm

October 12, 2015

Demonstrate Obstacle Avoidance

Finish cleaning the bugs in visual ball tracking algorithm

October 19, 2015

Demonstrate Special Sensor

Start cleaning the bugs in DogBot on all fronts: Software, Electrical, Mechanical

October 26, 2015

Special Sensor and System Oral/Written Report

Page 8: vserluco.files.wordpress.com  · Web viewThe Raspberry Pi 2 will then control an Arduino Mega 2560, which will act as a slave. Attached to the Arduino Mega is the Bricktronics megashield

November 2, 2015

Finish cleaning the bugs in DogBot on all fronts: Software, Electrical, Mechanical

November 9, 2015

Demonstrate DogBot’s software

November 16, 2015

Demonstrate DogBot for Pre-Demo Day