Project Info
Inspiration
In response to the challenges faced by the elderly and disabled who rely on traditional, costly service dogs, our team drew inspiration to create SpotAssist. Traditional service dogs demand substantial resources, extensive training, and are limited to one user at a time. SpotAssist leverages Boston Dynamics’ Spot to overcome these challenges, offering advanced functionalities through technologies like machine learning, computer vision, and natural language processing. This innovative robotic companion not only surpasses traditional service dogs but also holds the potential for mass deployment in settings like senior care homes, addressing financial and logistical constraints. SpotAssist embodies our commitment to making a significant impact by combining technology, compassion, and scalability to enhance the lives of those in need.
What it does
/
How we built it
SpotAssist is an assistive robot meant to achieve better functionality than a regular service dog. First, Spot will take an image of its surroundings and generate a list of objects detected along with their corresponding bounding boxes (using YOLO). Then, Spot will wait for the user to make a verbal query including a target landmark to approach; an example of such a command would be “Take me to the nearest chair.” Finally, Spot will gently guide the user to their desired destination through noting the difference between the center x-coordinate of the bounding box and the actual center of the image. Spot will utilize this quantity in order to align its heading angle to be in line with the desired object and subsequently move forward, stopping at a reasonable distance from the object in question. Furthermore, we built health-first integrations from the ground-up for Spot. Using our custom ML and analytical methods and Terra API integrations, we are able to use Spot as an alert for a medical event, such as abnormal heart rhythms and/or heart rate.
Challenges we ran into
There were a number of technical challenges we encountered throughout the development process. Firstly, a major hurdle was the restrictions placed on the compute module attached to Spot; we were not allowed to perform any commands directly to Spot itself (we instead had to communicate through the module). Furthermore, we were not allowed to SSH into the module (nor were we given elevated privileges), so we had to build our own version of a remote communication system between our remote servers and Spot. This led to many creative avenues being explored for development.
Accomplishments we're proud of
We’re especially proud of building upon a system/environment that was entirely new to the whole team, especially without any documentation on the compute module we built upon. Furthermore, none of the team knew each other prior to the hackathon, so we’re proud of the teamwork skills we were able to utilize to accomplish our success this weekend.
What's next
Mobile integration!
This image contains basic commands to work with camera, microphone and speaker at Spot's computer
Image link
Image link could be acquired in packages section of the main repository page
How to use
The container for this image should be runned with flags --device /dev/video0 and --device /dev/snd.
Also, environmental varialbes -e SDL_AUDIODRIVER='alsa', -e AUDIODEV='hw:1,0', -e AUDIO_INPUT_DEVICE='hw:2,0' shoud be added.
Basic example contained in main.py
Analysis
View
Metric
- 56
- 19
- 2
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- PythonIn code
- AWSClaimed
- FlaskClaimed
- OpenAIClaimed
1 of 4 appear in the indexed code. 3 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
39 KB
Source files
16
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
AnthonyYao7/TreeHacksSpot
21 files · 2.3 MB · @ a47b256
Structure
Application logic
13 files · 62%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python87%
- YAML11%
- Markdown1%
- Shell0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
requirements.txt
pypi · 6- bosdyn-choreography-client
- bosdyn-client
- bosdyn-mission
- boto3
- numpy
- opencv-python
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.