Open source simulator for autonomous vehicles built on Unreal Engine / Unity, from Microsoft AI & Research

Welcome to AirSim

AirSim is a simulator for drones, cars and more, built on Unreal Engine (we now also have an experimental Unity release). It is open-source, cross platform, and supports software-in-the-loop simulation with popular flight controllers such as PX4 & ArduPilot and hardware-in-loop with PX4 for physically and visually realistic simulations. It is developed as an Unreal plugin that can simply be dropped into any Unreal environment. Similarly, we have an experimental release for a Unity plugin.

Our goal is to develop AirSim as a platform for AI research to experiment with deep learning, computer vision and reinforcement learning algorithms for autonomous vehicles. For this purpose, AirSim also exposes APIs to retrieve data and control vehicles in a platform independent way.

Check out the quick 1.5 minute demo

Drones in AirSim

AirSim Drone Demo Video

Cars in AirSim

AirSim Car Demo Video

How to Get It

Windows

Build Status

Linux

Build Status

macOS

Build Status

For more details, see the use precompiled binaries document.

How to Use It

Documentation

View our detailed documentation on all aspects of AirSim.

Manual drive

If you have remote control (RC) as shown below, you can manually control the drone in the simulator. For cars, you can use arrow keys to drive manually.

More details

record screenshot

record screenshot

Programmatic control

AirSim exposes APIs so you can interact with the vehicle in the simulation programmatically. You can use these APIs to retrieve images, get state, control the vehicle and so on. The APIs are exposed through the RPC, and are accessible via a variety of languages, including C++, Python, C# and Java.

These APIs are also available as part of a separate, independent cross-platform library, so you can deploy them on a companion computer on your vehicle. This way you can write and test your code in the simulator, and later execute it on the real vehicles. Transfer learning and related research is one of our focus areas.

Note that you can use SimMode setting to specify the default vehicle or the new ComputerVision mode so you don't get prompted each time you start AirSim.

More details

Gathering training data

There are two ways you can generate training data from AirSim for deep learning. The easiest way is to simply press the record button in the lower right corner. This will start writing pose and images for each frame. The data logging code is pretty simple and you can modify it to your heart's content.

record screenshot

A better way to generate training data exactly the way you want is by accessing the APIs. This allows you to be in full control of how, what, where and when you want to log data.

Computer Vision mode

Yet another way to use AirSim is the so-called "Computer Vision" mode. In this mode, you don't have vehicles or physics. You can use the keyboard to move around the scene, or use APIs to position available cameras in any arbitrary pose, and collect images such as depth, disparity, surface normals or object segmentation.

More details

Weather Effects

Press F10 to see various options available for weather effects. You can also control the weather using APIs. Press F1 to see other options available.

record screenshot

Tutorials

Participate

Paper

More technical details are available in AirSim paper (FSR 2017 Conference). Please cite this as:

@inproceedings{airsim2017fsr,
  author = {Shital Shah and Debadeepta Dey and Chris Lovett and Ashish Kapoor},
  title = {AirSim: High-Fidelity Visual and Physical Simulation for Autonomous Vehicles},
  year = {2017},
  booktitle = {Field and Service Robotics},
  eprint = {arXiv:1705.05065},
  url = {https://arxiv.org/abs/1705.05065}
}

Contribute

Please take a look at open issues if you are looking for areas to contribute to.

Who is Using AirSim?

We are maintaining a list of a few projects, people and groups that we are aware of. If you would like to be featured in this list please make a request here.

Contact

Join our GitHub Discussions group to stay up to date or ask any questions.

We also have an AirSim group on Facebook.

What's New

For complete list of changes, view our Changelog

FAQ

If you run into problems, check the FAQ and feel free to post issues in the AirSim repository.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

License

This project is released under the MIT License. Please review the License file for more details.

Owner
Microsoft
Open source projects and samples from Microsoft
Microsoft
Comments
  • Quadcopter Not Taking Off in Airsim Simulation

    Quadcopter Not Taking Off in Airsim Simulation

    I have gotten the Airsim environment up and running on linux, but I am unable to make the quadcopter take off. I have followed every step on the Airsim tutorial, and all my software for the Unreal Engine, Airsim, Pixhawk, and Ubunutu is up to date to the tutorial specifications. First, I attempted to use a controller to fly the quadcopter; the controller would be able to arm the quadcopter, but when I thrusted up, nothing would happen. Upon checking the RC inputs on QGroundControl and calibrating the settings multiple times, there was no change in the simulation. With the controller not working, I attempted to use DroneShell to test out different commands, but I ran into the same issues. I was able to arm the quadcopter, but taking off did not work. I either got drone hasn't came [sic] to expected z of -3.000000 within time 15.000000 sec within error margin or rpclib: function 'takeoff' (called with 1 arg(s)) threw an exception when I prompted the "takeoff" command. Using the "getimage" command did save pictures to the Airsim folder (which I verified), so I know the Unreal Simulation is able to connect with the DroneShell. I also observed that using the "disarm" command did not make the propellers stop spinning. Does anybody know if I am doing something wrong, and how to fix the errors?

  • Compilation errors in Linux using latest checkins

    Compilation errors in Linux using latest checkins

    It appears that this checkin adding ROSFlight functionality is causing my AirSim compilation with Ubuntu 16.04 to fail. I had success with previous AirSim versions.

    Here is the compiler output -- I wonder if these are warnings on Windows, but errors using clang 3.8 on Linux:

    [498/915] Compile Module.GeometryCache.cpp
    In file included from /home/inkjet/Documents/AirSim/Unreal Projects/Quad/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp:15:
    In file included from /home/inkjet/Documents/AirSim/Unreal Projects/Quad/Plugins/AirSim/Source/MultiRotorConnector.cpp:3:
    /home/inkjet/Documents/AirSim/Unreal Projects/Quad/Plugins/AirSim/Source/AirLib/include/vehicles/configs/PX4ConfigCreator.hpp:29:16: error: 
          moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move]
            return std::move(config);
                   ^
    /home/inkjet/Documents/AirSim/Unreal Projects/Quad/Plugins/AirSim/Source/AirLib/include/vehicles/configs/PX4ConfigCreator.hpp:29:16: note: 
          remove std::move call here
            return std::move(config);
                   ^~~~~~~~~~      ~
    In file included from /home/inkjet/Documents/AirSim/Unreal Projects/Quad/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp:15:
    In file included from /home/inkjet/Documents/AirSim/Unreal Projects/Quad/Plugins/AirSim/Source/MultiRotorConnector.cpp:4:
    In file included from /home/inkjet/Documents/AirSim/Unreal Projects/Quad/Plugins/AirSim/Source/AirLib/include/vehicles/configs/RosFlightQuadX.hpp:8:
    In file included from /home/inkjet/Documents/AirSim/Unreal Projects/Quad/Plugins/AirSim/Source/AirLib/include/controllers/rosflight/RosFlightDroneController.hpp:13:
    /home/inkjet/Documents/AirSim/Unreal Projects/Quad/Plugins/AirSim/Source/AirLib/include/controllers/rosflight/AirSimRosFlightBoard.hpp:105:19: error: 
          no matching conversion for functional-style cast from 'const char [50]' to 'std::exception'
                throw std::exception("cannot write motor output for index > motor count");
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ThirdParty/Linux/LibCxx/include/c++/v1/exception:91:29: note: candidate constructor (the implicit copy constructor) not
          viable: no known conversion from 'const char [50]' to 'const std::exception' for 1st argument
    class _LIBCPP_EXCEPTION_ABI exception
                                ^
    ThirdParty/Linux/LibCxx/include/c++/v1/exception:94:31: note: candidate constructor not viable: requires 0 arguments,
          but 1 was provided
        _LIBCPP_INLINE_VISIBILITY exception() _NOEXCEPT {}
                                  ^
    In file included from /home/inkjet/Documents/AirSim/Unreal Projects/Quad/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp:15:
    In file included from /home/inkjet/Documents/AirSim/Unreal Projects/Quad/Plugins/AirSim/Source/MultiRotorConnector.cpp:4:
    In file included from /home/inkjet/Documents/AirSim/Unreal Projects/Quad/Plugins/AirSim/Source/AirLib/include/vehicles/configs/RosFlightQuadX.hpp:8:
    In file included from /home/inkjet/Documents/AirSim/Unreal Projects/Quad/Plugins/AirSim/Source/AirLib/include/controllers/rosflight/RosFlightDroneController.hpp:13:
    /home/inkjet/Documents/AirSim/Unreal Projects/Quad/Plugins/AirSim/Source/AirLib/include/controllers/rosflight/AirSimRosFlightBoard.hpp:175:15: error: 
          no matching conversion for functional-style cast from 'const char [38]' to 'std::exception'
            throw std::exception("Diff pressure sensor is not available");
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ThirdParty/Linux/LibCxx/include/c++/v1/exception:91:29: note: candidate constructor (the implicit copy constructor) not
          viable: no known conversion from 'const char [38]' to 'const std::exception' for 1st argument
    class _LIBCPP_EXCEPTION_ABI exception
                                ^
    ThirdParty/Linux/LibCxx/include/c++/v1/exception:94:31: note: candidate constructor not viable: requires 0 arguments,
          but 1 was provided
        _LIBCPP_INLINE_VISIBILITY exception() _NOEXCEPT {}
                                  ^
    In file included from /home/inkjet/Documents/AirSim/Unreal Projects/Quad/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp:15:
    
  • Add object detection capability and python API

    Add object detection capability and python API

    About

    This PR adds the capability to detect objects with Unreal. It support setting radius from camera to search for objects and setting object name in wildcard format. One can control these settings for each camera, image type and vehicle combination separately. It output relevant information as described in DetectionInfo.

    Itcurrently support only ImageType::Scene, but can be extended by attaching the DetectionComponent in BP_PIPCamera to the relevant camera and add corresponding lines in APIPCamera::PostInitializeComponents

    • Detection APIs implementation:

      • [x] simSetDetectionFilterRadius
      • [x] simAddDetectionFilterMeshName
      • [x] simClearDetectionMeshNames
      • [x] simGetDetections
    • Detection struct:

    class DetectionInfo(MsgpackMixin):
        name = ''
        geoPoint = GeoPoint()
        box2D = Box2D()
        box3D = Box3D()
        relative_pose = Pose()
    

    TODO:

    • Implement some get API functions
    • Add Enable/Disable Detection capability API or from settings.json

    Most of the detection and object filter code was copied from https://github.com/unrealgt/UnrealGT and changed for my own needs.

    Probably much more work to do but I'm using it for a while and though other users might find it useful.

    How Has This Been Tested?

    Tested on Blocks and ModularNeighborhood environments by running the detection python script in this PR (Windows).

    Example API Call -

    camera_name = "0"
    image_type = airsim.ImageType.Scene
    
    client.simSetDetectionFilterRadius(camera_name, image_type, 80 * 100) # in [cm]
    client.simAddDetectionFilterMeshName(camera_name, image_type, "Car_*") 
    client.simGetDetections(camera_name, image_type)
    client.simClearDetectionMeshNames(camera_name, image_type)
    

    Example output -

    Cylinder: <DetectionInfo> {   'box2D': <Box2D> {   'max': <Vector2r> {   'x_val': 617.025634765625,
        'y_val': 583.5487060546875},
        'min': <Vector2r> {   'x_val': 485.74359130859375,
        'y_val': 438.33465576171875}},
        'box3D': <Box3D> {   'max': <Vector3r> {   'x_val': 4.900000095367432,
        'y_val': 0.7999999523162842,
        'z_val': 0.5199999809265137},
        'min': <Vector3r> {   'x_val': 3.8999998569488525,
        'y_val': -0.19999998807907104,
        'z_val': 1.5199999809265137}},
        'geo_point': <GeoPoint> {   'altitude': 16.979999542236328,
        'latitude': 32.28772183970703,
        'longitude': 34.864785008379876},
        'name': 'Cylinder9_2',
        'relative_pose': <Pose> {   'orientation': <Quaternionr> {   'w_val': 0.9929741621017456,
        'x_val': 0.0038591264747083187,
        'y_val': -0.11333247274160385,
        'z_val': 0.03381215035915375},
        'position': <Vector3r> {   'x_val': 4.400000095367432,
        'y_val': 0.29999998211860657,
        'z_val': 1.0199999809265137}}}
    

    Screenshots (if appropriate):

    • Blocks Unreal blocks_ue4 Python blocks_python

    • ModularNeighborhood Unreal

    MN_ue4 Python MN_python

  • Build Error in Hello Drone

    Build Error in Hello Drone

    Build Error

    we are trying to run the hello drone but still problem persist after installing all packages.

    trying to run the hello drone in landscape mountains, pops the error this was one scenario. next is when is insert the joystick control it runs and it pops error showing do you want to proceed with the previous successful build , if yes ...joystick control is enabled with drone . is this hello drone program automatically allows to fly or this only allows to use aid with joystick control ?

    Context details windows-10, Python 3.7, Unreal- 4.26 WhatsApp Image 2021-04-01 at 1 48 58 AM

  • Controlling two drones using keyboard keys

    Controlling two drones using keyboard keys

    Is it possible to control two drones in AirSim using keyboard keys? I tried to change the settings.json file and now I have two drones in my project now. However, I do not know how to control them using keyboard keys in AirSim. I would like to create the codes using Python. Can anyone help please?

  • Some problem abot the OSX

    Some problem abot the OSX

    image My mac is 10.15.4 OSX. There are some problem when I run the./build.sh. I have see the pollin and pollout function in the class definition, but I don't know why it will be crashed.

  • Mavsdk python package with AirSim simulator

    Mavsdk python package with AirSim simulator

    Question

    What's your question?

    Include context on what you are trying to achieve

    Context details

    Include details of what you already did to find answers

    Below screenshot represents the details of my system: Capture

    AirSim version (1.3.1) Unreal version(4.25) python version (3.8.3)

    Im using AirSim simulator for my test cases. As of now I want communication to happen between 2 drones in an automated simulation environment of AirSim. I also want to know if mavsdk python package can be used along with airsim.

    Details of what I already tried to check if Mavsdk python package can be used along with AirSim simulator:

    1. I searched for "mavsdk+airsim" in google. I could then access the link "https://dev.px4.io/v1.9.0/en/simulation/airsim.html". But I couldnt find anything related to combination of airsim and mavsdk. I couldnt find anything related to combination of airsim and mavsdk even in the link "https://github.com/microsoft/AirSim/blob/master/docs/px4_sitl.md".
    2. I searched for "mavsdk" in the main search of "https://microsoft.github.io/AirSim/", but i couldnt find anything in it.
  • Faster Image Capture

    Faster Image Capture

    Rebased and working version of #2472. Needs more testing

    See some benchmarks on my system here - https://github.com/microsoft/AirSim/pull/2472#issuecomment-633098747

    One thing I noticed is that with the PR, we're getting 4 channels RGBA instead of 3 in master, this now becomes inline with Unity which is also giving 4 channels

    My later commits might be a bit haphazard, will clean up later

    Binaries - https://drive.google.com/open?id=14t9rmTGR3Au0R5V8GoF5DfYKYcLOJSAU Linux - -opengl gives correct images, default Vulkan gives scrambled data, see comment below

    On Linux, with binary, I'm getting about 2x improvement from ~15 (latest release) to ~35 FPS on my system

    Image types Scene, Segmentation, Normals work correctly, however Depth images is giving 8 channels somehow?

    If someone wants to test using this PR from source, use this branch - https://github.com/rajat2004/AirSim/tree/faster_img_cap_test (It's updated to latest master, and will be pushing any commits there first)

  • AttributeError: 'MultirotorClient' object has no attribute 'getLidarData'

    AttributeError: 'MultirotorClient' object has no attribute 'getLidarData'

    I am trying to run the code "lidar.py" and getting this error.i have searched for "getLidarData" to include but I did not find it how I can resolve the problem Same error I am getting for car client

  • data mismatch between simGetVehiclePose() and simSetVehiclePose()

    data mismatch between simGetVehiclePose() and simSetVehiclePose()

    stepsize= [0,0,10] airsim_client.simSetVehiclePose(airsim.Pose(airsim.Vector3r(currentposition.x_val+ stepsize[0], currentposition.y_val+stepsize[1], currentposition.z_val+stepsize[2]), airsim.to_quaternion(0, 0, 20)), True) currentposition.x_val+ stepsize[0] 3.0517577442878974e-07 currentposition.y_val+stepsize[1] 0.0 currentposition.z_val+stepsize[2] 21.820711135864258 currentposition = airsim_client.simGetVehiclePose().position print(currentposition) { 'x_val': 3.0517577442878974e-07, 'y_val': 0.0, 'z_val': 11.820711135864258}

  • 'roslaunch airsim_ros_pkgs airsim_node.launch;' is stuck at 'process[ned_to_enu_pub-3]: started with pid [5052]'

    'roslaunch airsim_ros_pkgs airsim_node.launch;' is stuck at 'process[ned_to_enu_pub-3]: started with pid [5052]'

    Question

    'roslaunch airsim_ros_pkgs airsim_node.launch;' is stuck at 'process[ned_to_enu_pub-3]: started with pid [5052]'

    I'm following the tutorial: https://microsoft.github.io/AirSim/airsim_ros_pkgs/. Everything went on well until 'roslaunch airsim_ros_pkgs airsim_node.launch;' .

    The program got stuck at 'process[ned_to_enu_pub-3]: started with pid [5052]'. I have tried using 'catkin clean' and run it again several times but the same issue happened every time.

    Details are provided below:

    Laptop:~/AirSim/ros$ roslaunch airsim_ros_pkgs airsim_node.launch; ... logging to /home/lufe/.ros/log/70e59aba-5d00-11eb-856c-94e6f7b226e5/roslaunch-lufe-Laptop-5026.log Checking log directory for disk usage. This may take a while. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB.

    started roslaunch server http://lufe-Laptop:42707/

    SUMMARY

    PARAMETERS

    • /airsim_node/host_ip: localhost
    • /airsim_node/is_vulkan: False
    • /airsim_node/publish_clock: False
    • /airsim_node/update_airsim_control_every_n_sec: 0.01
    • /airsim_node/update_airsim_img_response_every_n_sec: 0.05
    • /airsim_node/update_lidar_every_n_sec: 0.01
    • /rosdistro: melodic
    • /rosversion: 1.14.10

    NODES / airsim_node (airsim_ros_pkgs/airsim_node) ned_to_enu_pub (tf/static_transform_publisher)

    auto-starting new master process[master]: started with pid [5037] ROS_MASTER_URI=http://localhost:11311

    setting /run_id to 70e59aba-5d00-11eb-856c-94e6f7b226e5 process[rosout-1]: started with pid [5048] started core service [/rosout] process[airsim_node-2]: started with pid [5051] process[ned_to_enu_pub-3]: started with pid [5052]

    The last time it ran over a night. Stuck at the same step. I would appreciate any help!

  • msgpackrpc.error.RPCError: rpclib: client error C0002: Function 'simGetImages' was called with an invalid number of arguments. Expected: 2, got: 3

    msgpackrpc.error.RPCError: rpclib: client error C0002: Function 'simGetImages' was called with an invalid number of arguments. Expected: 2, got: 3

    C:\Users\zcl.conda\envs\zclpytorch\python.exe D:\Fixedwing-Airsim-master\src\main.py

    In file d:/JSBSim/aircraft/x8/x8.xml: line 80 Engine location ignored, only thruster location is used.

    In file d:/JSBSim/aircraft/x8/x8.xml: line 85 Engine orientation ignored, only thruster orientation is used. Traceback (most recent call last): File "D:\Fixedwing-Airsim-master\src\main.py", line 217, in run_simulator() File "D:\Fixedwing-Airsim-master\src\main.py", line 195, in run_simulator env.simulation_loop(rectangle) File "D:\Fixedwing-Airsim-master\src\main.py", line 92, in simulation_loop image.get_np_image(image_type=airsim.ImageType.Scene) File "D:\Fixedwing-Airsim-master\src\image_processing.py", line 44, in get_np_image False)]) File "C:\Users\zcl.conda\envs\zclpytorch\lib\site-packages\airsim\client.py", line 264, in simGetImages responses_raw = self.client.call('simGetImages', requests, vehicle_name) File "C:\Users\zcl.conda\envs\zclpytorch\lib\site-packages\msgpackrpc\session.py", line 41, in call return self.send_request(method, args).get() File "C:\Users\zcl.conda\envs\zclpytorch\lib\site-packages\msgpackrpc\future.py", line 45, in get raise error.RPCError(self._error) msgpackrpc.error.RPCError: rpclib: client error C0002: Function 'simGetImages' was called with an invalid number of arguments. Expected: 2, got: 3

     JSBSim Flight Dynamics Model v1.1.11 [GitHub build 741/commit 10e077b486c42d38e76d1dd7f0aeb744f92d96a0] Feb 13 2022 12:30:25
            [JSBSim-ML v2.0]
    

    JSBSim startup beginning ...

    Connected! Client Ver:1 (Min Req: 1), Server Ver:1 (Min Req: 1)

    Process finished with exit code 1

    airsim==1.5.0 python 4.5.1

    I do not how to solve this problem, can you help me ?

  • unload UE4Editor-D3D11RHl.pdb

    unload UE4Editor-D3D11RHl.pdb

    Question

    What's your question?

    The version of UE:4.27.2 The version of Airsim:1.8.1 When the instance is loaded for some time, the program will crash. The following screenshot appears image Unable to find or open the PDB file.specifically,unload UE4Editor-D3D11RHl.pdb

    Include context on what you are trying to achieve

    Context details

    Include details of what you already did to find answers

    How to solve this problem, I can't find the answer。

  • Tornado x msgpack-rpc-python 0.4.1 incompatibility when connection to Airsim simulator

    Tornado x msgpack-rpc-python 0.4.1 incompatibility when connection to Airsim simulator

    Hello there,

    I have some dependencies issues with the API , when I try to connect to the Airsim simulator. I have this error :

    Output exceeds the size limit. Open the full output data in a text editor

    TypeError Traceback (most recent call last) Cell In [15], line 2 1 # connect to the AirSim simulator ----> 2 client = airsim.MultirotorClient() 3 client.confirmConnection() 4 client.enableApiControl(True)

    File ~/anaconda3/envs/py38/lib/python3.8/site-packages/airsim/client.py:1119, in MultirotorClient.init(self, ip, port, timeout_value) 1118 def init(self, ip = "", port = 41451, timeout_value = 3600): -> 1119 super(MultirotorClient, self).init(ip, port, timeout_value)

    File ~/anaconda3/envs/py38/lib/python3.8/site-packages/airsim/client.py:17, in VehicleClient.init(self, ip, port, timeout_value) 15 if (ip == ""): 16 ip = "127.0.0.1" ---> 17 self.client = msgpackrpc.Client(msgpackrpc.Address(ip, port), timeout = timeout_value, pack_encoding = 'utf-8', unpack_encoding = 'utf-8')

    File ~/anaconda3/envs/py38/lib/python3.8/site-packages/msgpackrpc/client.py:15, in Client.init(self, address, timeout, loop, builder, reconnect_limit, pack_encoding, unpack_encoding) 12 session.Session.init(self, address, timeout, loop, builder, reconnect_limit, pack_encoding, unpack_encoding) 14 if timeout: ---> 15 loop.attach_periodic_callback(self.step_timeout, 1000)

    File ~/anaconda3/envs/py38/lib/python3.8/site-packages/msgpackrpc/loop.py:39, in Loop.attach_periodic_callback(self, callback, callback_time) 36 self.dettach_periodic_callback() 38 self._periodic_callback = ioloop.PeriodicCallback(callback, callback_time, self._ioloop) ... 942 # at once, so it's ok to write even when not strictly 943 # necessary. 944 self._waker.wake()

    TypeError: unsupported operand type(s) for *: 'ZMQIOLoop' and 'float'


    However, when I check microsoft documentation they mention : When making API call I get error# If you are getting this error,

    *TypeError: unsupported operand type(s) for : 'AsyncIOLoop' and 'float'

    its probably due to upgraded version of tornado package with version > 5.0 in Python that conflicts with msgpack-rpc-python which requires tornado package < 5.0. To fix this >you can update the package like this:

    pip install --upgrade msgpack-rpc-python

    But this might break something (for example, PyTorch 0.4+) because it will uninstall newer tornado and re-install older one. To avoid this you should create new conda >environment.

    Now it gets more tricky because when I check my dependencies I receive this error:

    ERROR

    • ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
    • nbclassic 0.4.8 requires tornado>=6.1, but you have tornado 4.5.3 which is incompatible.
    • jupyter-server 1.21.0 requires tornado>=6.1.0, but you have tornado 4.5.3 which is incompatible.
    • jupyter-client 7.4.7 requires tornado>=6.2, but you have tornado 4.5.3 which is incompatible.
    • ipyparallel 8.4.1 requires tornado>=5.1, but you have tornado 4.5.3 which is incompatible.
    • ipykernel 6.15.2 requires tornado>=6.1, but you have tornado 4.5.3 which is incompatible.

    HOWEVER when I try to upgrate tornado I get this error:

    • ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. msgpack-rpc-python 0.4.1 requires tornado<5,>=3, but you have tornado 6.2 which is incompatible.

    Background information:

    • Linux
    • Ubuntu 20.04
    • Coding in Visual Studio
    • Environement py38 (3.8.15)

    I have been stuck on this for a while trying to fixe those dependencies problem but only circular solution.

    Any help is appreciated!!

    Thanks so much,

  • How to customize internal flight controller for multirotors?

    How to customize internal flight controller for multirotors?

    Question

    What's your question?

    Is there any way to customize internal flight controller for multirotors?

    Include context on what you are trying to achieve

    The document says Airsim has a built-in flight controller called simple_flight, which uses a cascade of PID controllers. How could I change them into custom controllers like Lead-Lag Compensator or Geometric Control.

    Include details of what you already did to find answers

    I’m aware that Quadrotor flight controller receives desired state input such as position and angle level, and ouputs 4 PWM values to control the propellers with actual state. So I presume it’s possible to replace what’s between? I know there are some feasible options available right now:

    1. using external controller such as PX4
    2. using python API “moveByMotorPWMsAsync” with calculated PWM values in python files

    But I’m completely unfamiliar of PX4, and my ultimate goal is to achieve a total-simulation game (no hardware involved) in unreal engine, with controlling UI where you can change types and parameters of controllers. Considering UE’s limited support for python, I’m afraid none of these options would work.

    I also noticed in https://github.com/microsoft/AirSim/commit/a6aee1c7011aa60c5b51e18744a3e6dd9d421cc5?diff=split the author showed specific details of making simple_flight extensible for Adaptive Controller. Does this apply to all other controllers? Thank you!

  • How to run local_planner in AIrsim?

    How to run local_planner in AIrsim?

    I connected AIrsim, ROS and PX4 and launched local_planner using the following command

    roslaunch local_planner local_planner_stereo.launch

    I GOT THIS ERROR


    | _ \ \ \ / / / | | |/ / \ V / / /| | | / / \ / /| | | | / /^\ \ _ | _| / / |_/

    px4 starting.

    INFO [px4] startup script: /bin/sh etc/init.d-posix/rcS 0 process[mavros-4]: started with pid [25178] process[gazebo-5]: started with pid [25183] INFO [init] found model autostart file as SYS_AUTOSTART=1015 ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied process[spawn_model-6]: started with pid [25189] ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied process[stereo/stereo_image_proc-7]: started with pid [25192] ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied process[local_planner_node-8]: started with pid [25198] ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied process[rviz-9]: started with pid [25201] ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied [ INFO] [1668446231.790204357]: Initializing nodelet with 28 worker threads. ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied [ INFO] [1668446231.827448313]: rviz version 1.13.29 [ INFO] [1668446231.827605057]: compiled against Qt version 5.9.5 [ INFO] [1668446231.827667954]: compiled against OGRE version 1.9.0 (Ghadamon) ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied [ INFO] [1668446231.859818734]: FCU URL: udp://:[email protected]:14557 ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied [ INFO] [1668446231.872546551]: udp0: Bind address: 0.0.0.0:14540 [ INFO] [1668446231.872854674]: udp0: Remote address: 127.0.0.1:14557 [ INFO] [1668446231.873773224]: GCS bridge disabled ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied [ INFO] [1668446231.902265274]: Forcing OpenGl version 0. ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied [ INFO] [1668446231.932038167]: Plugin 3dr_radio loaded [ INFO] [1668446231.935260477]: Plugin 3dr_radio initialized [ INFO] [1668446231.935430543]: Plugin actuator_control loaded ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied [ INFO] [1668446231.941158620]: Plugin actuator_control initialized [ INFO] [1668446231.950602536]: Plugin adsb loaded ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied [ INFO] [1668446231.967747473]: Plugin adsb initialized [ INFO] [1668446231.968046667]: Plugin altitude loaded [ INFO] [1668446231.971403701]: Plugin altitude initialized [ INFO] [1668446231.971614436]: Plugin cam_imu_sync loaded [ INFO] [1668446231.975509686]: Plugin cam_imu_sync initialized [ INFO] [1668446231.975704388]: Plugin camera loaded [ INFO] [1668446231.978936756]: Plugin camera initialized ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Permission denied [ INFO] [1668446231.979139657]: Plugin cellular_status loaded [ INFO] [1668446231.986544536]: Plugin cellular_status initialized [ INFO] [1668446231.986859675]: Plugin command loaded Error: no autostart file found (/home/deepakprasad/.ros/etc/init.d-posix/airframes/ERROR [px4] is_server_running: failed to create lock file: /tmp/px4_lock-0, reason=Permission denied ERROR [px4] Failed to communicate with daemon: Inappropriate ioctl for device_) ERROR [px4] Startup script returned with return value: 256 [ INFO] [1668446232.007070259]: Plugin command initialized [ INFO] [1668446232.007305555]: Plugin companion_process_status loaded [ INFO] [1668446232.015565082]: Plugin companion_process_status initialized [ INFO] [1668446232.015763367]: Plugin debug_value loaded [ INFO] [1668446232.030874911]: Plugin debug_value initialized [ INFO] [1668446232.030935720]: Plugin distance_sensor blacklisted [ INFO] [1668446232.031201374]: Plugin esc_status loaded [ INFO] [1668446232.034607266]: Plugin esc_status initialized [ INFO] [1668446232.034870454]: Plugin esc_telemetry loaded [ INFO] [1668446232.036350375]: Plugin esc_telemetry initialized [ INFO] [1668446232.036657269]: Plugin fake_gps loaded [ INFO] [1668446232.057014404]: Plugin fake_gps initialized [ INFO] [1668446232.057389280]: Plugin ftp loaded [ INFO] [1668446232.070618878]: Plugin ftp initialized [ INFO] [1668446232.070921958]: Plugin geofence loaded [sitl_0-3] process has died [pid 25167, exit code 255, cmd /home/deepakprasad/Firmware/build/px4_sitl_default/bin/px4 /home/deepakprasad/Firmware/build/px4_sitl_default/etc -s etc/init.d-posix/rcS -i 0 __name:=sitl_0 __log:=/home/deepakprasad/.ros/log/29707062-6440-11ed-8c8f-ac1f6ba41105/sitl_0-3.log]. log file: /home/deepakprasad/.ros/log/29707062-6440-11ed-8c8f-ac1f6ba41105/sitl_0-3.log [ INFO] [1668446232.081165226]: Plugin geofence initialized [ INFO] [1668446232.081398243]: Plugin global_position loaded [ INFO] [1668446232.104585638]: Plugin global_position initialized [ INFO] [1668446232.104784057]: Plugin gps_input loaded [ INFO] [1668446232.108873236]: Plugin gps_input initialized [ INFO] [1668446232.109082465]: Plugin gps_rtk loaded [ INFO] [1668446232.113920737]: Plugin gps_rtk initialized [ INFO] [1668446232.114099158]: Plugin gps_status loaded [ INFO] [1668446232.117619031]: Plugin gps_status initialized [ INFO] [1668446232.117800413]: Plugin guided_target loaded [ INFO] [1668446232.125820291]: Plugin guided_target initialized [ INFO] [1668446232.126042397]: Plugin hil loaded [ INFO] [1668446232.150196688]: Plugin hil initialized [ INFO] [1668446232.150430531]: Plugin home_position loaded [ INFO] [1668446232.156118383]: Plugin home_position initialized [ INFO] [1668446232.156576079]: Plugin imu loaded [ INFO] [1668446232.168083794]: Plugin imu initialized [ INFO] [1668446232.168344390]: Plugin landing_target loaded [ INFO] [1668446232.180395812]: Plugin landing_target initialized [ INFO] [1668446232.180730547]: Plugin local_position loaded [ INFO] [1668446232.190232347]: Plugin local_position initialized [ INFO] [1668446232.190464437]: Plugin log_transfer loaded [ INFO] [1668446232.196287705]: Plugin log_transfer initialized [ INFO] [1668446232.196537629]: Plugin mag_calibration_status loaded [ INFO] [1668446232.198241172]: Plugin mag_calibration_status initialized [ INFO] [1668446232.198540912]: Plugin manual_control loaded [ INFO] [1668446232.203473967]: Plugin manual_control initialized [ INFO] [1668446232.203918980]: Plugin mocap_pose_estimate loaded [ INFO] [1668446232.212366063]: Plugin mocap_pose_estimate initialized [ INFO] [1668446232.212740422]: Plugin mount_control loaded [ WARN] [1668446232.225430456]: Could not retrive negate_measured_roll parameter value, using default (0) [ WARN] [1668446232.225924488]: Could not retrive negate_measured_pitch parameter value, using default (0) [ WARN] [1668446232.226787278]: Could not retrive negate_measured_yaw parameter value, using default (0) [ INFO] [1668446232.226832050]: Stereo is NOT SUPPORTED [ INFO] [1668446232.226947871]: OpenGL device: llvmpipe (LLVM 10.0.0, 256 bits) [ INFO] [1668446232.226990110]: OpenGl version: 3.1 (GLSL 1.4). [ WARN] [1668446232.228911160]: Could not retrive debounce_s parameter value, using default (4.000000) [ WARN] [1668446232.229681839]: Could not retrive err_threshold_deg parameter value, using default (10.000000) [ INFO] [1668446232.229852294]: Plugin mount_control initialized [ INFO] [1668446232.230327182]: Plugin nav_controller_output loaded [ INFO] [1668446232.232316545]: Plugin nav_controller_output initialized [ INFO] [1668446232.232794977]: Plugin obstacle_distance loaded [ INFO] [1668446232.238777127]: Plugin obstacle_distance initialized [ INFO] [1668446232.238938434]: Plugin odom loaded [ INFO] [1668446232.246746948]: Plugin odom initialized [ INFO] [1668446232.246915080]: Plugin onboard_computer_status loaded [ INFO] [1668446232.253094617]: Plugin onboard_computer_status initialized [ INFO] [1668446232.253375791]: Plugin param loaded [ INFO] [1668446232.259321803]: Plugin param initialized [ INFO] [1668446232.259558084]: Plugin play_tune loaded [ INFO] [1668446232.264960187]: Plugin play_tune initialized [ INFO] [1668446232.265249266]: Plugin px4flow loaded [ INFO] [1668446232.290882248]: Plugin px4flow initialized [ INFO] [1668446232.291329896]: Plugin rallypoint loaded [ INFO] [1668446232.304705467]: Plugin rallypoint initialized [ INFO] [1668446232.304786455]: Plugin rangefinder blacklisted [ INFO] [1668446232.305095357]: Plugin rc_io loaded [ INFO] [1668446232.313883904]: Plugin rc_io initialized [ INFO] [1668446232.313959441]: Plugin safety_area blacklisted [ INFO] [1668446232.314205429]: Plugin setpoint_accel loaded [ INFO] [1668446232.320230248]: Plugin setpoint_accel initialized [ INFO] [1668446232.320674757]: Plugin setpoint_attitude loaded [ INFO] [1668446232.361671485]: Plugin setpoint_attitude initialized [ INFO] [1668446232.362027254]: Plugin setpoint_position loaded [ INFO] [1668446232.396135353]: Plugin setpoint_position initialized [ INFO] [1668446232.396425089]: Plugin setpoint_raw loaded [ INFO] [1668446232.419847805]: Plugin setpoint_raw initialized [ INFO] [1668446232.420138063]: Plugin setpoint_trajectory loaded [ INFO] [1668446232.439639405]: Plugin setpoint_trajectory initialized [ INFO] [1668446232.439973444]: Plugin setpoint_velocity loaded [ INFO] [1668446232.458159725]: Plugin setpoint_velocity initialized [ INFO] [1668446232.459020766]: Plugin sys_status loaded [ INFO] [1668446232.480704470]: Finished loading Gazebo ROS API Plugin. [ INFO] [1668446232.489244019]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting... [ INFO] [1668446232.500672013]: Plugin sys_status initialized [ INFO] [1668446232.501288695]: Plugin sys_time loaded [ INFO] [1668446232.512776924]: TM: Timesync mode: MAVLINK [ INFO] [1668446232.513306766]: TM: Not publishing sim time [ INFO] [1668446232.516990968]: Plugin sys_time initialized [ INFO] [1668446232.517293027]: Plugin terrain loaded [ INFO] [1668446232.519314714]: Plugin terrain initialized [ INFO] [1668446232.519527377]: Plugin trajectory loaded [ INFO] [1668446232.531062716]: Plugin trajectory initialized [ INFO] [1668446232.531400742]: Plugin tunnel loaded [ WARN] [1668446232.538038067]: The input topic '/stereo/left/image_raw' is not yet advertised [ WARN] [1668446232.540219859]: The input topic '/stereo/left/camera_info' is not yet advertised [ WARN] [1668446232.540254976]: The input topic '/stereo/right/image_raw' is not yet advertised [ WARN] [1668446232.540283842]: The input topic '/stereo/right/camera_info' is not yet advertised [ INFO] [1668446232.541165044]: Plugin tunnel initialized [ INFO] [1668446232.541447450]: Plugin vfr_hud loaded [ INFO] [1668446232.542355500]: Plugin vfr_hud initialized [ INFO] [1668446232.542399323]: Plugin vibration blacklisted [ INFO] [1668446232.542590419]: Plugin vision_pose_estimate loaded [ INFO] [1668446232.551410709]: Plugin vision_pose_estimate initialized [ INFO] [1668446232.551757653]: Plugin vision_speed_estimate loaded [ INFO] [1668446232.556778978]: Plugin vision_speed_estimate initialized [ INFO] [1668446232.556990813]: Plugin waypoint loaded [ INFO] [1668446232.567098924]: Plugin waypoint initialized [ INFO] [1668446232.567186763]: Plugin wheel_odometry blacklisted [ INFO] [1668446232.567487601]: Plugin wind_estimation loaded [ INFO] [1668446232.568602213]: Plugin wind_estimation initialized [ INFO] [1668446232.568909533]: Autostarting mavlink via USB on PX4 [ INFO] [1668446232.569120323]: Built-in SIMD instructions: SSE, SSE2 [ INFO] [1668446232.569286746]: Built-in MAVLink package version: 2021.3.3 [ INFO] [1668446232.569423131]: Known MAVLink dialects: common ardupilotmega ASLUAV all autoquad icarous matrixpilot paparazzi standard uAvionix ualberta [ INFO] [1668446232.569546283]: MAVROS started. MY ID 1.240, TARGET ID 1.1 [INFO] [1668446232.756406, 0.000000]: Loading model XML from Gazebo Model Database [INFO] [1668446232.758759, 0.000000]: Waiting for service /gazebo/spawn_sdf_model [ INFO] [1668446233.183430320]: waitForService: Service [/gazebo/set_physics_properties] is now available. [ INFO] [1668446233.207998357]: Physics dynamic reconfigure ready. [INFO] [1668446233.366113, 0.128000]: Calling service /gazebo/spawn_sdf_model [ERROR] [1668446236.998795974, 0.292000000]: PR: Unknown parameter to get: MPC_ACC_HOR [ERROR] [1668446237.000938227, 0.292000000]: PR: Unknown parameter to get: MPC_ACC_DOWN_MAX [ERROR] [1668446237.002759443, 0.292000000]: PR: Unknown parameter to get: MPC_ACC_UP_MAX [ERROR] [1668446237.004309805, 0.292000000]: PR: Unknown parameter to get: MPC_XY_CRUISE [ERROR] [1668446237.005853951, 0.292000000]: PR: Unknown parameter to get: MPC_Z_VEL_MAX_DN [ERROR] [1668446237.007418778, 0.292000000]: PR: Unknown parameter to get: MPC_Z_VEL_MAX_UP [ERROR] [1668446237.008906288, 0.292000000]: PR: Unknown parameter to get: CP_DIST [ERROR] [1668446237.010273612, 0.292000000]: PR: Unknown parameter to get: MPC_LAND_SPEED [ERROR] [1668446237.011324833, 0.292000000]: PR: Unknown parameter to get: MPC_JERK_MAX [ERROR] [1668446237.012275122, 0.292000000]: PR: Unknown parameter to get: NAV_ACC_RAD [ERROR] [1668446237.013241695, 0.292000000]: PR: Unknown parameter to get: MPC_YAWRAUTO_MAX [ERROR] [1668446242.015251977, 0.292000000]: PR: Unknown parameter to get: MPC_ACC_HOR [ERROR] [1668446242.016657172, 0.292000000]: PR: Unknown parameter to get: MPC_ACC_DOWN_MAX [ERROR] [1668446242.018015707, 0.292000000]: PR: Unknown parameter to get: MPC_ACC_UP_MAX [ERROR] [1668446242.019129546, 0.292000000]: PR: Unknown parameter to get: MPC_XY_CRUISE [ERROR] [1668446242.020243314, 0.292000000]: PR: Unknown parameter to get: MPC_Z_VEL_MAX_DN [ERROR] [1668446242.021252083, 0.292000000]: PR: Unknown parameter to get: MPC_Z_VEL_MAX_UP [ERROR] [1668446242.022198080, 0.292000000]: PR: Unknown parameter to get: CP_DIST [ERROR] [1668446242.023234586, 0.292000000]: PR: Unknown parameter to get: MPC_LAND_SPEED [ERROR] [1668446242.024479936, 0.292000000]: PR: Unknown parameter to get: MPC_JERK_MAX [ERROR] [1668446242.025907820, 0.292000000]: PR: Unknown parameter to get: NAV_ACC_RAD [ERROR] [1668446242.027589021, 0.292000000]: PR: Unknown parameter to get: MPC_YAWRAUTO_MAX [ERROR] [1668446247.029694595, 0.292000000]: PR: Unknown parameter to get: MPC_ACC_HOR [ERROR] [1668446247.031373735, 0.292000000]: PR: Unknown parameter to get: MPC_ACC_DOWN_MAX [ERROR] [1668446247.032828026, 0.292000000]: PR: Unknown parameter to get: MPC_ACC_UP_MAX [ERROR] [1668446247.034268144, 0.292000000]: PR: Unknown parameter to get: MPC_XY_CRUISE [ERROR] [1668446247.035773529, 0.292000000]: PR: Unknown parameter to get: MPC_Z_VEL_MAX_DN [ERROR] [1668446247.037266777, 0.292000000]: PR: Unknown parameter to get: MPC_Z_VEL_MAX_UP [ERROR] [1668446247.038708631, 0.292000000]: PR: Unknown parameter to get: CP_DIST [ERROR] [1668446247.040437345, 0.292000000]: PR: Unknown parameter to get: MPC_LAND_SPEED [ERROR] [1668446247.041785264, 0.292000000]: PR: Unknown parameter to get: MPC_JERK_MAX [ERROR] [1668446247.043138428, 0.292000000]: PR: Unknown parameter to get: NAV_ACC_RAD [ERROR] [1668446247.044258786, 0.292000000]: PR: Unknown parameter to get: MPC_YAWRAUTO_MAX [ERROR] [1668446252.046445807, 0.292000000]: PR: Unknown parameter to get: MPC_ACC_HOR [ERROR] [1668446252.048300967, 0.292000000]: PR: Unknown parameter to get: MPC_ACC_DOWN_MAX [ERROR] [1668446252.050030295, 0.292000000]: PR: Unknown parameter to get: MPC_ACC_UP_MAX [ERROR] [1668446252.051592235, 0.292000000]: PR: Unknown parameter to get: MPC_XY_CRUISE [ERROR] [1668446252.053058058, 0.292000000]: PR: Unknown parameter to get: MPC_Z_VEL_MAX_DN [ERROR] [1668446252.054394181, 0.292000000]: PR: Unknown parameter to get: MPC_Z_VEL_MAX_UP [ERROR] [1668446252.056083617, 0.292000000]: PR: Unknown parameter to get: CP_DIST [ERROR] [1668446252.057767941, 0.292000000]: PR: Unknown parameter to get: MPC_LAND_SPEED [ERROR] [1668446252.059317443, 0.292000000]: PR: Unknown parameter to get: MPC_JERK_MAX [ERROR] [1668446252.060765728, 0.292000000]: PR: Unknown parameter to get: NAV_ACC_RAD [ERROR] [1668446252.062152565, 0.292000000]: PR: Unknown parameter to get: MPC_YAWRAUTO_MAX [ERROR] [1668446257.064389603, 0.292000000]: PR: Unknown parameter to get: MPC_ACC_HOR [ERROR] [1668446257.066544230, 0.292000000]: PR: Unknown parameter to get: MPC_ACC_DOWN_MAX [ERROR] [1668446257.068509666, 0.292000000]: PR: Unknown parameter to get: MPC_ACC_UP_MAX [ERROR] [1668446257.070185401, 0.292000000]: PR: Unknown parameter to get: MPC_XY_CRUISE [ERROR] [1668446257.071797246, 0.292000000]: PR: Unknown parameter to get: MPC_Z_VEL_MAX_DN [ERROR] [1668446257.073381063, 0.292000000]: PR: Unknown parameter to get: MPC_Z_VEL_MAX_UP [ERROR] [1668446257.074585601, 0.292000000]: PR: Unknown parameter to get: CP_DIST [ERROR] [1668446257.075763759, 0.292000000]: PR: Unknown parameter to get: MPC_LAND_SPEED [ERROR] [1668446257.076974616, 0.292000000]: PR: Unknown parameter to get: MPC_JERK_MAX [ERROR] [1668446257.078091496, 0.292000000]: PR: Unknown parameter to get: NAV_ACC_RAD [ERROR] [1668446257.079207113, 0.292000000]: PR: Unknown parameter to get: MPC_YAWRAUTO_MAX [ERROR] [1668446262.082013732, 0.292000000]: PR: Unknown parameter to get: MPC_ACC_HOR [ERROR] [1668446262.083843008, 0.292000000]: PR: Unknown parameter to get: MPC_ACC_DOWN_MAX [ERROR] [1668446262.085506843, 0.292000000]: PR: Unknown parameter to get: MPC_ACC_UP_MAX [ERROR] [1668446262.087320466, 0.292000000]: PR: Unknown parameter to get: MPC_XY_CRUISE [ERROR] [1668446262.089104732, 0.292000000]: PR: Unknown parameter to get: MPC_Z_VEL_MAX_DN [ERROR] [1668446262.090401966, 0.292000000]: PR: Unknown parameter to get: MPC_Z_VEL_MAX_UP [ERROR] [1668446262.091841441, 0.292000000]: PR: Unknown parameter to get: CP_DIST [ERROR] [1668446262.093000697, 0.292000000]: PR: Unknown parameter to get: MPC_LAND_SPEED [ERROR] [1668446262.093966463, 0.292000000]: PR: Unknown parameter to get: MPC_JERK_MAX [ERROR] [1668446262.095037281, 0.292000000]: PR: Unknown parameter to get: NAV_ACC_RAD [ERROR] [1668446262.096735896, 0.292000000]: PR: Unknown parameter to get: MPC_YAWRAUTO_MAX

  • imitation_learning/drive_model.py ValueError

    imitation_learning/drive_model.py ValueError

    imitation_learning/drive_model.py ValueError

    Hi, i have trained model for imitation learning, when i run imitation_learning/drive_model.py, i've got next message: File "\AirSim\PythonClient\imitation_learning_test\drive_test.py", line 52, in image_buf[0] = get_image() ValueError: could not broadcast input array from shape (66,200,2) into shape (66,200,3)

    I use latest AirSim release for Windows, v1.8.1 and Python 3.10

    How is possible to fix this error?

Multi-sensor perception for autonomous vehicles
Multi-sensor perception for autonomous vehicles

Multi-Sensor Fusion for Perception -- 多传感器融合感知 Maintained by Ge Yao, [email protected] Up & Running Overview 本Repo为基于ROS melodic @ Ubuntu 18.04的Mul

Jun 11, 2022
AWS Ambit Scenario Designer for Unreal Engine 4 (Ambit) is a suite of tools to streamline content creation at scale for autonomous vehicle and robotics simulation applications.
AWS Ambit Scenario Designer for Unreal Engine 4 (Ambit) is a suite of tools to streamline content creation at scale for autonomous vehicle and robotics simulation applications.

AWS Ambit Scenario Designer for Unreal Engine 4 Welcome to AWS Ambit Scenario Designer for Unreal Engine 4 (Ambit), a suite of tools to streamline 3D

Nov 17, 2022
ModuLiDAR is an all-in-one open-source software for autonomous UGVs and industrial robots.
ModuLiDAR is an all-in-one open-source software for autonomous UGVs and industrial robots.

ModuLiDAR is an all-in-one open-source software for autonomous UGVs and industrial robots. the target industries that ModuLiDAR is working on are farming industry, mining industry, warehouses industry, and construction industry.

Jun 22, 2022
Open source software for autonomous drones.
Open source software for autonomous drones.

Prometheus - 自主无人机开源项目 [English Readme] Prometheus是希腊神话中最具智慧的神明之一,希望本项目能为无人机研发带来无限的智慧与光明。 项目总览 Prometheus是一套开源的自主无人机软件平台,为无人机的智能与自主飞行提供全套解决方案。本项目基于PX4

Nov 28, 2022
An Open-source Strong Baseline for SE(3) Planning in Autonomous Drone Racing
An Open-source Strong Baseline for SE(3) Planning in Autonomous Drone Racing

Fast-Racing An Open-source Strong Baseline for SE(3) Planning in Autonomous Drone Racing 0. Overview Fast-Racing is a strong baseline that focuses on

Nov 28, 2022
A Motorola 68K simulator based on Musashi-master 68K simulator.

cpmsim Originally referenced as http://home.earthlink.net/~schultdw/cpm68/simulator.html (now 404) This simple CP/M-68K simulator, is built around the

Oct 26, 2021
The movements of your RC vehicles are jerky and not smooth? This Arduino device will solve this issue by adding acceleration and deceleration ramps to the PWM signals!
The movements of your RC vehicles are jerky and not smooth? This Arduino device will solve this issue by adding acceleration and deceleration ramps to the PWM signals!

This is an Arduino Pro Mini 3.3V / 8MHz based RC servo ramp / delay generator Features: 4 RC servo PWM inputs and outputs (can be enhanced) Reads the

Apr 15, 2022
PUBG ESP Hack for Emulator using C++ code. Player Position, Bones, Loots, Weapons, Vehicles, Boxes ... etc.
PUBG ESP Hack for Emulator using C++ code. Player Position, Bones, Loots, Weapons, Vehicles, Boxes ... etc.

PUBG 1.7 ESP Hack for Emulator (C++ Source Code) PUBG ESP Hack for Emulator using C++ code. Player Position, Bones, Loots, Weapons, Vehicles, Boxes ..

Nov 1, 2022
Fast and Light-weight path smoothing methods for vehicles
Fast and Light-weight path smoothing methods for vehicles

path_smoother About Fast and Light-weight path smoothing methods for vehicles Denpendencies This project has been tested on Ubuntu 18.04. sudo apt-get

Dec 1, 2021
2.4 GHz LORA based telemetry and radio link for remote controlled vehicles

mLRS This is the mLRS project. The goal is an open source 2.4 GHz LORA-based high-performance long-range radio link, which provides fully transparent

Nov 22, 2022
An open autonomous driving platform
An open autonomous driving platform

We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard. -- John F. Kennedy, 1962

Nov 25, 2022
Open source Splatoon 2 save editor for the Nintendo Switch (NX) built on top of the effective-spoon project
Open source Splatoon 2 save editor for the Nintendo Switch (NX) built on top of the effective-spoon project

Open source Splatoon 2 save editor for the Nintendo Switch (NX) built on top of the effective-spoon project

Sep 16, 2022
Open Source Cheat for Apex Legends, designed for ease of use. Made to understand reversing of Apex Legends and respawn's modified source engine as well as their Easy Anti Cheat Implementation.
Open Source Cheat for Apex Legends, designed for ease of use. Made to understand reversing of Apex Legends and respawn's modified source engine as well as their Easy Anti Cheat Implementation.

Apex-Legends-SDK Open Source Cheat for Apex Legends, designed for ease of use. Made to understand reversing of Apex Legends and respawn's modified sou

Nov 20, 2022
A simple, funky, horrible fluid simulator, made possible by OLC's Pixel Game Engine
A simple, funky, horrible fluid simulator, made possible by OLC's Pixel Game Engine

flOwie A simple, funky, horrible fluid simulator, made possible by OLC's Pixel Game Engine! Not meant for usefulness. The big O is in the name because

Jan 21, 2022
Masters degree research project source code. Might come back to it later.

Camflow Network Provenance Authors Tray Keller and Austin Waddell CamFlow and the Linux Provenance Module (LPM) framework are both an excellent step i

Mar 14, 2022
Autonomous recorder for vex robots using the PROS API

VEX Robot Recorder Description This is a demo project for the "Recorder" class that allows the user to record and play back past recorded autonomouses

Jun 14, 2022
Decentralized architecture for loss tolerant semi-autonomous robotics

gestalt-arch Decentralized architecture for loss tolerant semi-autonomous robotics Objective We demonstrate a decentralized robot control architecture

Dec 18, 2021
Hands-On example code for Sensor Fusion and Autonomous Driving Stack based on Autoware
Hands-On example code for Sensor Fusion and Autonomous Driving Stack based on Autoware

Autoware "Hands-On" Stanford Lecture AA274 / Graz University of Technology M. Schratter, J. Zubaca, K. Mautner-Lassnig, T. Renzler, M. Kirchengast, S.

Sep 26, 2022
VEX v5 Pro program that records driver movements and plays them back during the autonomous period.

Autonomous Recorder This code was written for team 5588R, but it can be easily modified to work with your team's robot. Notes Code isn't fully finishe

Jun 21, 2022