3D-printable Arduino Pet Robot
Snoopy was designed in Fusion 360 and printed using a Voron 2.4r2 350mm and a Prusa MK3S. It has an ESP32 micro-controller, Arduino firmware, two motors with a caster, a laser scanner sensor (and in a next revision a Raspberry Pi Pico with servos). It has an old smartphone or 7" tablet as display, microphone, audio and IMU.
Once finished, it will act as a pet - play ball, hide-and-seek, chase, demand its owners' attention and greet its owners happily at the door. Utilitary functions will include patrolling the house. Here is a preview of Snoopy playing ball in a simulation.
Snoopy runs on kaia.ai software platform developed at remake.ai.
Please note:
- this project is a work-in-progress
- the project is evolving quickly and this Instructable is out-of-date. Please get the most up-to-date instructions and files here makerspet.com/blog/meet-snoopy-pet-robot-model/
If you are reasonably pleased with this design, please leave a like to help others discover this contribution!
Happy 3D printing!
Downloads
Supplies
You will need
- a 3D printed with a 310x310mm minimum print dimensions
- around 1Kg of PETG or PLA filament
- a soldering iron
- a 2-3 year old smartphone as display/microphone/sound/IMU
- a local Windows or Linux PC for processing
- BoM parts (up-to-date description is here)
- 1x ESP32 ESP-WROOM-32
- 1x voltage regulator 24V-to-USB module, see here
- 1x laser scanner, see here
- 2x motors, see here
- 4x resistors, see here
- 4x connectors, see here
- 2x tire and hex shaft adaptor, see here
- 1x 24V battery
- 1x breadboard
3D Print Parts
Download and 3D-print 3MF or STL files. See this post for most up-to-date links to files.
Assemble the 3D Printed Parts
Assemble the 3D printed parts, motors. Use Fusion 360 design files to see how things fit together (links here).
Assemble the Electronics
Follow the schematic (link here) to connect the electronics. Connect the two motors and the laser scanner to the ESP32. Connect the battery to the voltage regulator input and to the motors power. Connect the voltage regulator USB output to the ESP32 and the laser scanner.
Set Up Your PC
Follow instructions here to set up your PC and install Docker.
Upload Firmware
Download the ESP32 firmware (link in this post). Use Arduino IDE to compile and upload the firmware to your ESP32.
Bring Up Your Robot
Drive Robot Manually
Follow these instructions to open another shell window and connect to your running Docker image. Follow this tutorial to drive your robot around manually - but skip launching the Gazebo ROS2 simulator.
Create a Map of Your Room
Follow this tutorial to create a map of your room - except, don't run the Gazebo simulator and drive your robot around the room manually. Once the map is created, have your robot self-drive anywhere you want.