[update] v2 version here: https://www.thingiverse.com/thing:4910801
Cozmars = Cozmo + Smars
I was at home, jobless when COVID-19 broke out, so I tried to recreate/customize SMARS (by tristomietitoredeituit) with various widgets, and then the idea strike me, that I maight be able to make something similar to Cozmo, the world's cutest robot pet. but it would be a total redesign.
eventually, after several months, my Cozmars came to life.
I intend to make this robot as complete as possible, but it's very hard to build, you'll have to figure out yourself how to put the many wires inside the body. you'll need a bit of soldering too.
and Cozmars' best friend, the cube: https://www.thingiverse.com/thing:4657653
Video demos
basic control: https://www.bilibili.com/video/BV15a4y1x7Ps/
face recognition: https://www.bilibili.com/video/BV1dy4y167pj/
speech recognition: https://www.bilibili.com/video/BV1Wa411F7Ek/
scratch3 extension: https://www.bilibili.com/video/BV1tf4y1v7jt/
Lisence
This robot is open sourced for educational purpose, Commericial usage is prohibited
Electronic parts
- raspberry pi zero w
- 15cm cable 72° lens OV5647 camera link
- 9g plastic blue servo X3
- PCA9685 16-channel servo driver with capacitor (bend straight the 90° pins)
- 1.14 inch color display link
- 3v 15r/m N20 motor X2 link
- L298N motor driver link
- infrared sensor X2 link
- ultrasonic distance sensor (3.3v compatible)
- 12mmx12mm button link
- 112D on/off power button link
- INMP441 microphone (use 90° pins) link
- 3.7v 6400mAh battery link (important: not 7.4v | smaller capacity like 2000mAh should be enough for 1 hour play)
- buzzer link
- and many 10cm wires, use soft silicone wires link to connect display
Build
- Servo horn for the right arm should be cut, with only the round part put into right arm.
- Nothing to hold the buzzer, it's just placed beside the power button hole on the side between 2 wheels, pins pointing up. you may need to trim away part of buzzer board to make it shorter.
- Soft silicone wires look just like normal dupont wires, only more flexible, they are for the head to rotate freely, but the plastic end connected on display still set a limit on head's max angle. It may be better (and harder to build) if you directly solder wires onto display.
- It's ok to use motors of different speed (but not too much faster), or camera with different lens angle. Then cozmars will see the world differently through his eyes, you only need to change code on the client side of cube_animation.py, which is urgly hard coded for picking up cube according to my own setting.