diff --git a/AUTHORS.md b/AUTHORS.md index 69d0294d2..41359dd55 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -6,6 +6,8 @@ AirSim was originally created by [Shital Shah](https://github.com/sytelus) durin List of all contributors since our first release in February 2017 can be [found here](https://github.com/Microsoft/AirSim/graphs/contributors). +Afterwards, Cosys-Lab researchers have started to add new features and improvements to AirSim. The following publications are the result of this work: + # Cosys-Lab publications - [Cosys-AirSim: A Real-Time Simulation Framework Expanded for Complex Industrial Applications](https://arxiv.org/abs/2303.13381) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e6e127a0..2486dcbf6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -226,7 +226,7 @@ ### November, 2018 * Added Weather Effects and [APIs](apis.md#weather-apis) * Added [Time of Day API](apis.md#time-of-day-api) -* An experimental integration of [AirSim on Unity](https://github.com/Microsoft/AirSim/tree/main/Unity) is now available. Learn more in [Unity blog post](https://blogs.unity3d.com/2018/11/14/airsim-on-unity-experiment-with-autonomous-vehicle-simulation). +* An experimental integration of [AirSim on Unity](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/Unity) is now available. Learn more in [Unity blog post](https://blogs.unity3d.com/2018/11/14/airsim-on-unity-experiment-with-autonomous-vehicle-simulation). * [New environments](https://github.com/Microsoft/AirSim/releases/tag/v1.2.1): Forest, Plains (windmill farm), TalkingHeads (human head simulation), TrapCam (animal detection via camera) * Highly efficient [NoDisplay view mode](settings.md#viewmode) to turn off main screen rendering so you can capture images at high rate * [Enable/disable sensors](https://github.com/Microsoft/AirSim/pull/1479) via settings @@ -237,7 +237,7 @@ * [Custom speed units](https://github.com/Microsoft/AirSim/pull/1181) * [ROS publisher](https://github.com/Microsoft/AirSim/pull/1135) * [simSetObjectPose API](https://github.com/Microsoft/AirSim/pull/1161) -* [Character Control APIs](https://github.com/Microsoft/AirSim/blob/main/PythonClient/airsim/client.py#L137) (works on TalkingHeads binaries in release) +* [Character Control APIs](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient/airsim/client.py#L137) (works on TalkingHeads binaries in release) * [Arducopter Solo Support](https://github.com/Microsoft/AirSim/pull/1387) * [Linux install without sudo access](https://github.com/Microsoft/AirSim/pull/1434) * [Kinect like ROS publisher](https://github.com/Microsoft/AirSim/pull/1298) diff --git a/Examples/DataCollection/DataCollectorSGM_settings.json b/Examples/DataCollection/DataCollectorSGM_settings.json index 8f074a4b1..cc1b5bafd 100644 --- a/Examples/DataCollection/DataCollectorSGM_settings.json +++ b/Examples/DataCollection/DataCollectorSGM_settings.json @@ -1,5 +1,5 @@ { - "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/main/docs/settings.md", + "SeeDocsAt": "https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/docs/settings.md", "SettingsVersion": 1.2, "SimMode": "ComputerVision", "CameraDefaults": { diff --git a/Examples/DepthNav/DepthNav_settings.json b/Examples/DepthNav/DepthNav_settings.json index f8f79d5bb..df26a4815 100644 --- a/Examples/DepthNav/DepthNav_settings.json +++ b/Examples/DepthNav/DepthNav_settings.json @@ -1,5 +1,5 @@ { - "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/main/docs/settings.md", + "SeeDocsAt": "https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/docs/settings.md", "SettingsVersion": 1.2, "SimMode": "ComputerVision", "CameraDefaults": { diff --git a/GazeboDrone/README.md b/GazeboDrone/README.md index 1d607013b..c41c89fd9 100644 --- a/GazeboDrone/README.md +++ b/GazeboDrone/README.md @@ -1,3 +1,3 @@ # Welcome to GazeboDrone -This page has moved [here](https://github.com/microsoft/AirSim/blob/main/docs/gazebo_drone.md). \ No newline at end of file +This page has moved [here](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/docs/gazebo_drone.md). \ No newline at end of file diff --git a/MavLinkCom/MavLinkMoCap/Readme.md b/MavLinkCom/MavLinkMoCap/Readme.md index 32d47cdec..61532098b 100644 --- a/MavLinkCom/MavLinkMoCap/Readme.md +++ b/MavLinkCom/MavLinkMoCap/Readme.md @@ -1,3 +1,3 @@ # Welcome to MavLinkMoCap -This page has moved [here](https://github.com/microsoft/AirSim/blob/main/docs/mavlinkcom_mocap.md). \ No newline at end of file +This page has moved [here](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/docs/mavlinkcom_mocap.md). \ No newline at end of file diff --git a/MavLinkCom/README.md b/MavLinkCom/README.md index 23560fceb..ca4785bbc 100644 --- a/MavLinkCom/README.md +++ b/MavLinkCom/README.md @@ -1,3 +1,3 @@ # Welcome to MavLinkCom -This page has moved [here](https://github.com/microsoft/AirSim/blob/main/docs/mavlinkcom.md). \ No newline at end of file +This page has moved [here](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/docs/mavlinkcom.md). \ No newline at end of file diff --git a/PythonClient/computer_vision/cv_capture.py b/PythonClient/computer_vision/cv_capture.py index 2701ce300..430348c78 100644 --- a/PythonClient/computer_vision/cv_capture.py +++ b/PythonClient/computer_vision/cv_capture.py @@ -1,5 +1,5 @@ # In settings.json first activate computer vision mode: -# https://github.com/Microsoft/AirSim/blob/main/docs/image_apis.md#computer-vision-mode +# https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/docs/image_apis.md#computer-vision-mode import setup_path import airsim diff --git a/PythonClient/computer_vision/cv_mode.py b/PythonClient/computer_vision/cv_mode.py index 3c05e0870..b308c1c13 100644 --- a/PythonClient/computer_vision/cv_mode.py +++ b/PythonClient/computer_vision/cv_mode.py @@ -1,5 +1,5 @@ # In settings.json first activate computer vision mode: -# https://github.com/Microsoft/AirSim/blob/main/docs/image_apis.md#computer-vision-mode +# https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/docs/image_apis.md#computer-vision-mode import setup_path import airsim diff --git a/PythonClient/computer_vision/cv_navigate.py b/PythonClient/computer_vision/cv_navigate.py index 592190f1a..616c19f9c 100644 --- a/PythonClient/computer_vision/cv_navigate.py +++ b/PythonClient/computer_vision/cv_navigate.py @@ -1,6 +1,6 @@ # In settings.json first activate computer vision mode: -# https://github.com/Microsoft/AirSim/blob/main/docs/image_apis.md#computer-vision-mode +# https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/docs/image_apis.md#computer-vision-mode import setup_path import airsim diff --git a/PythonClient/computer_vision/getpos.py b/PythonClient/computer_vision/getpos.py index 52783e744..7e5ae94b0 100644 --- a/PythonClient/computer_vision/getpos.py +++ b/PythonClient/computer_vision/getpos.py @@ -1,5 +1,5 @@ # In settings.json first activate computer vision mode: -# https://github.com/Microsoft/AirSim/blob/main/docs/image_apis.md#computer-vision-mode +# https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/docs/image_apis.md#computer-vision-mode import setup_path import airsim diff --git a/PythonClient/computer_vision/ground_truth.py b/PythonClient/computer_vision/ground_truth.py index 32c63796c..2247a7a6e 100644 --- a/PythonClient/computer_vision/ground_truth.py +++ b/PythonClient/computer_vision/ground_truth.py @@ -1,5 +1,5 @@ # In settings.json first activate computer vision mode: -# https://github.com/Microsoft/AirSim/blob/main/docs/image_apis.md#computer-vision-mode +# https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/docs/image_apis.md#computer-vision-mode import setup_path import airsim diff --git a/PythonClient/computer_vision/objects.py b/PythonClient/computer_vision/objects.py index f5356c31c..e5e09d97f 100644 --- a/PythonClient/computer_vision/objects.py +++ b/PythonClient/computer_vision/objects.py @@ -1,5 +1,5 @@ # In settings.json first activate computer vision mode: -# https://github.com/Microsoft/AirSim/blob/main/docs/image_apis.md#computer-vision-mode +# https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/docs/image_apis.md#computer-vision-mode import setup_path import airsim diff --git a/PythonClient/computer_vision/segmentation.py b/PythonClient/computer_vision/segmentation.py index 8a6a550fb..3fd0230c2 100644 --- a/PythonClient/computer_vision/segmentation.py +++ b/PythonClient/computer_vision/segmentation.py @@ -1,5 +1,5 @@ # In settings.json first activate computer vision mode: -# https://github.com/Microsoft/AirSim/blob/main/docs/image_apis.md#computer-vision-mode +# https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/docs/image_apis.md#computer-vision-mode import airsim import cv2 diff --git a/PythonClient/multirotor/multi_agent_drone.py b/PythonClient/multirotor/multi_agent_drone.py index 2338b1496..558249da1 100644 --- a/PythonClient/multirotor/multi_agent_drone.py +++ b/PythonClient/multirotor/multi_agent_drone.py @@ -9,7 +9,7 @@ # Use below in settings.json with Blocks environment """ { - "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/main/docs/settings.md", + "SeeDocsAt": "https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/docs/settings.md", "SettingsVersion": 1.2, "SimMode": "Multirotor", "ClockSpeed": 1, diff --git a/PythonClient/multirotor/opencv_show.py b/PythonClient/multirotor/opencv_show.py index 75a5e4862..d8e77e4ac 100644 --- a/PythonClient/multirotor/opencv_show.py +++ b/PythonClient/multirotor/opencv_show.py @@ -1,5 +1,5 @@ # In settings.json first activate computer vision mode: -# https://github.com/Microsoft/AirSim/blob/main/docs/image_apis.md#computer-vision-mode +# https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/docs/image_apis.md#computer-vision-mode import setup_path import airsim diff --git a/PythonClient/multirotor/sensorframe_lidar_pointcloud.py b/PythonClient/multirotor/sensorframe_lidar_pointcloud.py index 10e11d41a..7dadee0d2 100644 --- a/PythonClient/multirotor/sensorframe_lidar_pointcloud.py +++ b/PythonClient/multirotor/sensorframe_lidar_pointcloud.py @@ -3,7 +3,7 @@ # Sample settings.json used for this script: ''' { - "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/main/docs/settings_json.md", + "SeeDocsAt": "https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/docs/settings_json.md", "SettingsVersion": 1.2, "SimMode": "Multirotor", diff --git a/PythonClient/multirotor/vehicleframe_lidar_pointcloud.py b/PythonClient/multirotor/vehicleframe_lidar_pointcloud.py index e4f50bf7e..83741b9da 100644 --- a/PythonClient/multirotor/vehicleframe_lidar_pointcloud.py +++ b/PythonClient/multirotor/vehicleframe_lidar_pointcloud.py @@ -3,7 +3,7 @@ # Sample settings.json used for this script: ''' { - "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/main/docs/settings_json.md", + "SeeDocsAt": "https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/docs/settings_json.md", "SettingsVersion": 1.2, "SimMode": "Multirotor", diff --git a/Unreal/Environments/Blocks/Config/DefaultGame.ini b/Unreal/Environments/Blocks/Config/DefaultGame.ini index 3f62f5dc6..f6e16f373 100644 --- a/Unreal/Environments/Blocks/Config/DefaultGame.ini +++ b/Unreal/Environments/Blocks/Config/DefaultGame.ini @@ -2,8 +2,8 @@ ProjectID=367FFC384956CDC4377673B3217F380D ProjectName="Blocks" CompanyName=Microsoft Research -Homepage="https://github.com/microsoft/airsim" -SupportContact="https://github.com/microsoft/airsim/issues" +Homepage="https://cosysgit.uantwerpen.be/sensorsimulation/airsim" +SupportContact="https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/issues" LicensingTerms=MIT Licence ProjectDisplayedTitle=NSLOCTEXT("[/Script/EngineSettings]", "8F8B6B2A472F9FDFB69E2B8CFAE8C4E0", "Blocks Environment for AirSim") ProjectDebugTitleInfo=NSLOCTEXT("[/Script/EngineSettings]", "F31D7C524A9E9BC66DD2AA922D309408", "Blocks Environment for AirSim") diff --git a/build.cmd b/build.cmd index e578abe27..05b66399e 100644 --- a/build.cmd +++ b/build.cmd @@ -17,7 +17,7 @@ if "%VisualStudioVersion%" lss "17.0" ( echo( echo Hello there! We just upgraded AirSim to Unreal Engine 5.2.1 and Visual Studio 2022. echo Here are few easy steps for upgrade so everything is new and shiny: - echo https://github.com/Microsoft/AirSim/blob/main/docs/unreal_upgrade.md + echo https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/docs/unreal_upgrade.md goto :buildfailed_nomsg ) @@ -141,8 +141,8 @@ IF NOT EXIST Unreal\Plugins\AirSim\Content\VehicleAdv\SUV\v1.2.0 ( IF EXIST suv_download_tmp rmdir suv_download_tmp /q /s mkdir suv_download_tmp @echo on - REM %powershell% -command "& { Start-BitsTransfer -Source https://github.com/Microsoft/AirSim/releases/download/v1.2.0/car_assets.zip -Destination suv_download_tmp\car_assets.zip }" - REM %powershell% -command "& { (New-Object System.Net.WebClient).DownloadFile('https://github.com/Microsoft/AirSim/releases/download/v1.2.0/car_assets.zip', 'suv_download_tmp\car_assets.zip') }" + REM %powershell% -command "& { Start-BitsTransfer -Source https://github.com/Cosys-Lab/Cosys-AirSim/releases/download/carassets/cosys_car_assets.zip -Destination suv_download_tmp\car_assets.zip }" + REM %powershell% -command "& { (New-Object System.Net.WebClient).DownloadFile('https://github.com/Cosys-Lab/Cosys-AirSim/releases/download/carassets/cosys_car_assets.zip', 'suv_download_tmp\car_assets.zip') }" if "%PWSHV7%" == "" ( %powershell% -command "& { [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; iwr https://github.com/Cosys-Lab/Cosys-AirSim/releases/download/carassets/cosys_car_assets.zip -OutFile suv_download_tmp\car_assets.zip }" ) else ( diff --git a/build.sh b/build.sh index 84542b27b..8847bef99 100755 --- a/build.sh +++ b/build.sh @@ -144,7 +144,7 @@ echo "==================================================================" echo "All environments under Unreal/Environments have been updated." echo "" echo "For further info see:" -echo "https://github.com/Microsoft/AirSim/blob/master/docs/build_linux.md" +echo "https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/mastermaster/docs/build_linux.md" echo "==================================================================" popd >/dev/null diff --git a/docs/InfraredCamera.md b/docs/InfraredCamera.md index 99e78e29d..c733f58ae 100644 --- a/docs/InfraredCamera.md +++ b/docs/InfraredCamera.md @@ -1,14 +1,11 @@ -This is a tutorial for generating simulated thermal infrared (IR) images using AirSim and the AirSim Africa environment. +This is a tutorial for generating simulated thermal infrared (IR) images using AirSim. -Pre-compiled Africa Environment can be downloaded from the Releases tab of this Github repo: -[Windows Pre-compiled binary](https://github.com/Microsoft/AirSim/releases/tag/v1.2.1) +To generate your own data, you may use two python files: [create_ir_segmentation_map.py](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient//computer_vision/create_ir_segmentation_map.py) and +[capture_ir_segmentation.py](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient//computer_vision/capture_ir_segmentation.py). -To generate your own data, you may use two python files: [create_ir_segmentation_map.py](https://github.com/Microsoft/AirSim/tree/main/PythonClient//computer_vision/create_ir_segmentation_map.py) and -[capture_ir_segmentation.py](https://github.com/Microsoft/AirSim/tree/main/PythonClient//computer_vision/capture_ir_segmentation.py). +[create_ir_segmentation_map.py](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient//computer_vision/create_ir_segmentation_map.py) uses temperature, emissivity, and camera response information to estimate the thermal digital count that could be expected for the objects in the environment, and then reassigns the segmentation IDs in AirSim to match these digital counts. It should be run before starting to capture thermal IR data. Otherwise, digital counts in the IR images will be incorrect. The camera response, temperature, and emissivity data are all included for the Africa environment. -[create_ir_segmentation_map.py](https://github.com/Microsoft/AirSim/tree/main/PythonClient//computer_vision/create_ir_segmentation_map.py) uses temperature, emissivity, and camera response information to estimate the thermal digital count that could be expected for the objects in the environment, and then reassigns the segmentation IDs in AirSim to match these digital counts. It should be run before starting to capture thermal IR data. Otherwise, digital counts in the IR images will be incorrect. The camera response, temperature, and emissivity data are all included for the Africa environment. - -[capture_ir_segmentation.py](https://github.com/Microsoft/AirSim/tree/main/PythonClient//computer_vision/capture_ir_segmentation.py) is run after the segmentation IDs have been reassigned. It tracks objects of interest and records the infrared and scene images from the multirotor. It uses Computer Vision mode. +[capture_ir_segmentation.py](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient//computer_vision/capture_ir_segmentation.py) is run after the segmentation IDs have been reassigned. It tracks objects of interest and records the infrared and scene images from the multirotor. It uses Computer Vision mode. Finally, the details about how temperatures were estimated for plants and animals in the Africa environment, etc. can be found in this paper: diff --git a/docs/adding_new_apis.md b/docs/adding_new_apis.md index 7f8d10fad..a44f12a93 100644 --- a/docs/adding_new_apis.md +++ b/docs/adding_new_apis.md @@ -32,17 +32,17 @@ The APIs use [msgpack-rpc protocol](https://github.com/msgpack-rpc/msgpack-rpc) To add the RPC code to call the new API, follow the steps below. Follow the implementation of other APIs defined in the files. -1. Add an RPC handler in the server which calls your implemented method in [RpcLibServerBase.cpp](https://github.com/microsoft/AirSim/blob/main/AirLib/src/api/RpcLibServerBase.cpp). Vehicle-specific APIs are in their respective vehicle subfolder. +1. Add an RPC handler in the server which calls your implemented method in [RpcLibServerBase.cpp](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/AirLib/src/api/RpcLibServerBase.cpp). Vehicle-specific APIs are in their respective vehicle subfolder. -2. Add the C++ client API method in [RpcClientBase.cpp](https://github.com/microsoft/AirSim/blob/main/AirLib/src/api/RpcLibClientBase.cpp) +2. Add the C++ client API method in [RpcClientBase.cpp](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/AirLib/src/api/RpcLibClientBase.cpp) -3. Add the Python client API method in [client.py](https://github.com/microsoft/AirSim/blob/main/PythonClient/airsim/client.py). If needed, add or modify a structure definition in [types.py](https://github.com/microsoft/AirSim/blob/main/PythonClient/airsim/types.py) +3. Add the Python client API method in [client.py](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient/airsim/client.py). If needed, add or modify a structure definition in [types.py](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient/airsim/types.py) ## Testing Testing is required to ensure that the API is working as expected. For this, as expected, you'll have to use the source-built AirSim and Blocks environment. Apart from this, if using the Python APIs, you'll have to use the `airsim` package from source rather than the PyPI package. Below are 2 ways described to go about using the package from source - -1. Use [setup_path.py](https://github.com/microsoft/AirSim/blob/main/PythonClient/multirotor/setup_path.py). It will setup the path such that the local airsim module is used instead of the pip installed package. This is the method used in many of the scripts since the user doesn't need to do anything other than run the script. +1. Use [setup_path.py](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient/multirotor/setup_path.py). It will setup the path such that the local airsim module is used instead of the pip installed package. This is the method used in many of the scripts since the user doesn't need to do anything other than run the script. Place your example script in one of the folders inside `PythonClient` like `multirotor`, `car`, etc. You can also create one to keep things separate, and copy the `setup_path.py` file from another folder. Add `import setup_path` before `import airsim` in your files. Now the latest main API (or any branch currently checked out) will be used. diff --git a/docs/apis.md b/docs/apis.md index d3e19f260..aaaf1a3b9 100644 --- a/docs/apis.md +++ b/docs/apis.md @@ -128,14 +128,14 @@ Furthermore, the [Instance Segmentation](instance_segmentation.md) system can al More on [image APIs, Computer Vision mode and instance segmentation configuration](image_apis.md). ### Pause and Continue APIs -AirSim allows to pause and continue the simulation through `pause(is_paused)` API. To pause the simulation call `pause(True)` and to continue the simulation call `pause(False)`. You may have scenario, especially while using reinforcement learning, to run the simulation for specified amount of time and then automatically pause. While simulation is paused, you may then do some expensive computation, send a new command and then again run the simulation for specified amount of time. This can be achieved by API `continueForTime(seconds)`. This API runs the simulation for the specified number of seconds and then pauses the simulation. For example usage, please see [pause_continue_car.py](https://github.com/Microsoft/AirSim/tree/main/PythonClient//car/pause_continue_car.py) and [pause_continue_drone.py](https://github.com/Microsoft/AirSim/tree/main/PythonClient//multirotor/pause_continue_drone.py). +AirSim allows to pause and continue the simulation through `pause(is_paused)` API. To pause the simulation call `pause(True)` and to continue the simulation call `pause(False)`. You may have scenario, especially while using reinforcement learning, to run the simulation for specified amount of time and then automatically pause. While simulation is paused, you may then do some expensive computation, send a new command and then again run the simulation for specified amount of time. This can be achieved by API `continueForTime(seconds)`. This API runs the simulation for the specified number of seconds and then pauses the simulation. For example usage, please see [pause_continue_car.py](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient//car/pause_continue_car.py) and [pause_continue_drone.py](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient//multirotor/pause_continue_drone.py). ### Collision API The collision information can be obtained using `simGetCollisionInfo` API. This call returns a struct that has information not only whether collision occurred but also collision position, surface normal, penetration depth and so on. ### Time of Day API -AirSim assumes there exist sky sphere of class `EngineSky/BP_Sky_Sphere` in your environment with [ADirectionalLight actor](https://github.com/microsoft/AirSim/blob/v1.4.0-linux/Unreal/Plugins/AirSim/Source/SimMode/SimModeBase.cpp#L224). By default, the position of the sun in the scene doesn't move with time. You can use [settings](settings.md#timeofday) to set up latitude, longitude, date and time which AirSim uses to compute the position of sun in the scene. +AirSim assumes there exist sky sphere of class `EngineSky/BP_Sky_Sphere` in your environment with [ADirectionalLight actor](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/masterv1.4.0-linux/Unreal/Plugins/AirSim/Source/SimMode/SimModeBase.cpp#L224). By default, the position of the sun in the scene doesn't move with time. You can use [settings](settings.md#timeofday) to set up latitude, longitude, date and time which AirSim uses to compute the position of sun in the scene. You can also use following API call to set the sun position according to given date time: @@ -177,7 +177,7 @@ class WeatherParameter: Fog = 7 ``` -Please note that `Roadwetness`, `RoadSnow` and `RoadLeaf` effects requires adding [materials](https://github.com/Microsoft/AirSim/tree/main/Unreal/Plugins/AirSim/Content/Weather/WeatherFX) to your scene. +Please note that `Roadwetness`, `RoadSnow` and `RoadLeaf` effects requires adding [materials](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/Unreal/Plugins/AirSim/Content/Weather/WeatherFX) to your scene. Please see [example code](https://cosysgit.uantwerpen.be/sensorsimulation/AirSim/-/blob/main/PythonClient/environment/weather.py) for more details. @@ -207,7 +207,7 @@ wind = airsim.Vector3r(20, 0, 0) client.simSetWind(wind) ``` -Also see example script in [set_wind.py](https://github.com/Microsoft/AirSim/blob/main/PythonClient/multirotor/set_wind.py) +Also see example script in [set_wind.py](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient/multirotor/set_wind.py) ### Lidar APIs AirSim offers API to retrieve point cloud data from (GPU)Lidar sensors on vehicles. You can set the number of channels, points per second, horizontal and vertical FOV, etc parameters in [settings.json](settings.md). @@ -292,9 +292,9 @@ See the [Adding New APIs](adding_new_apis.md) page ## References and Examples * [C++ API Examples](apis_cpp.md) -* [Car Examples](https://github.com/Microsoft/AirSim/tree/main/PythonClient//car) -* [Multirotor Examples](https://github.com/Microsoft/AirSim/tree/main/PythonClient//multirotor) -* [Computer Vision Examples](https://github.com/Microsoft/AirSim/tree/main/PythonClient//computer_vision) +* [Car Examples](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient//car) +* [Multirotor Examples](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient//multirotor) +* [Computer Vision Examples](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient//computer_vision) * [Move on Path](https://github.com/Microsoft/AirSim/wiki/moveOnPath-demo) demo showing video of fast multirotor flight through Modular Neighborhood environment * [Building a Hexacopter](https://github.com/Microsoft/AirSim/wiki/hexacopter) * [Building Point Clouds](https://github.com/Microsoft/AirSim/wiki/Point-Clouds) diff --git a/docs/apis_cpp.md b/docs/apis_cpp.md index 3a01d5444..2a8cb508d 100644 --- a/docs/apis_cpp.md +++ b/docs/apis_cpp.md @@ -16,7 +16,7 @@ Here's how to use AirSim APIs using Python to control simulated car (see also [P ```cpp -// ready to run example: https://github.com/Microsoft/AirSim/blob/master/HelloCar/main.cpp +// ready to run example: https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/mastermaster/HelloCar/main.cpp #include #include "vehicles/car/api/CarRpcLibClient.hpp" @@ -54,7 +54,7 @@ Here's how to use AirSim APIs using Python to control simulated car (see also [P ```cpp -// ready to run example: https://github.com/Microsoft/AirSim/blob/master/HelloDrone/main.cpp +// ready to run example: https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/mastermaster/HelloDrone/main.cpp #include #include "vehicles/multirotor/api/MultirotorRpcLibClient.hpp" diff --git a/docs/custom_drone.md b/docs/custom_drone.md index 332f39aa5..f2da7ed52 100644 --- a/docs/custom_drone.md +++ b/docs/custom_drone.md @@ -62,8 +62,8 @@ You can run the MavlinkCom library and MavLinkTest app to test the connection between your companion computer and flight controller. ## How Does This Work? -AirSim uses MavLinkCom component developed by @lovettchris. The MavLinkCom has a proxy architecture where you can open a connection to PX4 either using serial or UDP and then other components share this connection. When PX4 sends MavLink message, all components receive that message. If any component sends a message then it's received by PX4 only. This allows you to connect any number of components to PX4 [This code](https://github.com/microsoft/AirSim/blob/main/AirLib/include/vehicles/multirotor/firmwares/mavlink/MavLinkMultirotorApi.hpp#L600) opens a connection for LogViewer and QGC. You can add something more if you like. +AirSim uses MavLinkCom component developed by @lovettchris. The MavLinkCom has a proxy architecture where you can open a connection to PX4 either using serial or UDP and then other components share this connection. When PX4 sends MavLink message, all components receive that message. If any component sends a message then it's received by PX4 only. This allows you to connect any number of components to PX4 [This code](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/AirLib/include/vehicles/multirotor/firmwares/mavlink/MavLinkMultirotorApi.hpp#L600) opens a connection for LogViewer and QGC. You can add something more if you like. If you want to use QGC + AirSim together than you will need QGC to let own the serial port. QGC opens up TCP connection that acts as a proxy so any other component can connect to QGC and send MavLinkMessage to QGC and then QGC forwards that message to PX4. So you tell AirSim to connect to QGC and let QGC own serial port. -For companion board, the way we did it earlier was to have Gigabyte Brix on the drone. This x86 full-fledged computer that will connect to PX4 through USB. We had Ubuntu on Brix and ran [DroneServer](https://github.com/Microsoft/AirSim/tree/main/DroneServer). The DroneServer created an API endpoint that we can talk to via C++ client code (or Python code) and it translated API calls to MavLink messages. That way you can write your code against the same API, test it in the simulator and then run the same code on an actual vehicle. So the companion computer has DroneServer running along with client code. +For companion board, the way we did it earlier was to have Gigabyte Brix on the drone. This x86 full-fledged computer that will connect to PX4 through USB. We had Ubuntu on Brix and ran [DroneServer](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/DroneServer). The DroneServer created an API endpoint that we can talk to via C++ client code (or Python code) and it translated API calls to MavLink messages. That way you can write your code against the same API, test it in the simulator and then run the same code on an actual vehicle. So the companion computer has DroneServer running along with client code. diff --git a/docs/distance_sensor.md b/docs/distance_sensor.md index 557745ea8..6143d0f91 100644 --- a/docs/distance_sensor.md +++ b/docs/distance_sensor.md @@ -22,4 +22,4 @@ For example, to make the sensor point towards the ground (for altitude measureme } ``` -**Note:** For Cars, the sensor is placed 1 meter above the vehicle center by default. This is required since otherwise the sensor gives strange data due it being inside the vehicle. This doesn't affect the sensor values say when measuring the distance between 2 cars. See [`PythonClient/car/distance_sensor_multi.py`](https://github.com/Microsoft/AirSim/blob/main/PythonClient/car/distance_sensor_multi.py) for an example usage. \ No newline at end of file +**Note:** For Cars, the sensor is placed 1 meter above the vehicle center by default. This is required since otherwise the sensor gives strange data due it being inside the vehicle. This doesn't affect the sensor values say when measuring the distance between 2 cars. See [`PythonClient/car/distance_sensor_multi.py`](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient/car/distance_sensor_multi.py) for an example usage. \ No newline at end of file diff --git a/docs/event_sim.md b/docs/event_sim.md index 567e0edc5..ece39689e 100644 --- a/docs/event_sim.md +++ b/docs/event_sim.md @@ -14,14 +14,14 @@ x and y are the pixel locations of the event firing, timestamp is the global tim ![image](images/event_sim.png) #### Usage -An example script to run the event simulator alongside AirSim is located at https://github.com/microsoft/AirSim/blob/main/PythonClient/eventcamera_sim/test_event_sim.py. The following optional command-line arguments can be passed to this script. +An example script to run the event simulator alongside AirSim is located at https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient/eventcamera_sim/test_event_sim.py. The following optional command-line arguments can be passed to this script. ``` args.width, args.height (float): Simulated event camera resolution args.save (bool): Whether or not to save the event data to a file, args.debug (bool): Whether or not to display the simulated events as an image ``` -The implementation of the actual event simulation, written in Python and numba, is at https://github.com/microsoft/AirSim/blob/main/PythonClient/eventcamera_sim/event_simulator.py. The event simulator is initialized as follows, with the arguments controlling the resolution of the camera. +The implementation of the actual event simulation, written in Python and numba, is at https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient/eventcamera_sim/event_simulator.py. The event simulator is initialized as follows, with the arguments controlling the resolution of the camera. ``` from event_simulator import * diff --git a/docs/image_apis.md b/docs/image_apis.md index 042d5846a..faa577479 100644 --- a/docs/image_apis.md +++ b/docs/image_apis.md @@ -286,7 +286,7 @@ An extension to `simListInstanceSegmentationObjects()` is `simListInstanceSegmen Once you decide on the meshes you are interested, note down their names and use above API to set their object IDs. There are [few settings](settings.md#segmentation-settings) available to change object ID generation behavior. #### Changing Colors for Object IDs -At present the color for each object ID is fixed as in [this pallet](https://github.com/microsoft/AirSim/blob/main/Unreal/Plugins/AirSim/Content/HUDAssets/seg_color_palette.png). We will be adding ability to change colors for object IDs to desired values shortly. In the meantime you can open the segmentation image in your favorite image editor and get the RGB values you are interested in. +At present the color for each object ID is fixed as in [this pallet](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/Unreal/Plugins/AirSim/Content/HUDAssets/seg_color_palette.png). We will be adding ability to change colors for object IDs to desired values shortly. In the meantime you can open the segmentation image in your favorite image editor and get the RGB values you are interested in. #### Startup Object IDs At the start, AirSim assigns color indexes to each object found in environment of type `UStaticMeshComponent` or `USkinnedMeshComponent`. It then makes an understandable naming depending on the hierarchy the object belong to in the Unreal World (example _box_2_fullpalletspawner_5_pallet_4_ or _door_window_door_38_ ). diff --git a/docs/lidar.md b/docs/lidar.md index 588fe15d4..f7ff0945f 100644 --- a/docs/lidar.md +++ b/docs/lidar.md @@ -45,7 +45,7 @@ External | Uncouple the sensor from the vehicle. If enabled, th ExternalLocal | When in external mode, if this is enabled the retrieved pose of the sensor will be in Local NED coordinates(from starting position from vehicle) and not converted Unreal NED coordinates which is default ``` { - "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings_json.md", + "SeeDocsAt": "https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/mastermaster/docs/settings_json.md", "SettingsVersion": 1.2, "SimMode": "Multirotor", diff --git a/docs/modify_recording_data.md b/docs/modify_recording_data.md index 07035b30a..980c2c9fc 100644 --- a/docs/modify_recording_data.md +++ b/docs/modify_recording_data.md @@ -24,7 +24,7 @@ Note that this requires building and using AirSim from source. You can compile a The primary method which fills the data to be stored is [`PawnSimApi::getRecordFileLine`](https://github.com/microsoft/AirSim/blob/880c5541fd4824ee2cd9bb82ca5f611eb1ab236a/Unreal/Plugins/AirSim/Source/PawnSimApi.cpp#L544), it's the base method for all the vehicles, and Car overrides it to log additional data, as can be seen in [`CarPawnSimApi::getRecordFileLine`](https://github.com/microsoft/AirSim/blob/880c5541fd4824ee2cd9bb82ca5f611eb1ab236a/Unreal/Plugins/AirSim/Source/Vehicles/Car/CarPawnSimApi.cpp#L34). -To record additional data for multirotor, you can add a similar method in [MultirotorPawnSimApi.cpp/h](https://github.com/microsoft/AirSim/tree/main/Unreal/Plugins/AirSim/Source/Vehicles/Multirotor) files which overrides the base class implementation and append other data. The currently logged data can also be modified and removed as needed. +To record additional data for multirotor, you can add a similar method in [MultirotorPawnSimApi.cpp/h](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/Unreal/Plugins/AirSim/Source/Vehicles/Multirotor) files which overrides the base class implementation and append other data. The currently logged data can also be modified and removed as needed. E.g. recording GPS, IMU and Barometer data also for multirotor - diff --git a/docs/multi_vehicle.md b/docs/multi_vehicle.md index 372be78f8..a4adc9a55 100644 --- a/docs/multi_vehicle.md +++ b/docs/multi_vehicle.md @@ -53,9 +53,9 @@ It's as easy as specifying them in [settings.json](settings.md). The `Vehicles` The new APIs since AirSim 1.2 allows you to specify `vehicle_name`. This name corresponds to keys in json settings (for example, Car1 or Drone2 above). -[Example code for cars](https://github.com/microsoft/AirSim/blob/main/PythonClient/car/multi_agent_car.py) +[Example code for cars](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient/car/multi_agent_car.py) -[Example code for multirotors](https://github.com/microsoft/AirSim/blob/main/PythonClient/multirotor/multi_agent_drone.py) +[Example code for multirotors](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient/multirotor/multi_agent_drone.py) Using APIs for multi-vehicles requires specifying the `vehicle_name`, which needs to be hardcoded in the script or requires parsing of the settings file. There's also a simple API `listVehicles()` which returns a list (vector in C++) of strings containing names of the current vehicles. For example, with the above settings for 2 Cars - @@ -84,10 +84,10 @@ Returns: `bool` Whether vehicle was created The usual APIs can be used to control and interact with the vehicle once created, with the `vehicle_name` parameter. Specifying other settings such as additional cameras, etc. isn't possible currently, a future enhancement could be passing JSON string of settings for the vehicle. It also works with the `listVehicles()` API described above, so the vehicles spawned would be included in the list. -For some examples, check out [HelloSpawnedDrones.cpp](https://github.com/microsoft/AirSim/blob/main/HelloSpawnedDrones/HelloSpawnedDrones.cpp) - +For some examples, check out [HelloSpawnedDrones.cpp](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/HelloSpawnedDrones/HelloSpawnedDrones.cpp) - ![HelloSpawnedDrones](images/HelloSpawnedDrones.gif) -And [runtime_car.py](https://github.com/microsoft/AirSim/tree/main/PythonClient/car/runtime_car.py) - +And [runtime_car.py](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient/car/runtime_car.py) - ![runtime_car](images/simAddVehicle_Car.gif) diff --git a/docs/object_detection.md b/docs/object_detection.md index b385e96fe..9ca0bd29f 100644 --- a/docs/object_detection.md +++ b/docs/object_detection.md @@ -31,7 +31,7 @@ DetectionInfo relative_pose = Pose() ``` ## Usage example -Python script [detection.py](https://github.com/microsoft/AirSim/blob/main/PythonClient/detection/detection.py) shows how to set detection parameters and shows the result in OpenCV capture. +Python script [detection.py](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PythonClient/detection/detection.py) shows how to set detection parameters and shows the result in OpenCV capture. A minimal example using API with Blocks environment to detect Cylinder objects: ```python diff --git a/docs/px4_multi_vehicle.md b/docs/px4_multi_vehicle.md index d5e1a6e8f..3115a6583 100644 --- a/docs/px4_multi_vehicle.md +++ b/docs/px4_multi_vehicle.md @@ -70,7 +70,7 @@ API does not require RC, see [`No Remote Control`](px4_sitl.md#No-Remote-Control ## Starting SITL instances with PX4 console -If you want to start your SITL instances while being able to view the PX4 console, you will need to run the shell scripts found [here](https://github.com/microsoft/AirSim/tree/main/PX4Scripts) rather than `sitl_multiple_run.sh`. +If you want to start your SITL instances while being able to view the PX4 console, you will need to run the shell scripts found [here](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/PX4Scripts) rather than `sitl_multiple_run.sh`. Here is how you would do so: **Note** This script also assumes PX4 is built with `make px4_sitl_default none_iris` as shown [here](px4_sitl.md#setting-up-px4-software-in-loop) before trying to run multiple PX4 instances. diff --git a/docs/remote_control.md b/docs/remote_control.md index 8bc8d9685..2cece9333 100644 --- a/docs/remote_control.md +++ b/docs/remote_control.md @@ -10,14 +10,14 @@ You can either use XBox controller or [FrSky Taranis X9D Plus](https://hobbyking ### Other Devices -AirSim can detect large variety of devices however devices other than above *might* need extra configuration. In future we will add ability to set this config through settings.json. For now, if things are not working then you might want to try workarounds such as [x360ce](http://www.x360ce.com/) or change code in [SimJoystick.cpp file](https://github.com/microsoft/AirSim/blob/main/Unreal/Plugins/AirSim/Source/SimJoyStick/SimJoyStick.cpp#L50). +AirSim can detect large variety of devices however devices other than above *might* need extra configuration. In future we will add ability to set this config through settings.json. For now, if things are not working then you might want to try workarounds such as [x360ce](http://www.x360ce.com/) or change code in [SimJoystick.cpp file](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/Unreal/Plugins/AirSim/Source/SimJoyStick/SimJoyStick.cpp#L50). ### Note on FrSky Taranis X9D Plus [FrSky Taranis X9D Plus](https://hobbyking.com/en_us/frsky-2-4ghz-accst-taranis-x9d-plus-and-x8r-combo-digital-telemetry-radio-system-mode-2.html) is real UAV remote control with an advantage that it has USB port so it can be directly connected to PC. You can [download AirSim config file](misc/AirSim_FrSkyTaranis.bin) and [follow this tutorial](https://www.youtube.com/watch?v=qe-13Gyb0sw) to import it in your RC. You should then see "sim" model in RC with all channels configured properly. ### Note on Linux -Currently default config on Linux is for using Xbox controller. This means other devices might not work properly. In future we will add ability to configure RC in settings.json but for now you *might* have to change code in [SimJoystick.cpp file](https://github.com/microsoft/AirSim/blob/main/Unreal/Plugins/AirSim/Source/SimJoyStick/SimJoyStick.cpp#L340) to use other devices. +Currently default config on Linux is for using Xbox controller. This means other devices might not work properly. In future we will add ability to configure RC in settings.json but for now you *might* have to change code in [SimJoystick.cpp file](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/Unreal/Plugins/AirSim/Source/SimJoyStick/SimJoyStick.cpp#L340) to use other devices. ## RC Setup for PX4 diff --git a/docs/ros_cplusplus.md b/docs/ros_cplusplus.md index 76d76d196..b1b8a0de1 100644 --- a/docs/ros_cplusplus.md +++ b/docs/ros_cplusplus.md @@ -2,6 +2,8 @@ A ROS wrapper over the AirSim C++ client library. +**NOTE THAT THIS NOT UPDATED FOR COSYS-AIRSIM CHANGES AND MAY NOT WORK AS INTENDED** + ## Setup The below steps are meant for Linux. If you're running AirSim on Windows, you can use Windows Subsystem for Linux (WSL) to run the ROS wrapper, see the instructions [below](#setting-up-the-build-environment-on-windows10-using-wsl1-or-wsl2). If you're unable or don't prefer to install ROS and related tools on your host Linux due to some issues, you can also try it using Docker, see the steps in [Using Docker for ROS wrapper](#using-docker-for-ros) @@ -76,7 +78,7 @@ Let's look at the ROS API for both nodes: #### Publishers: -- `/airsim_node/origin_geo_point` [airsim_ros_pkgs/GPSYaw](https://github.com/microsoft/AirSim/tree/main/ros/src/airsim_ros_pkgs/msg/GPSYaw.msg) +- `/airsim_node/origin_geo_point` [airsim_ros_pkgs/GPSYaw](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/ros/src/airsim_ros_pkgs/msg/GPSYaw.msg) GPS coordinates corresponding to global NED frame. This is set in the airsim's [settings.json](https://microsoft.github.io/AirSim/settings/) file under the `OriginGeopoint` key. - `/airsim_node/VEHICLE_NAME/global_gps` [sensor_msgs/NavSatFix](https://docs.ros.org/api/sensor_msgs/html/msg/NavSatFix.html) @@ -92,7 +94,7 @@ Odometry in NED frame (default name: odom_local_ned, launch name and frame type - `/tf` [tf2_msgs/TFMessage](https://docs.ros.org/api/tf2_msgs/html/msg/TFMessage.html) -- `/airsim_node/VEHICLE_NAME/altimeter/SENSOR_NAME` [airsim_ros_pkgs/Altimeter](https://github.com/microsoft/AirSim/blob/main/ros/src/airsim_ros_pkgs/msg/Altimeter.msg) +- `/airsim_node/VEHICLE_NAME/altimeter/SENSOR_NAME` [airsim_ros_pkgs/Altimeter](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/ros/src/airsim_ros_pkgs/msg/Altimeter.msg) This the current altimeter reading for altitude, pressure, and [QNH](https://en.wikipedia.org/wiki/QNH) - `/airsim_node/VEHICLE_NAME/imu/SENSOR_NAME` [sensor_msgs::Imu](http://docs.ros.org/api/sensor_msgs/html/msg/Imu.html) @@ -109,20 +111,20 @@ IMU sensor data #### Subscribers: -- `/airsim_node/vel_cmd_body_frame` [airsim_ros_pkgs/VelCmd](https://github.com/microsoft/AirSim/tree/main/ros/src/airsim_ros_pkgs/msg/VelCmd.msg) +- `/airsim_node/vel_cmd_body_frame` [airsim_ros_pkgs/VelCmd](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/ros/src/airsim_ros_pkgs/msg/VelCmd.msg) Ignore `vehicle_name` field, leave it to blank. We will use `vehicle_name` in future for multiple drones. -- `/airsim_node/vel_cmd_world_frame` [airsim_ros_pkgs/VelCmd](https://github.com/microsoft/AirSim/tree/main/ros/src/airsim_ros_pkgs/msg/VelCmd.msg) +- `/airsim_node/vel_cmd_world_frame` [airsim_ros_pkgs/VelCmd](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/ros/src/airsim_ros_pkgs/msg/VelCmd.msg) Ignore `vehicle_name` field, leave it to blank. We will use `vehicle_name` in future for multiple drones. -- `/gimbal_angle_euler_cmd` [airsim_ros_pkgs/GimbalAngleEulerCmd](https://github.com/microsoft/AirSim/tree/main/ros/src/airsim_ros_pkgs/msg/GimbalAngleEulerCmd.msg) +- `/gimbal_angle_euler_cmd` [airsim_ros_pkgs/GimbalAngleEulerCmd](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/ros/src/airsim_ros_pkgs/msg/GimbalAngleEulerCmd.msg) Gimbal set point in euler angles. -- `/gimbal_angle_quat_cmd` [airsim_ros_pkgs/GimbalAngleQuatCmd](https://github.com/microsoft/AirSim/tree/main/ros/src/airsim_ros_pkgs/msg/GimbalAngleQuatCmd.msg) +- `/gimbal_angle_quat_cmd` [airsim_ros_pkgs/GimbalAngleQuatCmd](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/ros/src/airsim_ros_pkgs/msg/GimbalAngleQuatCmd.msg) Gimbal set point in quaternion. -- `/airsim_node/VEHICLE_NAME/car_cmd` [airsim_ros_pkgs/CarControls](https://github.com/microsoft/AirSim/blob/main/ros/src/airsim_ros_pkgs/msg/CarControls.msg) -Throttle, brake, steering and gear selections for control. Both automatic and manual transmission control possible, see the [`car_joy.py`](https://github.com/microsoft/AirSim/blob/main/ros/src/airsim_ros_pkgs/scripts/car_joy) script for use. +- `/airsim_node/VEHICLE_NAME/car_cmd` [airsim_ros_pkgs/CarControls](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/ros/src/airsim_ros_pkgs/msg/CarControls.msg) +Throttle, brake, steering and gear selections for control. Both automatic and manual transmission control possible, see the [`car_joy.py`](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/ros/src/airsim_ros_pkgs/scripts/car_joy) script for use. #### Services: @@ -197,16 +199,16 @@ Throttle, brake, steering and gear selections for control. Both automatic and ma #### Services: -- `/airsim_node/VEHICLE_NAME/gps_goal` [Request: [srv/SetGPSPosition](https://github.com/microsoft/AirSim/blob/main/ros/src/airsim_ros_pkgs/srv/SetGPSPosition.srv)] +- `/airsim_node/VEHICLE_NAME/gps_goal` [Request: [srv/SetGPSPosition](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/ros/src/airsim_ros_pkgs/srv/SetGPSPosition.srv)] Target gps position + yaw. In **absolute** altitude. -- `/airsim_node/VEHICLE_NAME/local_position_goal` [Request: [srv/SetLocalPosition](https://github.com/microsoft/AirSim/blob/main/ros/src/airsim_ros_pkgs/srv/SetLocalPosition.srv)] +- `/airsim_node/VEHICLE_NAME/local_position_goal` [Request: [srv/SetLocalPosition](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/ros/src/airsim_ros_pkgs/srv/SetLocalPosition.srv)] Target local position + yaw in global NED frame. #### Subscribers: -- `/airsim_node/origin_geo_point` [airsim_ros_pkgs/GPSYaw](https://github.com/microsoft/AirSim/tree/main/ros/src/airsim_ros_pkgs/msg/GPSYaw.msg) +- `/airsim_node/origin_geo_point` [airsim_ros_pkgs/GPSYaw](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/ros/src/airsim_ros_pkgs/msg/GPSYaw.msg) Listens to home geo coordinates published by `airsim_node`. - `/airsim_node/VEHICLE_NAME/odom_local_ned` [nav_msgs/Odometry](https://docs.ros.org/api/nav_msgs/html/msg/Odometry.html) @@ -214,7 +216,7 @@ Throttle, brake, steering and gear selections for control. Both automatic and ma #### Publishers: -- `/vel_cmd_world_frame` [airsim_ros_pkgs/VelCmd](https://github.com/microsoft/AirSim/tree/main/ros/src/airsim_ros_pkgs/msg/VelCmd.msg) +- `/vel_cmd_world_frame` [airsim_ros_pkgs/VelCmd](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/ros/src/airsim_ros_pkgs/msg/VelCmd.msg) Sends velocity command to `airsim_node` #### Global params @@ -298,7 +300,7 @@ roslaunch airsim_ros_pkgs rviz.launch ### Using Docker for ROS -A Dockerfile is present in the [`tools`](https://github.com/microsoft/AirSim/tree/main/tools/Dockerfile-ROS) directory. To build the `airsim-ros` image - +A Dockerfile is present in the [`tools`](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/tools/Dockerfile-ROS) directory. To build the `airsim-ros` image - ```shell cd tools diff --git a/docs/settings.md b/docs/settings.md index 8da950fa5..f1a755d97 100644 --- a/docs/settings.md +++ b/docs/settings.md @@ -326,7 +326,7 @@ To disable the rendering of certain objects on specific cameras or all, use the For explanation of other settings, please see [this article](https://docs.unrealengine.com/latest/INT/Engine/Rendering/PostProcessEffects/AutomaticExposure/). ### NoiseSettings -The `NoiseSettings` allows to add noise to the specified image type with a goal of simulating camera sensor noise, interference and other artifacts. By default no noise is added, i.e., `Enabled: false`. If you set `Enabled: true` then following different types of noise and interference artifacts are enabled, each can be further tuned using setting. The noise effects are implemented as shader created as post processing material in Unreal Engine called [CameraSensorNoise](https://github.com/Microsoft/AirSim/blob/main/Unreal/Plugins/AirSim/Content/HUDAssets/CameraSensorNoise.uasset). +The `NoiseSettings` allows to add noise to the specified image type with a goal of simulating camera sensor noise, interference and other artifacts. By default no noise is added, i.e., `Enabled: false`. If you set `Enabled: true` then following different types of noise and interference artifacts are enabled, each can be further tuned using setting. The noise effects are implemented as shader created as post processing material in Unreal Engine called [CameraSensorNoise](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/Unreal/Plugins/AirSim/Content/HUDAssets/CameraSensorNoise.uasset). Demo of camera noise and interference simulation: diff --git a/docs/settings_example.json b/docs/settings_example.json index aac96ba11..b781bb43f 100644 --- a/docs/settings_example.json +++ b/docs/settings_example.json @@ -1,5 +1,5 @@ { - "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings_json.md", + "SeeDocsAt": "https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/mastermaster/docs/settings_json.md", "SettingsVersion": 2, "ClockSpeed": 1, "LocalHostIp": "127.0.0.1", diff --git a/docs/unreal_custenv.md b/docs/unreal_custenv.md index 3d2d1595e..333596f3a 100644 --- a/docs/unreal_custenv.md +++ b/docs/unreal_custenv.md @@ -90,7 +90,7 @@ There is no `Epic Games Launcher` for Linux which means that if you need to crea 1. Go to 'Edit->Editor Preferences' in Unreal Editor, in the 'Search' box type 'CPU' and ensure that the 'Use Less CPU when in Background' is unchecked. If you don't do this then UE will be slowed down dramatically when UE window loses focus. -1. Be sure to `Save` these edits. Hit the Play button in the Unreal Editor. See [how to use AirSim](https://github.com/Microsoft/AirSim/#how-to-use-it). +1. Be sure to `Save` these edits. Hit the Play button in the Unreal Editor. See [how to use AirSim](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/#how-to-use-it). Congratulations! You are now running AirSim in your own Unreal environment. @@ -100,7 +100,7 @@ By default AirSim prompts user for which vehicle to use. You can easily change t ## Updating Your Environment to Latest Version of AirSim Once you have your environment using above instructions, you should frequently update your local AirSim code to latest version from GitHub. Below are the instructions to do this: -1. First put [clean.bat](https://github.com/Microsoft/AirSim/blob/main/Unreal/Environments/Blocks/clean.bat) (or [clean.sh](https://github.com/Microsoft/AirSim/blob/main/Unreal/Environments/Blocks/clean.sh) for Linux users) in the root folder of your environment. Run this file to clean up all intermediate files in your Unreal project. +1. First put [clean.bat](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/Unreal/Environments/Blocks/clean.bat) (or [clean.sh](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/Unreal/Environments/Blocks/clean.sh) for Linux users) in the root folder of your environment. Run this file to clean up all intermediate files in your Unreal project. 2. Do `git pull` in your AirSim repo followed by `build.cmd` (or `./build.sh` for Linux users). 3. Replace [your project]/Plugins folder with AirSim/Unreal/Plugins folder. 4. Right click on your .uproject file and chose "Generate Visual Studio project files" option. This is not required for Linux. diff --git a/ros/src/airsim_ros_pkgs/README.md b/ros/src/airsim_ros_pkgs/README.md index b8566890a..c0d1039d8 100644 --- a/ros/src/airsim_ros_pkgs/README.md +++ b/ros/src/airsim_ros_pkgs/README.md @@ -1,3 +1,3 @@ # airsim_ros_pkgs -This page has moved [here](https://github.com/microsoft/AirSim/blob/main/docs/airsim_ros_pkgs.md). \ No newline at end of file +This page has moved [here](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/tree/master/docs/airsim_ros_pkgs.md). \ No newline at end of file diff --git a/ros2/src/airsim_ros_pkgs/README.md b/ros2/src/airsim_ros_pkgs/README.md index 101cf96ab..8f28f0071 100755 --- a/ros2/src/airsim_ros_pkgs/README.md +++ b/ros2/src/airsim_ros_pkgs/README.md @@ -1,3 +1,3 @@ # airsim_ros_pkgs -This page has moved [here](https://github.com/microsoft/AirSim/blob/main/docs/airsim_ros_pkgs.md). \ No newline at end of file +This page has moved [here](https://cosysgit.uantwerpen.be/sensorsimulation/airsim/-/blob/master/docs/ros_cplusplus.md). \ No newline at end of file