This project will be used in our Robomaster Robot. Tracking the enemy is the first step, the PID of the servo or DC motor(with encoder) will be designed to look ahead the enemy position at least 5 meters away.
Youtube Demo video https://youtu.be/5mjPr2e_6sY
I am still cleaning up the code. For the model, you can train your own as mine. Mine only has one lable. This project is for Robomaster competition. https://www.robomaster.com/en-US The code is tested in my Nvidia Xiaver NX, and it will also work in nano too. The fps can go up to 200.
prerequisite: I assume the detectnet is working using Dusty code (Great tutorial) https://github.com/dusty-nv/jetson-inference
Here are the hardware requirement
- 4 servos (pan/tilt servo x 2 pairs)
- 2 camera pan/tilt structures
- 1 PCA9685 servo controller
- female to female jumper cables
- 2 rpi camera ver 2
Reference: And I've combined the code with Paul McWhorter code (He has a great jetson nano video playlist) https://youtu.be/8YKAtpPSEOk?list=PLGs0VKk2DiYxP-ElZ7-QXIERFFPkOuP4_
The whole idea is to get the center point of the largest object and use the servo to track it. The trick is that the servo should be sensitve but not vibrating. The tuning of the control parameter can takes up to an hour.
Here are some pictures of the wiring
Procedure Go to jetson-inference/python/training/detection/ssd Copy my code into the same ssd folder (github has 25Mb limit...) https://drive.google.com/drive/folders/13qB9RhnMC-AKEtlUMmfBfmPJEQiczuAM?usp=sharing Then run these two commands
cd ~
cd jetson-inference/python/training/detection/ssd
NET=models/robot
python3 detectnet_andy.py --model=$NET/ssd-mobilenet.onnx --labels=$NET/labels.txt --input-blob=input_0 --output-cvg=scores --output-bbox=boxes csi://0
#another terminal
cd ~
cd jetson-inference/python/training/detection/ssd
NET=models/robot
python3 detectnet_andy_2nd_cam.py --model=$NET/ssd-mobilenet.onnx --labels=$NET/labels.txt --input-blob=input_0 --output-cvg=scores --output-bbox=boxes csi://1
Designing a new onmi-wheel robot using Nvidia Nano for an undergrad. class. Coming Soon!