Skip to content

NickEngmann/FamilyPet

Repository files navigation

FamilyPet

The Ortega and Engmann households family pet. A hacked and redesigned Roomba to support Alexa command control, orientation and owner tracking, and environment control.
Click the image below to watch the video. Watch the video

Table of Contents

Necessary Hardware

Raspberry Pi 3
Adafruit prototyping board
74LVC245 octal bus transceiver
A 7-pin mini-DIN cable
iCreate2 Robot
3D printable files

Hardware build

Print out the 3D shell in the 3D model directory, then follow the following tutorials to get your iCreate robot to work with your Raspberry Pi 3.
http://www.irobot.com/~/media/MainSite/PDFs/About/STEM/Create/Create_2_Serial_to_33V_Logic.pdf http://www.irobotweb.com/-/media/MainSite/PDFs/About/STEM/Create/RaspberryPi_Tutorial.pdf?la=en

Software install

To get the Raspberry Pi up and running with our code we need to install the necessary libraries

python3 -m pip install python-firebase
python3 -m pip install requests

Setup I2C on your Raspberry Pi:
https://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup/configuring-i2c

Now you are ready to clone the repo on the Raspberry Pi

cd ~
git clone https://github.com/NickEngmann/FamilyPet

Then generate a config file for the drive train.

python configGenerator.py

Alexa Integration

Go to the alexa directory and install node dependencies.

cd alexa-icarus
npm install

Go to firebase and set up a firebase application. Get config data from firebase and save it as config.json

config = {
    apiKey: "{api-key}",
    authDomain: "{app-id}.firebaseapp.com",
    databaseURL: "https://{app-id}.firebaseio.com",
    projectId: "{app-id}",
    storageBucket: "{app-id}.appspot.com",
    messagingSenderId: ""
  }

Save all items in the folder as a .zip file.

Follow the following instructions from Amazon to set up your own Lambda service and nodejs skill:
https://developer.amazon.com/alexa-skills-kit/alexa-skill-quick-start-tutorial
Load the .zip file into your lambda service

Add the following command configurations to your Alexa skill in the Alexa skill developer portal

Different Commands we Support:

ComeToMe:
Come to {INSERT NAME HERE}
Go to {INSERT NAME HERE}

CleanUp:
Atom clean up this mess
Atom clean up this room
Atom clean up after yourself
Atom clean up
Atom clean this room
Atom clean this up
Atom clean now
Atom clean

Tricks:
Atom do tricks
Atom be fancy
Atom do tricks

GoHome:
Atom go home and charge
Atom go charge
Atom you are finished go home to charge
Atom go to your charging station
Atom find your charging station
Atom go back to your charging station
Atom head back to your charging station
Atom go charge yourself
Atom go charge

Speak:
Atom tell me something
Atom speak
Atom how is it going Atom
Atom do you have anything to tell me

Running

python3 atom_controller_interface.py

Model

Want to make your own shell for your Roomba?

Located in the 3Dmodel directory. Follow the instructions in the README. 3DModel

License

The MIT License

Copyright (c) 2004-2018 Quod Certamine

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

<<<<<<< HEAD THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

License

(The MIT License)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

9bf9012f303e5ade168b21c1d0e0d55e25495708

About

The Ortega and Engmann households family pet

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published