Youtube Video: https://www.youtube.com/watch?v=QtfVU_17tac Github: Too difficult to include weights and models.
Sources:
- OpenPose: Original Paper by Zhe Cao, Gines Hidalgo, Tomas Simon, Shih-En Wei, Yaser Sheikh https://arxiv.org/abs/1812.08008 https://github.com/CMU-Perceptual-Computing-Lab/openpose
- YOLOv3: Original paper by Joseph Redmon and Ali Farhadi. https://arxiv.org/abs/1804.02767
- YOLOv3: PyTorch implementation by Ultralytics LLC. https://github.com/ultralytics/yolov3
- ROS: https://www.ros.org/
- Kinetic4RPiZero: @nomumu https://github.com/nomumu/Kinetic4RPiZero/
- DFRobot IO Expansion Board Driver: https://github.com/DFRobot/DFRobot_RaspberryPi_Expansion_Board
- raspicam_node: https://github.com/UbiquityRobotics/raspicam_node
Computer Prerequisites (Base Program):
- OS: Tested on Ubuntu 18.04, should work on Ubuntu >= 14.04
- Graphics Card: Nvidia GPU (CPU can work but is slow)
- Python 3
- OpenCV: Tested on 4.2.0
- PyTorch: Tested on 1.5
- CUDA: Tested on 10.2
- OpenPose
Computer Prerequistes: (MINI-Q)
- ROS: Tested on Melodic
Car Prerequisites: (MINI-Q)
- MINI-Z compatible RC Car
- Raspberry Pi Zero W
- Raspberry Pi Camera
- DFRobot IO Expansion HAT for Pi Zero/Zero W
- OS: Raspbian 2018-04-19
- DFRobot Raspberry Pi Expansion Board
- ROS: Tested on Kinetic https://github.com/nomumu/Kinetic4RPiZero/
Basic Guide:
- Install Nvidia Driver and CUDA: https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal
- Either in Anaconda or through pip, install PyTorch: https://pytorch.org/
- Install OpenPose: https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/doc/installation.md
- Install OpenCV: There are many ways to do this. For example, ROS full installation comes with OpenCV.
- Clone YOLOv3 and download weights: https://github.com/ultralytics/yolov3
- You should be able to run pedestrian_awareness/main.py at this point
How to make the 1:28 car (This is a complicated process and I(Eric) plan to release a guide on how exactly I made it):
- High-end Kyosho MINI-Z model or other 1:28 RC cars that allow you to access the ESC and servo directly through PWM (Base MINI-Z needs modification.)
- 5V BEC on ESC
- Raspberry Pi Zero W
- Raspberry Pi Zero compatible camera
- DFRobot IO Expansion Hat for Pi Zero/ Zero W (Needs to flip a protection diode or remove it)
ROS Guide:
- Install ROS Melodic or Kinetic on your Ubuntu: https://www.ros.org/install/
- Install ROS Kinetic on Raspbian: https://github.com/nomumu/Kinetic4RPiZero/
- Make catkin workspace on Raspberry Pi that includes all the libraries and files in minizbot_catkin_src
- Set up ROS multi-machine and run roscore on ROS master
- SSH into the Raspberry Pi and launch the miniz node by roslaunch minizbot miniz.launch
- Run pedestrian_awareness/bot.py on ROS master