/ros_spotmicro

SpotMicro ROS2

Primary LanguagePython

SpotMicro (Nvidia Jetson Nano)

The project is still in progress.

This project is one of implementations of SpotMicro initially created by KDY0523.

If you are new to ROS2, you can start by watching this tutorial.

Software

This project uses ROS2 Galactic. You need update Ubuntu on Nvidia Jetson Nano to version Ubuntu 20.04 and run install.bash.

Now you can create a virtual enviroment and install python packages.

How to build

colcon build

How to start nodes

ros2 launch quadruped_launcher quadruped.launch.py

Material

Part or module number Notes link
Nvidia Jetson Nano (Developer Kit) 1 A small, powerful computer for embedded applications Welectron
IMX219-83 1 Stereo Camera Welectron
Bluetooth module 1 A bluetooth module for Jetson Nano. It could be a usb dongle. This is needed to connect a PS controller.
Wi-Fi module 1 A wi-fi module for Jetson Nano. It could be a usb dongle. It's much easier to work via ssh.
PCAA9865 1 (2-3 if unreliable manufacturer) 16-Channel 12-bit PWM/Servo Driver AliExpress
Servos (e.g. DS3225) 12 12 servos, 3 for each leg Amazon
DC-DC Stepdown Module 2 A small DC-DC converter to lower the LiPo 2S voltage
Push Button 1 Just a button. It's better if this has a led AliExpress
Small display 1 A small display with I2C interface to shown some information
Mini voltmeter 1 It will show a current LiPo voltage. AliExpress
GY-521 1 Gyroscope and Accelerometer AliExpress
Servocable Extension 12 I took 12 in case AliExpress
F625ZZ 8 Flange ball bearings AliExpress
Power source 1 It's your choice. I used a 2S lipo.
Wire
Connectors
Screws
Threaded Insert Assortment Box 1 M2/M3/M4/M5 Threaded Insert for connecting printed models Amazon
PLA Completely your choice. I used two Amazon basics PLA (black and yellow). Amazon
FLEX Completely your choice. I used a 3DJAke TPU (black). 3DJake

3D Printing

Most of the details are taken from one of the finished projects. For example, you can look at these projects.

Because the servos DS3225 are bigger than the servos used in the original project, I had to change the assembly scheme in order to improve connections of the shoulder servos with the main body. It's nothing special, just print few details to increase the length of the body and the covers.

Part Number Project link Notes
V1.00_Chassis_PlateJetsonNano.stl 1 Thingiverse(bradprin) A plate for mounting Nvidia Jetson Nano and PCA9865
V1.00_Chassis_Right.stl 1 Thingiverse(bradprin)
V1.00_Chassis_Left.stl 1 Thingiverse(bradprin)
L_arm_joint_cls.stl 2 Thingiverse(KDY0523) I prefer the shoulder parts from the original KDY0523's project because of the shape for servo horns.
V1.01_Left_MidArm.stl 2 Thingiverse(bradprin)
V1.01_Left_MidArm_Cover.stl 2 Thingiverse(bradprin)
V1.01_Left_Wrist.stl 2 Thingiverse(bradprin)
R_arm_joint_cls.stl 2 Thingiverse(KDY0523) I prefer the shoulder parts from the original KDY0523's project because of the shape for servo horns.
V1.01_Right_MidArm.stl 2 Thingiverse(bradprin)
V1.01_Right_MidArm_Cover.stl 2 Thingiverse(bradprin)
V1.01_Right_Wrist.stl 2 Thingiverse(bradprin)
V1.01_Rear_Shoulder_Inner.stl 1 Thingiverse(bradprin)
V1.01_Rear_Shoulder_Outer.stl 1 Thingiverse(bradprin)
V1.01_Front_Shoulder_Inner.stl 1 Thingiverse(bradprin)
V1.01_Front_Shoulder_Outer.stl 1 Thingiverse(bradprin)
V1.00_Foot.stl 4 Thingiverse(bradprin) These parts are printed with FLEX plastic.
Covers (Top and buttom) 1 Onshape Created in Onshape. The length was increased.
Front cover 1 Onshape A front cover for IMX219-83 stereo Camera. I don't like the design of this part. It will be changed in the future.
Rear cover 1 Onshape A rear cover with spots for the mini voltmeter, the push button and the display. I had problems with displays. So the size of the corresponding will be changed.
Additional parts 1 Onshape Additionals parts to increase the total length of the body.