bastiaangrisel / rtes Goto Github PK
View Code? Open in Web Editor NEWEmbedded System Drone Design
Embedded System Drone Design
I wrote down that this did not work. So when you pressed the button on the joystick, the QR did not go to panic.
Do some fancy bitshifts and filter tha sensrz
Write some code that implements a feedback loop on the X32
each message should have
control byte
2 value bytes
checksum byte
Give feedback to the user about the speed of the motors
List of values to be shown:
It still does not send the values 255 and >60000 or something
So that we can show this during the lab demo
Send an error message when overflow and/or divide by zero
now it is *2 or *1/2 and it should also be possible to do *3/4
Minimum measurements that must be conducted (and documented) include
the internal control response time of the ES (typically, the control loop time in ms), the system response
time as perceived by the user (i.e., the time between joystick movement or key-press, and QR response), and the associated QR yaw, roll, and pitch response (in terms of a time plot) in order to properly assess achieved stability performance.
Make sure that the QR is not turing the motors when you've just switched to yaw or full control mode.
Possibly buffered in the ES RAM first > see X32's programmer manual.
QR ==> PC
PC ==> QR
Max 10Hz update rate
also: don't log every loop if in safe or panic mode
This function should send all kind of predefined errors
At the pc these errors must be mapped to a string that the user can read
also define error messages like:
Make sure that RPY has enough effect on the motors
what is the time that it takes on the QR to act upon the JS?
What is the typical control loop time
Currently, messages are 'sent' via printf. We need to send back in the same way as we receive on the QR (so with control, value and checksum). There must be some put_char function in X32 to do this.
The main file is becoming too long. Main should be small and there should be separate files/methods for communication, sensor reading and filtering, feedbackloop and motor actuation.
There are ~20 global vars, maybe a reduction is possible by making some calls more functional
Make sure that a status LED is on the QR as well (just as on the nexys). Maybe we can make a fancy blinking LED thing.
Make sure that we can adjust all important values via the keyboard. When giving the demo, we can then just tune it a bit if the TA's ask us.
Instead of having magic chars everywhere in the code, specify an enum (of defines) with all the control values. This makes sure that they are all in one place and make the overall code less sensitive to errors
Everything includes:
-Joystick axes RPY
-Throttle
-Offset
-RPM
0-600 in a small interval, 600-max in a longer interval
check if last throttle event was 0, before sending mode change>=manual
messages like: start new line
Except for PANIC and SAFE
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.