uofsspaceteam / rover-embedded Goto Github PK
View Code? Open in Web Editor NEWA place to work on embedded microcontroller software for the USST Rover Project
A place to work on embedded microcontroller software for the USST Rover Project
Receive commands from the rover to move the drill.
Take real world xyz coordinates and translate them to lengths of linear actuators/motor rotations.
We had a terrible way of organizing versions of the VESCPacket arduino library. This is my doing, so I'll make sure all the the Arduino sketches are using the most up to date version, and organize things...
@ottopasuuna commented on Sat Jan 07 2017
The rover needs to know which direction it is facing. We need to figure out what hardware to use to acheive this, and implement it.
One option for environmental awareness is a LIDAR, basically a RADAR but with lasers.
As we are likely using these motor controllers, there may be very little that needs to be done. However, some modifications could be made to the firmware.
We need a standard way to communicate to all the microcontrollers on the rover, and the motor controllers have their own communication protocol that we may as well use for other micros as well. Should just be a matter of copying the necessary files from the bldc project and documenting what functions to call. It would also be nice if it was set up in such a way that we only need to include one headder file.
Just an issue to remind myself that this is a problem. Currently it looks like when the arduino receives a message over serial, it calls all the registered callbacks, regardless of whether it matches the appropriate key.
Monitor the state of the rover's battery
@ottopasuuna commented on Tue Sep 06 2016
Make motors on the arm move. Will likely be able to reuse last years code.
SCIENCE!!!!!!
With lasers.
Laser spectroscopy, find nitrites in a soil sample.
We'll need a way for embedded microprocessors to easily talk to robocluster. Probably using JSON for object transport. Simple way to do this is have a hash table of callback functions that are indexed base on the "key" or "event" part of the JSON message (assuming messages are of the form: {'event': 'test_event', 'data': 'data_one'}
) Assign an interupt to fire on Serial events, and call the necessary callback. Have a function for subscribing (add callback for an event), and publishing (pack data into JSON and send).
There is a new version of the VESC firmware, and some of the commands have changed. It's not necessary, but there have been issues filed for the upstream PyVESC library about it, so it would be good to get our stuff up to date and reduce the need for legacy code.
We have some absolute position encoders that will read the position of the joints. The VESC's handle the low level stuff, we just need to get the values back to the rover.
Be able to read the mass of the soil sample using a load cell. Also usefull to tell if a sample was put into the science bin properly, or if the rover just dumped precious science all over its self.
Could be a hardware issue requiring a different servo, or maybe we don't use a servo going forward.
Currently we write the position to be between 35 and 145 to get it to spin 0-180.
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.