Description

This quadcopter does not use gyroscopes for stabilization and is controlled by changing the RPM on each of the four motors. Its feature is the use of software PID controllers that provide smooth and stable control.

For nerds

The figure above shows a simple flowchart of the program. Each engine receives control signals generated by PID controllers, of which there are four in total: PID controller for vertical speed, pitch, yaw and roll.
The first controller seeks to maintain a given vertical speed of the drone (read below), the other three generate signals directly to control the drone.
The throttle axis is represented as Slider 1, now you don’t need to hold and adjust the throttle value to make the drone hover, it’s enough to deflect the slider for vertical maneuver and return it to 0, the drone will tend to keep the vertical speed equal to 0. But this is not altitude hold, because at least vertical speed and tends to 0, but can take small negative values, so the drone will slowly descend. It just makes it easier to control the drone. If you want to keep the flight altitude constant, use AG 2, the algorithm will link the vertical speed and altitude (more precisely, the difference between the required and current altitude).
This control method is only a prototype, and does not work perfectly, its biggest disadvantage is the coefficients of the PID controllers, which must be selected manually for each craft.

Control

Use Slider 1 as the Throttle Axis (see point above) if you are using a keyboard assign slider control to keys for convenience; pitch, roll and yaw are set to standard axes by default.
Use AG2 to hold the flight altitude, AG3 to light.

Important!

Control may seem complicated at first. Drive carefully without making sudden movements, which may lead to instability of the quadcopter.
The program is very sensitive to fps (60 min), so the drone may behave unstable on weak devices. The use of high physics is recommended.
This is just a prototype, I'm glad to hear your comments, advice and wishes.

GENERAL INFO

  • Created On: Windows
  • Game Version: 1.1.107.0
  • Price: $85k
  • Number of Parts: 134
  • Dimensions: 0 m x 1 m x 1 m

PERFORMANCE

  • Total Delta V: 0m/s
  • Total Thrust: 0N
  • Engines: 0
  • Wet Mass: 9kg
  • Dry Mass: 9kg

STAGES

Stage Engines Delta V Thrust Burn Mass

15 Comments

  • Log in to leave a comment
  • Profile image
    2,093 DreaPods

    Your perfomance feedback, bug reports, questions and tips are welcome!

    Pinned 10 months ago
  • Profile image
    2,093 DreaPods

    @sacr3dbac0n0 oh, I'll try to come up with something in the future..

    3 months ago
  • Profile image
    4,665 sacr3dbac0n0

    @DreaPods I've tried the fixed time step, it could work, but it is hard to tune. However, it's still sensitive to FPS lower than 60. Any other ideas? I can't think of any other Vizzy tools we could use to fix this.

    4 months ago
  • Profile image
    2,093 DreaPods

    @sacr3dbac0n0 Hi! Thanks for the idea, I'll definitely check it out. I also had the idea of polling the PID controllers through a time constant slightly larger than the frame time (0.1...0.035 s) to reduce the impact of frame time instability on the system. But this requires very precise tuning for balance between responsive control and stable behavior of the craft.

    +1 4 months ago
  • Profile image
    4,665 sacr3dbac0n0

    Hello, I've been working on a PID-stabilized VTOL spaceplane and used your quadcopter as the inspiration and foundation for the code. I just wanted to say that I've found the solution for unwanted oscillations during physics timewarp. It's surprisingly simple: change nothing with code except dividing the PID gains by the timewarp multiplier amount. You can keep integrating and deriving with frame delta time without inducing oscillations. The gains scale with the time multiplier. Although I'm not sure how the frame rate issue could be fixed.

    4 months ago
  • Profile image
    2,093 DreaPods

    @Jerba This code contains 4 PID controllers that provide stable and smooth control by changing the speed of the engines. It is by changing the coefficients (you can easily see them before the P-I-D components) that you can adapt the program to any craft that is controlled in this way. However, there is a problem that I described above - this code is only a prototype and does not work perfectly. I have some ideas to improve the algorithm.

    8 months ago
  • Profile image
    400 Jerba

    Just wondering, where and how would I edit the code to be compatible with a much larger and heavier craft?

    8 months ago
  • Profile image
    2,093 DreaPods

    @Lunarmodule Maybe it's a bug, try downloading again

    9 months ago
  • Profile image

    我下载之后螺旋桨没了

    10 months ago
  • Profile image
    2,093 DreaPods

    @Jerba Thanks, the drone can sometimes be unstable, next time I will try to improve its stability (control through the pitch of the blades should improve the situation), I also have ideas for introducing some flight modes, and improving the program

    10 months ago
  • Profile image
    400 Jerba

    I love how stable it is and how well it can stabilize itself, do you plan on making a more stunt/fpv style drone? I’d love to that be able to possibly make a vizzy driven car and then follow it with the drone. I live the stability of this but it doesn’t turn too well, especially at higher speeds and doing something like a 180 turn using both roll and yaw upsets the drone. Would love if you could make a more performance based variant of the code! Great job on the vizzy too, really surprised at just how simple and small the code was considering how well it flies.

    10 months ago
  • Profile image
    2,093 DreaPods

    @Morty Thank you very much, I'm just learning. I have some ideas to improve the program, I hope I will implement them in the future

    10 months ago
  • Profile image
    498 Morty

    Very nice program grateful talent

    10 months ago
  • Profile image
    2,093 DreaPods

    @Wills123 Thanks!

    10 months ago
  • Profile image
    7,586 Wills123

    Very cool, I like how you put the solar panel under a transparent part

    10 months ago

14 Upvotes

Log in in to upvote this post.