Comments (5)
If there a lot of demand for this, we can figure something out. What we need are the signals that come in and out of the PIDs used in the control software.
@alex-spataru, maybe this is something you would like to collaborate in?
from pidtuner.github.io.
@dagar the variables that we need for PID tuning are the time, the val
argument of the pid_calculate
function and the pid->last_output
.
If you tell me how we can get those variables from a log, I can help with the PID tuning.
Maybe @LorenzMeier can help with this information?
Also, could you point out to a cheap toy plane or multicopter that uses the PX4 autopilot software?
from pidtuner.github.io.
@dagar the variables that we need for PID tuning are the time, the
val
argument of thepid_calculate
function and thepid->last_output
.If you tell me how we can get those variables from a log, I can help with the PID tuning.
The multicopter rate controller is here (not using that old pid library). https://github.com/PX4/PX4-Autopilot/blob/f9d8c613b048f58eb3110e9af13cb3a89c4c866f/src/modules/mc_rate_control/RateControl/RateControl.cpp#L60-L75
Controller diagram. https://docs.px4.io/master/en/flight_stack/controller_diagrams.html#multicopter-angular-rate-controller
From the ulg the inputs are vehicle_angular_velocity
, vehicle_angular_acceleration
, and vehicle_rates_setpoint
.
The output is actuator_controls
.
Also, could you point out to a cheap toy plane or multicopter that uses the PX4 autopilot software?
Here are some options for kits.
- http://www.holybro.com/product-category/pixhawk/?orderby=date
- https://www.nxp.com/design/designs/nxp-hovergames-drone-kit-including-rddrone-fmuk66-and-peripherals:KIT-HGDRONEK66?&&&tid=vanKIT-HGDRONEK66
- https://www.bitcraze.io/products/crazyflie-2-1/
Alternatively I'd be happy to send you a flight controller if you want to build your own multicopter or put it in a plane.
You can also do quite a lot in simulation using gazebo or other options. https://docs.px4.io/master/en/simulation/gazebo.html
from pidtuner.github.io.
The PixHawk is pretty expensive as far as controllers go, this Omnibus F4 clone runs ArduPilot, INAV, Betaflight and, I assume, PX4.
It would be great if we could have support for those firmwares as well, and we can already get CSV logs of various telemetry from them, but I'm not quite sure which parameters you'd need logs for to support them.
from pidtuner.github.io.
Ideally, I would like to get an already assembled drone Where I can test and log data, so I can focus merely on the PID tuning issue (wish I had the time to build something).
Something like Omnibus F4 sounds good, supporting Betaflight and PX4 (since I could also use it for the Betaflight issue), but already assembled and in the price range of the Crazyflie (250-300 bucks).
My goal here is not to become a drone enthusiast, wish I could, but figure out how the pidtuner can be used to tune drone's PIDs.
The best approach is to find the PID code in the source code to pin-point the variables of interest. We need the exact variable that come in the PID (to compute the error) and right out of the PID (to compute the values that eventually end up in the motors). Then get some user data, and see how we progress.
So if you have any log data, please share it, preferably data where the PID gains are not well adjusted (bad performance). This kind of data gives more information relevant to tuning.
from pidtuner.github.io.
Related Issues (15)
- Idea: Other algorithms besides PID Velocity Form? (Position Form) HOT 7
- Can't change Selected Time Range HOT 2
- Make clearer how one updates the graph after changing a gain value HOT 1
- entring the sample data HOT 4
- desimal point HOT 4
- Questions about Input Limitations and "du_Lim" HOT 2
- PID Tuner could not find any steps in the data HOT 1
- Question about sys id and documentation HOT 4
- forum registration fails HOT 2
- Where is the math? HOT 9
- support Cleanflight/Betaflight/INAV logs HOT 39
- How to tune a Soft-PWM tuned heater behind an SSR HOT 4
- PID controller saturation HOT 1
- PID Tuner no longer working... HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pidtuner.github.io.