Prototype Number | Change Log | File to Run |
---|---|---|
BTIC_Proto1 | Prototype code for the rover following the aruco tag with opencv. This was upgraded to 1280x720 at 10fps from 640x480 at 5fps. | BTIC_Proto/Testing_grounds_for_class_aruco.py |
BTIC_Proto2 | Includes the addition of following aruco tags with an x offset, with the ability to see multiple tags at once. Also upgraded to lattepanda, which increased resolution to 4k at 20fps. | BTIC_Proto/Testing_grounds_for_class_arucoV2.py |
BTIC_Proto3 | Added localization to the autonomy code and added an rtmp camera connected to the lattepanda for autonomy. | BTIC_Proto/Testing_grounds_for_class_arucoV3.py |
BTIC_Proto4 | Added the GUI V4 to the Prototype Rover code from Prototype 3. | BTIC_Proto/Testing_grounds_for_class_arucoV4.py |
BTIC_Proto5* | Currently under construction. This will be implementing the new Arduino controls compatable with the motor/actuator board and motherboard. | BTIC_Proto/Testing_grounds_for_class_arucoV5.py |
- pip install numpy
- pip install opencv-python==4.6.0.66
- pip install opencv-contrib-python==4.6.0.66
- pip install pyserial
- pip install pygame
- python -m pip install --upgrade pip
- pip install tk
- pip install Pillow
- pip install scipy
- pip install onvif-zeep
- pip install esphome
- cd Arduino\esphome-jbd-bms-main
- Open the "esp32-ble-example-multiple-devices.yaml" file and ensure that the bluetooth addresses match the batteries.
- Connect esp32 device and run: python3 -m esphome run esp32-ble-example-multiple-devices.yaml
- Never save the make files to this Github
- Make sure to put any custom functions in the arduino library folder: \Documents\Arduino\libraries\
- More information on how to do this can be found here.
- Use the global repository section: https://docs.github.com/en/get-started/getting-started-with-git/setting-your-username-in-git#setting-your-git-username-for-every-repository-on-your-computer
- Do this for the user.email. This is the same code but change "user.name" to "user.email".
- Go to the bottom left button and click open remote repository and select the one you want.
- Select the same bottom left button again and select save a local clone.
- Then in the terminal (cntrl + '), type in git init to initialize the git repository.
- Upload to Github as normal through VS code.
- If you need to delete a commit: git reset --soft HEAD~.
- https://github.com/RichardoMrMu/python-onvif
- https://github.com/syssi/esphome-jbd-bms
- https://github.com/gregsrabian/MCP41HVX1
- https://github.com/PatrickBaus/Arduino-TMP1075
- https://github.com/DocSunset/ADS1219
- https://github.com/LizardByte/Sunshine
- https://github.com/adafruit/Adafruit_MCP9600
- https://github.com/adafruit/Adafruit_NAU7802
- https://github.com/adafruit/Adafruit_BusIO
- This does not include the Autonomous Excavation, Autonomous Docking, IMU diagnostics, and SNMP diagnostics.
The camera used for this project is the Amcrest IP2M-866EW.
- The configuration of the cameras can be found here.
The GUI is ran on the Latte Panda and streamed to the Lenovo Legion Go through Sunshine Games Stream
- This is the main GUI used for the NASA BTIC project.
- The diagnostics data, video feed, and localization/imu viewer are located on this GUI.
- More detail of the GUI can be found here.
- This video shows the Autonomy and Localization of the Prototype rover. The rover uses ArUco tags and OpenCV in Python to track the positioning of the rover and autonomously move to the next ArUco tag. This was using BTIC_Proto3 code.
- More detail of the Autonomy and Localization can be found at Camera_Cal and BTIC_Proto.
- Visual representation of the communication between Arduino and Python.
- More detail of the Controls can be found here.