I see there’s a fixedwing.launch in https://github.com/byu-magicc/rosplane and ropsplane depends on rosflight. But there’s also a fixedwing.launch in rosflight. So have all the features of rosplane been imported into rosflight so it’s no longer needed?
Hey Julian, welcome!
fixedwing.launch just provides the dynamics and 3D models needed to simulate a fixedwing, not fly one. It also provides an identical interface to hardware from the perspective of ROS, to hopefully make hardware integration easier. However if you launch
fixedwing.launch alone, the only input to the plane will be the RC (just like if you flew ROSflight on a real plane without a companion computer)
rosflight allows you to directly control the actuators of the aircraft. Any higher-level functionality (waypoint following, altitude control, etc…) are provided by
I guess it’s there in the first line of the description if I knew how to read it. I was not woken up to the different categories of modules: simulation vs control.
Do you know if there any modules for doing System Identification? This is the trick of deriving the improved values for the parameters of lift and drag from real flight data by retuning and rerunning the simulation against the data until it best matches, so I believe the simulation is the starting point. I’m potentially involved in a flexwing hang-glider design, and still hunting around for the right tech to use.
I’m so sorry it’s taken so long for me to respond.
I don’t know of any modules for doing SysId of a fixed-wing.
Moving to the speculation side of the room, however, I spent some time thinking about this once upon a time, and I always wanted to try some form of Gauss-Newton optimization over parameters like that. http://ceres-solver.org/ is a phenomenal tool for doing GN. I would bet that you could set up a GN framework that minimized the error between the observed flight trajectory and a simulated one where the design variables of the optimization were system parameters like what you’ve described.
I would bet that the hardest part would be getting the initial convergence right, but once you were in the ballpark, I would imagine such a system would work really well.