longmetal-robotics / showbot Goto Github PK
View Code? Open in Web Editor NEWThe code for LongMetal's upcoming Show Bot
License: MIT License
The code for LongMetal's upcoming Show Bot
License: MIT License
WPILib 2020 is released along with the 2020 FRC season. We will obviously be using WL2020 in competition so we can't continuously switch back and forth between 2019 and 2020.
We will be controlling the LED strips from a Raspberry Pi. We will need to control them from a program (written in Python, as much as I hate it).
NeoPixels on Raspberry Pi
I've done something like this before: it opens an image file and considered each line a 'frame.'
WPILib includes a class called Preferences
, which allows for certain settings to be stored across reboots. We can use that to only enable certain subsystems when we want to (include code before the physical part is ready).
For example, if the preference is false
, it doesn't even create the object or we can use it to change values without changing the code for testing.
Preferences documentation
Our whiteboard list of things to put on the robot included front and back cameras.
I'm not sure what we want, but we'll also need to buy them, so this isn't urgent.
The normal RSL is alright, but we can do better. I'm currently working on a program for an Arduino to:
When a trigger (probably the left) is pulled on the gamepad, the collector will run at that speed (analog)
The LED strips and LED matrix will be controlled by a Raspberry Pi. Therefore, we will need to have communication between the RIO and that Pi.
In the latest commit, a new PROBLEM
Status was added, but it is not supported by the Arduino. This needs to be added to UsefulRSL.ino
. It should probably be red flashing lights on the LEDs that aren't orange
Eventually, when a subsystem is being enabled for the first time, it needs to have its init()
method called. This never happens so it will throw SubsystemUninitializedException
s everywhere
This robot has a collector on the back and a shooter on the front so to make it easy, we should make a way to switch between driving forward and backward.
The LED Matrix will be controlled by a Raspberry Pi, so we need to drive it.
It probably will open a video (ffmpeg?) and display it. Or, probably easier, it will open a folder with an image sequence and display each one for a 30th of a second (or something like that)
As of right now, the manipulator should work, however, we need to test it. This issue should be updated when we test and make changes.
Once we verify that it works, we can merge manipulator
into master
.
Look at README.md: @electryx outlined an idea for how to control the robot with only one gamepad. We may do that or do the same thing we did previously with two joysticks and a gamepad.
Joystick Instructions
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.