Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed Wing Aircraft #2955

Open
AOS55 opened this issue Aug 20, 2020 · 122 comments
Open

Fixed Wing Aircraft #2955

AOS55 opened this issue Aug 20, 2020 · 122 comments

Comments

@AOS55
Copy link

AOS55 commented Aug 20, 2020

Fixed Wing Vehicle Integration

I am working on adding a FixedWing aircraft class into Airsim, so far I have been documenting my work under issue #2508 but as suggested by @rajat2004 it would be usefult to move this work to a new issue so as to improve visibility for others to work on.

Work so far

Please see this post for a detailed breakdown of what has been added in my forked Airsim repository under the fixedwing branch. I will aim to keep updates on this issue of new files, classes, methods & functions with a view to write comprehensive documentation as the code begins to get to a state where it can be merged back into the master branch on the main repo.

Since the last update post on #2508 I have been updating the FixedWingLibClient files to enable communication with Ardupilot. A linked issue has been opened within the ArduPilot Repo.

FixedWing Branch State

  • Compilable from Visual Studio: 🟢
  • Runs alone in UE4: 🟢
  • Runs with ArduPilot and Mavlink in UE4 over network: 🔴
  • Model validated with real comparison: 🔴

Known issues

  • I can't compile the code from source in Visual Studio please see the chain back in Fixed Wing UAV Simulations #2508 for what we have tried so far. I think it is most likely a mistake I have made in the source code. <-- This is currently the most pressing issue.
  • I naievly initially implemented the control surfaces at seperate functions getElevatorSignal() etc. I am beginning to realise as I work through the control implementation this was not a good way to go about this and the program is already well setup to accept a more conventional control vector, i.e. the u vector in state-space form. I am planning to go back and correct this to a 4 row u vector.
  • The Core APIs I effectively copied over when setting up the controller files include several aspects that I don't think make sense for a Fixed Wing aircraft, for example commandVelocityHold uses the function moveByLocalVelocity that takes a boolean yaw mode switch and rate as a command these are set as false and 0 in the current implementation. But, moveByLocalVelocity may be better of if rewritten for fixedwing.

Planned Future Work

Initially I am aiming to work to resolve all the known issues and turn all the 🔴 in the state to 🟢. Following from this I will aim to add the following functionality:
[ ] Construct a similar Python API as in multirotor <-- hopefully a short term objective
[ ] Implement Undercarriage for fixedWingLandings
[ ] Deep Reinforcement Learning (DRL) based FW landings <-- main PhD objective, expect to write & publish a paper based on this
[ ] Validate model and control on real UAV and FW aircraft, ties in with above.

Motivation

Principally this is for my PhD at the University of Bristol where I am aiming to use a combination of computer vision and Deep Reinforcement Learning to train an autonomous fixedwing agent/aircraft to navigate to and safely land in an unknown location. This is both with and without power and on a range of fixedwing aircraft including fixedWing UAVs, gliders & multiengine light piston aircraft (<5700Kg). Not only this but when discussing AirSim with my colleagues we believe that having a fixedWing simulator capable of highfidelity graphics and SITL that is efficient will be of great benefit.

Ongoing Development

Several users have already been realy helpful (@rajat2004 😀), if anyone has any ideas about how to solve some of the issues I have described above all help is greatly appreciated. In particular if anyone is able to have any success compiling the fixedwing source please let me know as I'm a little stumped 😕 as to why it won't compile.

@rajat2004
Copy link
Contributor

I had a try at compiling your branch, the error message was really quite useless.
Opened AOS55#1 which fixes that and brings us back to normal compilation errors with understandable messages (for now)

@AOS55
Copy link
Author

AOS55 commented Aug 24, 2020

Progress Update

Aircraft Physics Control Construction

I have been continuing to work on the FixedWingPhysics simulation aiming to resolve compilation errors. I have vectorised the control surfaces so ideally they behave as a u tyoe vector. With this I introduced a new file Aeroplane.hpp that instants each control from the ControlSurface.hpp file as a PhysicsBodyVertex class. I have not introduced the thrust vector yet but this shouldn't be too much of a challenge.

Aircraft links to the structs in AircraftParams.hpp and applies the aero-forces via setWrench. Most fixedwing dynamic models/databases, define the forces and moments around the CG, as dynamicDerivatives. setWrench applies these and then is updated in the loop by FixedWingPhysicsBody.hpp, I'm a little lost as to how the PhysicsBody class updates the aircrafts pose via fastPhysicsEngine. The way I've set up the classes may also be an antipattern and I might need to refactor some of the structs, please let me know your thoughts on how you might setup the structures.

Compilation error

When I run the repo from visual studio I get the following error :

Error C4717 'msr::airlib::ArduPlaneApi::resetImplementation': recursive on all control paths, function will cause runtime stack overflow Blocks C:\Users\quessy\Documents\Unreal Projects\AirSim\Unreal\Environments\Blocks\Plugins\AirSim\Source\AirLib\include\vehicles\fixedwing\firmwares\ardupilot\ArduPlaneApi.hpp 57

Im not sure what this error is being caused by, I'm guessing there is no termination condition in the recursive call. If anyone has experienced this before I'd love to get your thoughts.

@rajat2004
Copy link
Contributor

rajat2004 commented Aug 24, 2020

That's happening cause the function is calling itself here - https://github.com/AOS55/AirSim-1/blob/FixedWing/AirLib/include/vehicles/fixedwing/firmwares/ardupilot/ArduPlaneApi.hpp#L54
It should instead be calling FixedWingApiBase::resetImplementation(), from it's parent class

Note that I haven't tested this myself yet

@AOS55
Copy link
Author

AOS55 commented Aug 24, 2020

Thanks yep that was it was quite obvious now I think about it in more detail. It several unresolved external symbol errors now but I think there a case of sorting out further problems with the API.

@AOS55
Copy link
Author

AOS55 commented Aug 24, 2020

Does anyone have any thoughts on this error coming from FixedWingApiBase.hpp, I thought it was to do with the link between the base class and Mavlink/Px4 implementation override. I can't see anything untawards though:
LNK2001 unresolved external symbol "protected: virtual float __cdecl msr::airlib::FixedWingApiBase::getAutoLookahead(float,float,float,float)const " (?getAutoLookahead@FixedWingApiBase@airlib@msr@@MEBAMMMMM@Z) Blocks C:\Users\quessy\Documents\Unreal Projects\AirSim\Unreal\Environments\Blocks\Intermediate\ProjectFiles\Module.AirSim.cpp.obj 1

image

@rajat2004
Copy link
Contributor

Functions seem to be missing, are all the files uncommented in the AirLib.vcxproj?

@AOS55
Copy link
Author

AOS55 commented Aug 24, 2020

Thats a good point I've uncommented them now, from AirLib.vcxproj, but Im still getting the same link errors from the compiler. When running build.cmd I also get some errors in the command prompt that are slightly different, perhaps these are what needs to be looked at. These are quite clearly what I should have been looking at, I didn't appreciate the importance of the API src client, server and base files.

image

@AOS55
Copy link
Author

AOS55 commented Aug 24, 2020

Resolved all build errors now except for one rather unusual one:
"C:\Users\quessy\Documents\Unreal Projects\AirSim\AirSim.sln" (default target) (1) -> "C:\Users\quessy\Documents\Unreal Projects\AirSim\AirLib\AirLib.vcxproj" (default target) (12) -> (ClCompile target) -> C:\Users\quessy\Documents\Unreal Projects\AirSim\AirLib\deps\rpclib\include\rpc\msgpack\v1\object.hpp(202,11): error C2039: 'msgpack_pack': is not a member of 'Eigen::Matrix<float,3,1,0,3,1>' [C:\Users\quessy\Documents\Unreal Projects\AirSim\AirLib\AirLib.vcxproj]

Not sure where this one links to as when I look at the location of the error in object.hpp which I'm not sure where it lives in the repo as dependencies folder not included in push/pull requests.

@rajat2004
Copy link
Contributor

The RPC error was due to the fact that it doesn't know how to pack the Vector3r object, need to convert it into the struct defined in RpcLibAdaptorsBase and then pass it. Opened AOS55#4 which fixes that, and adds the files to CMake.
After this AirLib compiles, but there are still lots of errors when building the entire Blocks env, undefined references in FixedWingApiBase.cpp, due to function declarations in .hpp, and usage of commented out methods

@AOS55
Copy link
Author

AOS55 commented Aug 25, 2020

Great thanks very much Ill take a look at those errors today, I merged the issue back into fixedwing and have no build.cmd errors on my end too.

@AOS55
Copy link
Author

AOS55 commented Aug 25, 2020

Any thoughts on why I'm getting the following include/visibility related build error from in visual studio? I can see the source file UdpSocket.hpp is still on the repo, could it be related to cmake changes?

  • From Visual Studio: C1083 Cannot open include file: 'UdpSocket.hpp': No such file or directory Blocks C:\Users\quessy\Documents\Unreal Projects\AirSim\Unreal\Environments\Blocks\Plugins\AirSim\Source\AirLib\include\vehicles\car\firmwares\ardurover\ArduRoverApi.hpp

  • From Output C:\Users\quessy\Documents\Unreal Projects\AirSim\Unreal\Environments\Blocks\Plugins\AirSim\Source\AirLib\include\vehicles/car/firmwares/ardurover/ArduRoverApi.hpp(20): fatal error C1083: Cannot open include file: 'UdpSocket.hpp': No such file or directory

@rajat2004
Copy link
Contributor

That's very strange, Windows shouldn't be affected AFAIK since it uses the .sln files. And if this were a problem, then it would have appeared way earlier since support for Rover has been present for many months
Does this appear when running build.cmd?

@AOS55
Copy link
Author

AOS55 commented Aug 25, 2020

No thats the unusual thing build.cmd doesnt present any errors when run

@rajat2004
Copy link
Contributor

Hmm, maybe try running clean_rebuid.cmd from the root directory, that should rebuild everything.
Do commit any changes made in the files present in the Blocks directory like in the AirLib folder before running though

@AOS55
Copy link
Author

AOS55 commented Aug 25, 2020

Great thanks that seems to have resolved it back to linking problems probably due to decleration again.

@rajat2004
Copy link
Contributor

Nice! Still have no idea why VS decided to remove the header file
Side note, this does somewhat bring into mind that GitHub issues might not be the best way to communicate, especially on smaller problems. Maybe something for future

@AOS55
Copy link
Author

AOS55 commented Aug 25, 2020

Yeah not sure its unusual.
Yes certainly, I'm surprised there isn't a microsoft/AirSim slack setup or equivalent for more direct communication. As you said something for the future.

@rajat2004
Copy link
Contributor

There is a Facebook group, but I myself haven't used it since a long time.
AP uses Discord (earlier Gitter) and has a forum as well, similar with PX4. Maybe after there is more activity and members. Having something like this would definitely reduce the number of issues also, since more confirmed issues will be created rather than duplicate and support ones

@AOS55
Copy link
Author

AOS55 commented Aug 25, 2020

Yes I agree thats a good idea, the documentation for AirSim would need to reflect this too as there is not an obvious point of contact when onboarding new users/developers with the application.

Also after commenting out the linking errors in the application I have managed to compile through to the blocks environment 😀.

@rajat2004
Copy link
Contributor

Awesome, now comes the probably more difficult part of modelling, physics and making sure everything works!
Having a more direct method of communication will also increase community interaction a lot. Which platform to select, etc will have to be decided by the maintainers though, might require collecting some opinions from the users

@AOS55
Copy link
Author

AOS55 commented Aug 25, 2020

Yes I agree, would you like to open up a communication issue, I'm not sure if you can do a poll on github?

@rajat2004
Copy link
Contributor

rajat2004 commented Aug 25, 2020

Don't think I'm the best person to open such a issue, a maintainer should do this probably. They'll also have to setup the platform and maybe maintain it (no other word is coming to my mind right now)
Github doesn't have polls AFAIK

@AOS55
Copy link
Author

AOS55 commented Aug 25, 2020

Yes that makes sense, a moderator or project manager sort of thing. Perhaps if you know anyone you could @ them into this issue so they can set it up. Ok sure you could always make the proposed solution as a comment and get people to vote 👍 or 👎 on the comment.

@rajat2004
Copy link
Contributor

@madratman @saihv @ironclownfish @jonyMarino Do you think having another (more chat & voice type) communication platform will be worthwhile? This will definitely increase community interaction, and will probably reduce support issues.
Just wanted to know your opinions, and definitely don't want to increase your (already heavy) workload too much.
Looking forward to hearing from you!

@rajat2004
Copy link
Contributor

@AOS55 AirLib is actually not compiling for me, getting some undeclared identifier errors for the function declarations which have been commented out. Here's a Travis build - https://travis-ci.com/github/rajat2004/AirSim/builds/181419292, even the Windows build fails.
Did some files not get committed when commenting out the API methods?

Would also recommend activating Travis on your Github repositories (atleast Airsim), that has saved me a few times when making some changes which don't compile on Windows, or breaking something else. (Side note, I did break the Windows build in my first contribution to Airsim (and others later on also), that was a big motivation to get Travis setup properly on Airsim)

@AOS55
Copy link
Author

AOS55 commented Aug 26, 2020

@rajat2004 hmm ok, this is interesting could you please send me the identifier errors you are getting I will cross-check them on my local machine, I just ran update_to_git.bat and had no further changes and I also ran update_from_git.bat in Blocks and it still compiles ok on my end. A couple of thoughts:

  • Are you using UE4.25.3 or UE4.24.3? I have been using 4.25.3 I don't know if this would effect the build or travis.
  • Did you try rebuilding from the root directory as that seemed to be what caused mine to compile in the first instance?

Nice Idea, I have setup Travis with my branch, and it also appears to fail. Looking at the job log it has the following on line 1457. I wonder if this is unity related or just what the .travis.yml script should print to the command line.

The command "if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./setup.sh; ./build.sh || travis_terminate 1; echo "Starting Unity Build!"; (cd Unity && ./build.sh || travis_terminate 1); elif [[ "$TRAVIS_OS_NAME" == "windows" ]]; then export PATH=$MSBUILD_PATH:$PATH_FIX:$PATH; cmd.exe //C 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat' amd64 '&&' build.cmd '&&' cd Unity '&&' build.cmd; elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ./setup.sh; ./build.sh || travis_terminate 1; echo "Starting Unity Build!"; (cd Unity && ./build.sh || travis_terminate 1); fi" exited with 1.

@rajat2004
Copy link
Contributor

Very strange that it works on your machine, these are the errors I'm getting -

/home/rajat/Github/AirSim-FixedWing/AirLib/src/vehicles/fixedwing/api/FixedWingApiBase.cpp:514:9: error: use of undeclared identifier 'safetyCheckVelocity'
    if (safetyCheckVelocity(Vector3r(vx, vy, vz)))
        ^
/home/rajat/Github/AirSim-FixedWing/AirLib/src/vehicles/fixedwing/api/FixedWingApiBase.cpp:526:9: error: use of undeclared identifier 'safetyCheckDestination'
    if (safetyCheckDestination(dest))
        ^
/home/rajat/Github/AirSim-FixedWing/AirLib/src/vehicles/fixedwing/api/FixedWingApiBase.cpp:538:9: error: use of undeclared identifier 'safetyCheckVelocity'
    if (safetyCheckVelocity(getVelocity()))
        ^
/home/rajat/Github/AirSim-FixedWing/AirLib/src/vehicles/fixedwing/api/FixedWingApiBase.cpp:562:9: error: use of undeclared identifier 'safetyCheckVelocity'
    if (safetyCheckVelocity(getVelocity()))
        ^
[ 80%] Building CXX object AirLib/CMakeFiles/AirLib.dir/home/rajat/Github/AirSim-FixedWing/AirLib/src/vehicles/multirotor/api/MultirotorApiBase.cpp.o
[ 81%] Building CXX object AirLib/CMakeFiles/AirLib.dir/home/rajat/Github/AirSim-FixedWing/AirLib/src/vehicles/multirotor/api/MultirotorRpcLibClient.cpp.o
4 errors generated.
AirLib/CMakeFiles/AirLib.dir/build.make:230: recipe for target 'AirLib/CMakeFiles/AirLib.dir/home/rajat/Github/AirSim-FixedWing/AirLib/src/vehicles/fixedwing/api/FixedWingApiBase.cpp.o' failed
make[2]: *** [AirLib/CMakeFiles/AirLib.dir/home/rajat/Github/AirSim-FixedWing/AirLib/src/vehicles/fixedwing/api/FixedWingApiBase.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 83%] Linking CXX executable ../../output/bin/MavLinkTest
[ 83%] Built target MavLinkTest
/home/rajat/Github/AirSim-FixedWing/AirLib/src/vehicles/fixedwing/api/FixedWingRpcLibServer.cpp:116:45: error: no member named 'moveByManual' in 'msr::airlib::FixedWingApiBase'
        return getVehicleApi(vehicle_name)->moveByManual(vx_max, vy_max, z_min, duration);
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^
1 error generated.

AirLib compilation doesn't depend on UE, Travis also doesn't have UE, it just tests whether AirLib, ROS wrapper compiles, and there's the recently added Azure Pipelines CI which compiles the entire Blocks project on Ubuntu and Windows and packages it.

Yup, I'm rebuilding from the root directory, ./clean.sh & ./build.sh.

That's just Travis printing the entire command which failed to run, the errors can be seen above it, starting from here

@jonyMarino
Copy link
Collaborator

Hi @AOS55! Thanks for the amazing work you are driving here! I think we can simplify something in your design. I don't know if there is a simple controller for JSBSim (like SimpleFlight), but it is integrated with the autopilots. So it would seem like a good idea to leave the control on the JSBSim side and leave AirSim alone with perception and reporting collisions. What do you all think?

@AOS55
Copy link
Author

AOS55 commented Jan 5, 2021

Hi @jonyMarino thanks a lot. Yes there is xml files for a lot of the aircraft that sets the gains for controllers defined inside JSBSim, for example the c172x ap. I have also found it useful to directly control the aircraft using a python script which I did for the x8. I expect to use the same script to control the aircraft but with collisions also being calculated by airsim, i.e. update_airsim should also return a collision value and the connection between airsim and jsbsim will happen in the airsim C++ side rather than in the python script, this should be what JSBSimPhysicsEngine.

@jonyMarino
Copy link
Collaborator

Great! This development would have an incredible impact if it could be used for multirotors as well. Why is it that I don't see much work done in JSBSim for that? It is not the best option?

@AOS55
Copy link
Author

AOS55 commented Jan 6, 2021

Thanks, yes certainly there are quite a few useful physics simulations included with JSBSim too such as heavier than air powered rotorcraft (helicopters), airships etc that I haven't looked at but I'm sure others would find useful. My best guess as to why multi rotors haven't been extensively developed is probably age? I think JSBSim started in the late 90s or early 2000s and they just weren't considered significantly at this time except for rc aircraft @seanmcleod may know more?

@seanmcleod
Copy link

In terms of JSBSim and multirotors take a look at the following - JSBSim-Team/jsbsim#333

@jonyMarino
Copy link
Collaborator

jonyMarino commented Jan 11, 2021

Thanks, @seanmcleod! I opened a discussion about integrating with other simulators here: #3284. It would be great if anyone of you can join.

@taylorpool
Copy link
Contributor

Hi all. I'm very interested in the integration of AirSim with JSBSim physics in order to model transitioning vehicles. Just wondering what the current status of this project is and how I can help move it forward.

@AOS55
Copy link
Author

AOS55 commented Feb 19, 2021

Hi @tpool2 thanks for your interest I'll put a general summary out of where I have gotten to with JSBSim integration with AirSim:

I spent a while getting JSBSim to compile and link in Visual Studio and with mac/linux by adding the relevant commands to the setup.sh and build.sh or build.cmd.

When first building in Unreal I've had to add #include simgear.h to a couple of the jsbsim header files, I thought I added the relevant code to the airlib project file [https://github.com/AOS55/AirSim-1/blob/FixedWing-JSBSim/AirLib/AirLib.vcxproj] but I've tried playing around with it and can't seem to get it to work.

When run with settings.json as:

  "SettingsVersion": 1.2,
  "SimMode": "JSBSim",
  "Vehicles": {
    "JSBSimPlane": {
      "VehicleType": "jsbsim"
      }
    },
  "SubWindows": [
    {
      "WindowID": 0,
      "CameraName": "0",
      "ImageType": 3,
      "Visible": true
    },
    {
      "WindowID": 1,
      "CameraName": "1",
      "ImageType": 5,
      "Visible": true
    },
    {
      "WindowID": 2,
      "CameraName": "2",
      "ImageType": 0,
      "Visible": true
    }
  ]
 }

The programme runs until it gets the following error:

[2021.02.19-09.52.21:942][722]LogActor: Warning: BP_CameraDirector_C /Game/FlyingCPP/Maps/UEDPIE_0_FlyingExampleMap.FlyingExampleMap:PersistentLevel.CameraDirector has natively added scene component(s), but none of them were set as the actor's RootComponent - picking one arbitrarily
Exception thrown: read access violation.
_Scary->**_Myhead** was nullptr.

Looking at the call stack this appears to come from here the connect_member function. I haven't made much more progress past this unfortunately and its proven to be a real challenge.

@nikitabeebe
Copy link

Has there been any update on the status of this? I'm looking to implement a fixed wing UAV for a camera GPS project I'm working on, and need to do it via airsim.

@jonyMarino
Copy link
Collaborator

Hi @nikitabeebe! you can use @AOS55 fork: https://github.com/AOS55/Fixedwing-Airsim

@AOS55
Copy link
Author

AOS55 commented Jun 1, 2021

Hi @nikitabeebe sorry for the delay in getting back to you the branch jony suggested is still wip I haven’t looked at it in a while hope to get back soon you might find the fixedwing-airsim repo of more use which uses a python backend with the client pose forwarding. I’m going to put some more documentation in this week happy to setup a meeting to talk through it too.

@Jaeyoung-Lim
Copy link
Contributor

@AOS55 Thanks for the great work on getting fixedwing working with Airsim!

I am interested in supporting fixedwing vehicles in Airsim with a autopilot (PX4) as a SITL simulation.

I have looked into https://github.com/AOS55/Fixedwing-Airsim, but it doesn't seem very obvious how this would work with the implementation using python bindings of jsbsim.

@AOS55 Would you have any insights how you envision this would work and how this would maybe fit the jsbsim integration on PX4 side as in https://github.com/Auterion/px4-jsbsim-bridge ?

Thank you in advance

@redhat2299
Copy link

@AOS55 really great work ,I like to know what is the progress ,when i tried to open fixed fixed airsim's block environment in unreal I'm getting errors ,Sir please help me out

@airsimdevdd
Copy link

Fixed wing in Airsim , Any Modified version of Airsim to work with fixed wing please help @AOS55
@rajat2004 @jonyMarino @seanmcleod @xxEoD2242 @nikitabeebe

@PiggyGaGa
Copy link

Hello AOS55, I have download your AirSim-1 branch and merge it into the newest branch of Airsim, with UE version 4.27, I have gained some understanding of its architecture of AirLib. After some tries and fixed some bugs, the prj is able to be compiled, but with run error. I will continue your work to make it run on fixedwing. I also want use fixedwing to train deep reforcement learning algorithms. Once I make some progress, I will share my work. Thanks for your work.

@ysh11o-2020
Copy link

Hello AOS55, Thanks for your sharing!
I have download your AirSim-1 branch and try to merge it into the Unreal Version 5.1.2 AirSim plugin.
Now I can spawn the fixed-wing pawn successfully, but I can't make it fly. I want to know How can I make it work by RPC python apis or something else.
Thanks for your work, Looking forward to your reply.
image

@JeroZe
Copy link

JeroZe commented Jul 11, 2024 via email

@ysh11o-2020
Copy link

fixedwing-rolling
Now I press begin play button on unreal editor, the fixed wing pawn start rolling.

@PiggyGaGa
Copy link

fixedwing-rolling fixedwing-rolling Now I press begin play button on unreal editor, the fixed wing pawn start rolling.

Hello, the fixed wing pawn start rolling is normal because of the kinematics of fixedwing in this demo is not complete, I tried to fix this bug, but need some time. The vehicle model calculate wrong kinematics. It seems that some extral work need to be done. We can sovle it together.

@ysh11o-2020
Copy link

@PiggyGaGa Thanks for your reply!
I am also trying to fix this problem, if there is any progress I will upload my solution

@whf5236
Copy link

whf5236 commented Jul 16, 2024

fixedwing-rolling

    [
      
        ![fixedwing-rolling](https://private-user-images.githubusercontent.com/70686866/347717636-3dacd985-5778-4a8e-871b-ed79b8845024.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEwNTIxNTksIm5iZiI6MTcyMTA1MTg1OSwicGF0aCI6Ii83MDY4Njg2Ni8zNDc3MTc2MzYtM2RhY2Q5ODUtNTc3OC00YThlLTg3MWItZWQ3OWI4ODQ1MDI0LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE1VDEzNTczOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA0N2Y2ZjZiMjY0ZDQwZjg2NjFhZDE5NTFhNjZiZTJlZDVhYWMzMjQ0NjE2YjE1ODYzMzI5MzFlYTU3NGY2NGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.s0Ra6f35j4iZxP8Y4G2Ma8wm9SUP6wgKANGnSlmU9MA)
      
    ](https://private-user-images.githubusercontent.com/70686866/347717636-3dacd985-5778-4a8e-871b-ed79b8845024.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEwNTIxNTksIm5iZiI6MTcyMTA1MTg1OSwicGF0aCI6Ii83MDY4Njg2Ni8zNDc3MTc2MzYtM2RhY2Q5ODUtNTc3OC00YThlLTg3MWItZWQ3OWI4ODQ1MDI0LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE1VDEzNTczOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA0N2Y2ZjZiMjY0ZDQwZjg2NjFhZDE5NTFhNjZiZTJlZDVhYWMzMjQ0NjE2YjE1ODYzMzI5MzFlYTU3NGY2NGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.s0Ra6f35j4iZxP8Y4G2Ma8wm9SUP6wgKANGnSlmU9MA)
    
    
      
        
          
        
        
          
          
        
      
      [
        
          
        
      ](https://private-user-images.githubusercontent.com/70686866/347717636-3dacd985-5778-4a8e-871b-ed79b8845024.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEwNTIxNTksIm5iZiI6MTcyMTA1MTg1OSwicGF0aCI6Ii83MDY4Njg2Ni8zNDc3MTc2MzYtM2RhY2Q5ODUtNTc3OC00YThlLTg3MWItZWQ3OWI4ODQ1MDI0LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE1VDEzNTczOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA0N2Y2ZjZiMjY0ZDQwZjg2NjFhZDE5NTFhNjZiZTJlZDVhYWMzMjQ0NjE2YjE1ODYzMzI5MzFlYTU3NGY2NGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.s0Ra6f35j4iZxP8Y4G2Ma8wm9SUP6wgKANGnSlmU9MA)
    
   [ ![fixedwing-rolling](https://private-user-images.githubusercontent.com/70686866/347717636-3dacd985-5778-4a8e-871b-ed79b8845024.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEwNTIxNTksIm5iZiI6MTcyMTA1MTg1OSwicGF0aCI6Ii83MDY4Njg2Ni8zNDc3MTc2MzYtM2RhY2Q5ODUtNTc3OC00YThlLTg3MWItZWQ3OWI4ODQ1MDI0LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE1VDEzNTczOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA0N2Y2ZjZiMjY0ZDQwZjg2NjFhZDE5NTFhNjZiZTJlZDVhYWMzMjQ0NjE2YjE1ODYzMzI5MzFlYTU3NGY2NGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.s0Ra6f35j4iZxP8Y4G2Ma8wm9SUP6wgKANGnSlmU9MA) ](https://private-user-images.githubusercontent.com/70686866/347717636-3dacd985-5778-4a8e-871b-ed79b8845024.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEwNTIxNTksIm5iZiI6MTcyMTA1MTg1OSwicGF0aCI6Ii83MDY4Njg2Ni8zNDc3MTc2MzYtM2RhY2Q5ODUtNTc3OC00YThlLTg3MWItZWQ3OWI4ODQ1MDI0LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE1VDEzNTczOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA0N2Y2ZjZiMjY0ZDQwZjg2NjFhZDE5NTFhNjZiZTJlZDVhYWMzMjQ0NjE2YjE1ODYzMzI5MzFlYTU3NGY2NGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.s0Ra6f35j4iZxP8Y4G2Ma8wm9SUP6wgKANGnSlmU9MA)
  
    [
      
        ![fixedwing-rolling](https://private-user-images.githubusercontent.com/70686866/347717636-3dacd985-5778-4a8e-871b-ed79b8845024.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEwNTIxNTksIm5iZiI6MTcyMTA1MTg1OSwicGF0aCI6Ii83MDY4Njg2Ni8zNDc3MTc2MzYtM2RhY2Q5ODUtNTc3OC00YThlLTg3MWItZWQ3OWI4ODQ1MDI0LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE1VDEzNTczOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA0N2Y2ZjZiMjY0ZDQwZjg2NjFhZDE5NTFhNjZiZTJlZDVhYWMzMjQ0NjE2YjE1ODYzMzI5MzFlYTU3NGY2NGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.s0Ra6f35j4iZxP8Y4G2Ma8wm9SUP6wgKANGnSlmU9MA)
      
    ](https://private-user-images.githubusercontent.com/70686866/347717636-3dacd985-5778-4a8e-871b-ed79b8845024.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEwNTIxNTksIm5iZiI6MTcyMTA1MTg1OSwicGF0aCI6Ii83MDY4Njg2Ni8zNDc3MTc2MzYtM2RhY2Q5ODUtNTc3OC00YThlLTg3MWItZWQ3OWI4ODQ1MDI0LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE1VDEzNTczOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA0N2Y2ZjZiMjY0ZDQwZjg2NjFhZDE5NTFhNjZiZTJlZDVhYWMzMjQ0NjE2YjE1ODYzMzI5MzFlYTU3NGY2NGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.s0Ra6f35j4iZxP8Y4G2Ma8wm9SUP6wgKANGnSlmU9MA)
    
    
      
        
          
        
        
          
          
        
      
      [
        
          
        
      ](https://private-user-images.githubusercontent.com/70686866/347717636-3dacd985-5778-4a8e-871b-ed79b8845024.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEwNTIxNTksIm5iZiI6MTcyMTA1MTg1OSwicGF0aCI6Ii83MDY4Njg2Ni8zNDc3MTc2MzYtM2RhY2Q5ODUtNTc3OC00YThlLTg3MWItZWQ3OWI4ODQ1MDI0LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE1VDEzNTczOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA0N2Y2ZjZiMjY0ZDQwZjg2NjFhZDE5NTFhNjZiZTJlZDVhYWMzMjQ0NjE2YjE1ODYzMzI5MzFlYTU3NGY2NGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.s0Ra6f35j4iZxP8Y4G2Ma8wm9SUP6wgKANGnSlmU9MA)
    
   [ ](https://private-user-images.githubusercontent.com/70686866/347717636-3dacd985-5778-4a8e-871b-ed79b8845024.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEwNTIxNTksIm5iZiI6MTcyMTA1MTg1OSwicGF0aCI6Ii83MDY4Njg2Ni8zNDc3MTc2MzYtM2RhY2Q5ODUtNTc3OC00YThlLTg3MWItZWQ3OWI4ODQ1MDI0LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE1VDEzNTczOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA0N2Y2ZjZiMjY0ZDQwZjg2NjFhZDE5NTFhNjZiZTJlZDVhYWMzMjQ0NjE2YjE1ODYzMzI5MzFlYTU3NGY2NGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.s0Ra6f35j4iZxP8Y4G2Ma8wm9SUP6wgKANGnSlmU9MA) Now I press begin play button on unreal editor, the fixed wing pawn start rolling.

Hello, the fixed wing pawn start rolling is normal because of the kinematics of fixedwing in this demo is not complete, I tried to fix this bug, but need some time. The vehicle model calculate wrong kinematics. It seems that some extral work need to be done. We can sovle it together.

hi,when I build this project , I meet this problem
1
2

@whf5236
Copy link

whf5236 commented Jul 16, 2024

@PiggyGaGa Thanks for your reply! I am also trying to fix this problem, if there is any progress I will upload my solution

hi,How did you structure this project?

@whf5236
Copy link

whf5236 commented Jul 16, 2024

when I download this branch and build it,I meet this error,please tell me how to build it or give me a Deployment documentation
1
2

@PiggyGaGa
Copy link

@PiggyGaGa Thanks for your reply! I am also trying to fix this problem, if there is any progress I will upload my solution

hi,How did you structure this project?

Hello I have compiled this prj, and merge it into the main branch of airsim, but the rolling problem has not been solved, recently, i tried to use external fixedwing model and use setvehiclePose() api to simulate fixwing vehicle, that worked. rolling problem may need more time

@whf5236
Copy link

whf5236 commented Jul 26, 2024

@PiggyGaGa Thanks for your reply! I am also trying to fix this problem, if there is any progress I will upload my solution

hi,How did you structure this project?

Hello I have compiled this prj, and merge it into the main branch of airsim, but the rolling problem has not been solved, recently, i tried to use external fixedwing model and use setvehiclePose() api to simulate fixwing vehicle, that worked. rolling problem may need more time

Thank you for your reply,How should I get this project, I got this project in the AOSS5 author's repositories, but when I run the build.cmd command it gets an error, you can take a look at my comment above, can you tell me how to solve it

@MortazaMohammadi
Copy link

Hi, does any one solve this build problem that detect two error

@PiggyGaGa
Copy link

@PiggyGaGa Thanks for your reply! I am also trying to fix this problem, if there is any progress I will upload my solution

hi,How did you structure this project?

Hello I have compiled this prj, and merge it into the main branch of airsim, but the rolling problem has not been solved, recently, i tried to use external fixedwing model and use setvehiclePose() api to simulate fixwing vehicle, that worked. rolling problem may need more time

Thank you for your reply,How should I get this project, I got this project in the AOSS5 author's repositories, but when I run the build.cmd command it gets an error, you can take a look at my comment above, can you tell me how to solve it

I didn't compile AirSim-1 prj directly, I merged it into the newest version of airsim, I have made some changes on the code, may be your problem is not complex, can you upload more error information, the screenshot above, I can not see any clue. In other word, have you install Visual studio according to airsim doc, and run build.cmd in vs cmd? You can send you problem to my email 1258204115@qq.com.

I will also opensource my changes in airsim in the near future, I used airsim to do some slam/fixedwing/evtol simulations, and have done a lot of work. But it seems that, airsim need some more develop, especially the simulation sensors in airsim are not very good in my experiments. For example I used ros_wrapper to do slam, the frequency of imu is very low, so I have to split the imu sensor into a single thread in ros_wrapper, in the default, imu data are bind with control data in one thread in ros_wrapper.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests