Input shaping in ArduPlane 4.8 introduces rate limits, acceleration limits, and jerk limits on attitude commands, decoupling commanded angle responses from disturbance responses to create smoother, more predictable aircraft behavior while maintaining aggressive disturbance rejection.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
ArduPlane 4.8 input shaping
Added:This is a demo of the input shaping features that are coming in ArduPlane 4.8.
Uh so, they are merged in master. So, if you want to try them, you can get 4.8 dev.
And what input shaping is is uh rate limits, excel limits, and jerk limits on the attitude commands.
So, anybody who's been flying copter will be very used to this.
Uh and now we've got them on plane, too.
So, uh first of all, we'll just have a look at the premises. There are a couple of new parameters.
Uh so, we're just going to look at the roll axis. You see I've got a airplane here in RealFlight.
So, we've got new parameter roll to serve excel. So, that's the excel limit.
And then we've got a new angle gain roll angle P.
Uh and at the moment, I have actually got the excel limit disabled.
And that, if you set the excel limit to zero, then that behavior is maintained from previous versions. So, if you set it to zero, you can get back the old uh behavior uh if you don't like the new input shaping. And the reason I've disabled it to start with, the default is actually that it's enabled, is just to sort of show you what it looks like on this plane with the uh old behavior.
So, I'm just going to do some rolls. I'm in flight mode A here.
Um we're just going to look at the roll axis. So, that's sort of the roll me going full stick left, full stick right.
As you can see, it's quite an aerobatic plane.
Uh so, that's uh the standard uh behavior.
And then I'm going to turn on the excel limit. So, this is the new default uh value.
So, this is what, if you had just updated to 4.8, this is what you would see.
So, you might see it's a little bit uh sort of slower and smoother.
And then, uh you'll see this new angle gain. So, by default, we actually don't use the angle gain. It uses one over your existing time constant. That's just to maintain existing behavior.
And then the time constant then, if input shaping is enabled, is used for uh the jerk limit.
So, uh because I want to change the time constant to show you what different jerk limits look like, what I'm going to actually do is set the angle P to one over the time constant. So, uh I can just do one over 0.2.
So, it would be an equivalent angle P of five.
Uh so, then that means that my angle gain then is no longer coupled to the time constant. I can change the time constant without affecting the recovery behavior.
Uh so, uh you should see that's the same as before because if it is zero, it uses one over the time constant, as it says here.
So, now let's go to a lower time constant. So, we'll go from 0.2 down to 0.1.
So, you should now see that's a little bit more uh responsive.
And then, let's go from 0.1 up to 0.5.
So, I'll show you the other way.
And now you'll see that's much slower to respond if I center the stick.
Comes back very slowly to the new angle.
And then, back to level.
So, uh there's also a tool to help you uh understand this new uh behavior. So, it's from ardupilot.org/tools/webtools/kinematictool/plane.
And actually, the only way to um get to this is to type in the address.
There's no link anywhere uh on the web tools page, but I'll put the link in the description of the video.
So I've got this set up uh as we had the plane to start with.
So we've got no velocity limit, no acceleration limit in the standard.2 time constant. So this is the old behavior.
So let's put on the excel limit of 500 as we first tried.
So you'll see that the pre-4.8 I should probably explain what these graphs are. So we've got angle, angular velocity, and angular acceleration, and then way down at the bottom we've got jerk.
And there's three lines. So there's pre-4.8, that's the blue.
There's the input shaping path, 4.8 plus, so that's the new input shaping behavior. And then there's the error path on 4.8. And you'll see that the error path here matches very closely to the old behavior.
So previously, because we didn't have input shaping, the error path and the demand path were the same, which meant if you went from an angle demand of zero to 30, it was the same behavior as if the aircraft was pushed off 30° off its design angle by the wind, for example.
So the new input shaping allows us to decouple that commanded angle versus the the sort of disturbance reduction error.
So the new behavior is this orange line, so you can see it is much smoother.
And you'll see it's uh smooth right down to the acceleration level, and it's um continuous in jerk, whereas previously it was discontinuous. You can see at the start here it's discontinuous even in velocity. So now uh it's uh uh much smoother, and you should actually notice that as you're flying around.
So, then let's have a look at those other time constant values we tried. And the time constant is used to calculate the jerk limit down here.
And I should actually put that angle gain that we used in the example back.
So, now you'll see that the input shaping has become much more aggressive. So, we we're reaching the target angle in a shorter time, but we're still nice and continuous and smooth.
Um and then likewise, if I go up to the higher time constant that we tried, you'll see now it's taking much longer.
We're much slower to to to respond.
Um but again, we're still smooth, which the pre-existing controller very much uh is not.
So, I guess the question then is why is this better, right? What what's the improvement? So, there's a couple of things. One is obviously it should be much smoother to fly. You can see how smooth this is to respond.
So, you should notice that, for example, when you go through waypoints in auto, you should see the aircraft sort of feels much more sort of calm and collected as it makes turns and stuff.
It isn't sort of going, "Oop, waypoint." And then immediately trying very hard.
The other example, which I think uh this aircraft makes quite clear, is that got a very responsive aircraft here, but I can make it uh feel very slow to the pilot.
So, that lets you have an aircraft that can track the desired angle very closely, and it'll still be very aggressive if wind or some other disturbance pushes it off its target, but to the pilot, it's very smooth and slow to respond and predictable.
So, it's all the key thing that the input shaping adds is that's difference between how we respond to inputs to commands versus how we respond to disturbances.
Uh and then along with that it should be much smoother.
Uh and you'll have to sort of I hope the defaults are are pretty good, but you'll have to sort of have a play about it and maybe you'll use that um web tool to help you understand what your gains mean.
And I think particularly on big vehicles that uh can't respond as quickly, I think this should be a nice um a nice flight improvement. It is on by default, so if you decide you don't like it, you can disable uh disable it just by setting the acceleration limit uh to zero.
There are also some new uh log items that I thought we should just have a look at. So, uh typically you'll be using or you will have been using the ATT message.
So, we'll plot des roll and roll.
And then you'll see there's this new message uh ATIS, so that's attitude input shaping.
And then we'll plot roll angle uh from that one as well.
And then we'll have a look at this uh in a bit of the log. So, the key thing is that the new uh the new uh input shaping log ATIS, so that's the roll target that the desired uh the actual roll is following. So, you see the desired roll follows the pilot stick.
And the input shaping roll follows the pilot stick, but now it's uh smoothed with those extra limits. And then uh the actual roll of the vehicle then you should now see it very closely matches that input shaped roll angle.
So, that's the uh um one of the advantages of this new methodology is that uh you should now have very good tracking between your input shaped angle and the actual angle of the vehicle.
Uh so, if you want to review um the angle control behavior, then uh you want to be looking at this new uh input shaped roll target in the ATAS.
Uh R ang and of course there's P ang as well. And then there's the angle error, uh the velocity, the input shaped velocity, and the input shaped acceleration.
Uh so, yeah, that's the new uh log messages that you'll have to be uh using. So, I hope everyone finds this new functionality nice. And of course, uh if you can test it and give us feedback, you know, that'll be appreciated.
Thank you.
Related Videos

Setting up a curved screen with Immersive Calibration Pro 4 and multiple cameras (P3D v4)
FlyerOneZero
23K views•2019-07-21

Robot Learning with Sparsity and Scarcity
allenai
379 views•2025-10-14

Jorge Mendez-Mendez: Unlocking Lifelong Robot Learning With Modularity (2023-10-05)
umassmlfl
237 views•2024-01-06

Northwestern’s MS in Robotics: Student Robotics Projects, 2023
NorthwesternEngineering
1K views•2024-05-31

"Perfect" Turns: Turning by the Gyro - FIRST LEGO League (FLL) SPIKE Prime + EV3 RePlay Programming
ZacharyTrautwein
94K views•2020-10-02

Gorkem Secer: TSLIP-based Deadbeat Running Control of Bipedal Robot ATRIAS
DynamicWalking-wv6qm
298 views•2018-06-22

Self-Driving Cars Need Lessons On Human Drivers | Maddie About Science
skunkbear
26K views•2018-08-21

Milrem Robotics’ THeMIS UGVs used in a live-fire manned-unmanned teaming exercise
MilremRobotics
99K views•2021-05-20
Trending

we're almost finished the house (ep.125)
JennaPhipps
347K views•2026-07-22

We Finally Know Where Saturn’s Rings Came From
astrumspace
79K views•2026-07-22

BIG BET: Cathie Wood goes ALL IN on Elon Musk
FoxBusiness
89K views•2026-07-22

MIC DROP: Smithsonian Director Called Out For Woke Propaganda
TheAmalaEkpunobi
37K views•2026-07-23