From e269f986afd15c435cec5fa54a75a4ed266009ed Mon Sep 17 00:00:00 2001 From: Jonathan Date: Fri, 1 Jul 2022 15:06:49 -0300 Subject: [PATCH 01/15] Change master to main in docs --- docs/CHANGELOG.md | 6 +++--- docs/CONTRIBUTING.md | 2 +- docs/InfraredCamera.md | 8 ++++---- docs/Unity.md | 2 +- docs/adding_new_apis.md | 10 +++++----- docs/airsim_ros_pkgs.md | 26 +++++++++++++------------- docs/airsim_tutorial_pkgs.md | 10 +++++----- docs/apis.md | 16 ++++++++-------- docs/apis_cpp.md | 12 ++++++------ docs/azure.md | 8 ++++---- docs/code_structure.md | 24 ++++++++++++------------ docs/custom_drone.md | 4 ++-- docs/distance_sensor.md | 2 +- docs/docker_ubuntu.md | 4 ++-- docs/drone_survey.md | 2 +- docs/event_sim.md | 4 ++-- docs/hello_drone.md | 2 +- docs/image_apis.md | 22 +++++++++++----------- docs/lidar.md | 10 +++++----- docs/modify_recording_data.md | 2 +- docs/multi_vehicle.md | 10 +++++----- docs/object_detection.md | 2 +- docs/orbit.md | 2 +- docs/pfm.md | 2 +- docs/point_clouds.md | 2 +- docs/px4_build.md | 2 +- docs/px4_lockstep.md | 4 ++-- docs/px4_multi_vehicle.md | 6 +++--- docs/px4_setup.md | 2 +- docs/px4_sitl.md | 4 ++-- docs/reinforcement_learning.md | 4 ++-- docs/remote_control.md | 4 ++-- docs/sensors.md | 4 ++-- docs/settings.md | 4 ++-- docs/unreal_custenv.md | 2 +- docs/upgrade_apis.md | 2 +- 36 files changed, 116 insertions(+), 116 deletions(-) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index d12870c266..8fa71d4815 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,6 +1,6 @@ # What's new -Below is summarized list of important changes. This does not include minor/less important changes or bug fixes or documentation update. This list updated every few months. For complete detailed changes, please review [commit history](https://github.com/Microsoft/AirSim/commits/master). +Below is summarized list of important changes. This does not include minor/less important changes or bug fixes or documentation update. This list updated every few months. For complete detailed changes, please review [commit history](https://github.com/Microsoft/AirSim/commits/main). ### Jan 2022 @@ -180,7 +180,7 @@ Below is summarized list of important changes. This does not include minor/less ### 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/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). +* 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). * [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 @@ -191,7 +191,7 @@ Below is summarized list of important changes. This does not include minor/less * [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/master/PythonClient/airsim/client.py#L137) (works on TalkingHeads binaries in release) +* [Character Control APIs](https://github.com/Microsoft/AirSim/blob/main/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/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 23d4d59669..af4bc73545 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -13,5 +13,5 @@ - Keep your pull request small, ideally under 10 files. - Make sure you don't include large binary files. - When adding new includes, make dependency is absolutely necessary. -- Rebase your branch frequently with master (once every 2-3 days is ideal). +- Rebase your branch frequently with main (once every 2-3 days is ideal). - Make sure your code would compile on Windows, Linux and OSX. diff --git a/docs/InfraredCamera.md b/docs/InfraredCamera.md index 28b1e2838b..99e78e29d7 100644 --- a/docs/InfraredCamera.md +++ b/docs/InfraredCamera.md @@ -3,12 +3,12 @@ This is a tutorial for generating simulated thermal infrared (IR) images using A 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://github.com/Microsoft/AirSim/tree/master/PythonClient//computer_vision/create_ir_segmentation_map.py) and -[capture_ir_segmentation.py](https://github.com/Microsoft/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://github.com/Microsoft/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/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. +[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. 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/Unity.md b/docs/Unity.md index efe5bffee9..bade4e62c1 100644 --- a/docs/Unity.md +++ b/docs/Unity.md @@ -118,7 +118,7 @@ chmod +x "{project_name}.{configuration}" ./{project_name}.{configuration} ``` ### Using Airsim API -* For quickstart with the Python APIs for the car or the drone, simply run the [`hello_car.py`](https://github.com/Microsoft/AirSim/blob/master/PythonClient/car/hello_car.py) or the [`hello_drone.py`](https://github.com/Microsoft/AirSim/blob/master/PythonClient/multirotor/hello_drone.py) script accordingly. +* For quickstart with the Python APIs for the car or the drone, simply run the [`hello_car.py`](https://github.com/Microsoft/AirSim/blob/main/PythonClient/car/hello_car.py) or the [`hello_drone.py`](https://github.com/Microsoft/AirSim/blob/main/PythonClient/multirotor/hello_drone.py) script accordingly. * Details of the AirSim C++ and Python APIs are [here](apis.md). ### Acknowledgements diff --git a/docs/adding_new_apis.md b/docs/adding_new_apis.md index c236c8d918..7f8d10fad8 100644 --- a/docs/adding_new_apis.md +++ b/docs/adding_new_apis.md @@ -32,19 +32,19 @@ 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/master/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://github.com/microsoft/AirSim/blob/main/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/master/AirLib/src/api/RpcLibClientBase.cpp) +2. Add the C++ client API method in [RpcClientBase.cpp](https://github.com/microsoft/AirSim/blob/main/AirLib/src/api/RpcLibClientBase.cpp) -3. Add the Python client API method in [client.py](https://github.com/microsoft/AirSim/blob/master/PythonClient/airsim/client.py). If needed, add or modify a structure definition in [types.py](https://github.com/microsoft/AirSim/blob/master/PythonClient/airsim/types.py) +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) ## 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/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. +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. 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 master API (or any branch currently checked out) will be used. + Add `import setup_path` before `import airsim` in your files. Now the latest main API (or any branch currently checked out) will be used. 2. Use a [local project pip install](https://pip.pypa.io/en/stable/cli/pip_install/#local-project-installs). Regular install would create a copy of the current source and use it, whereas Editable install (`pip install -e .` from inside the `PythonClient` folder) would change the package whenever the Python API files are changed. Editable install has the benefit when working on several branches or API is not finalized. diff --git a/docs/airsim_ros_pkgs.md b/docs/airsim_ros_pkgs.md index 98ac1ecba9..76d76d196a 100644 --- a/docs/airsim_ros_pkgs.md +++ b/docs/airsim_ros_pkgs.md @@ -76,7 +76,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/master/ros/src/airsim_ros_pkgs/msg/GPSYaw.msg) +- `/airsim_node/origin_geo_point` [airsim_ros_pkgs/GPSYaw](https://github.com/microsoft/AirSim/tree/main/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 +92,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/master/ros/src/airsim_ros_pkgs/msg/Altimeter.msg) +- `/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) 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 +109,20 @@ IMU sensor data #### Subscribers: -- `/airsim_node/vel_cmd_body_frame` [airsim_ros_pkgs/VelCmd](https://github.com/microsoft/AirSim/tree/master/ros/src/airsim_ros_pkgs/msg/VelCmd.msg) +- `/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) 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/master/ros/src/airsim_ros_pkgs/msg/VelCmd.msg) +- `/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) 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/master/ros/src/airsim_ros_pkgs/msg/GimbalAngleEulerCmd.msg) +- `/gimbal_angle_euler_cmd` [airsim_ros_pkgs/GimbalAngleEulerCmd](https://github.com/microsoft/AirSim/tree/main/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/master/ros/src/airsim_ros_pkgs/msg/GimbalAngleQuatCmd.msg) +- `/gimbal_angle_quat_cmd` [airsim_ros_pkgs/GimbalAngleQuatCmd](https://github.com/microsoft/AirSim/tree/main/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/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://github.com/microsoft/AirSim/blob/master/ros/src/airsim_ros_pkgs/scripts/car_joy) script for use. +- `/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. #### Services: @@ -197,16 +197,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/master/ros/src/airsim_ros_pkgs/srv/SetGPSPosition.srv)] +- `/airsim_node/VEHICLE_NAME/gps_goal` [Request: [srv/SetGPSPosition](https://github.com/microsoft/AirSim/blob/main/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/master/ros/src/airsim_ros_pkgs/srv/SetLocalPosition.srv)] +- `/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)] Target local position + yaw in global NED frame. #### Subscribers: -- `/airsim_node/origin_geo_point` [airsim_ros_pkgs/GPSYaw](https://github.com/microsoft/AirSim/tree/master/ros/src/airsim_ros_pkgs/msg/GPSYaw.msg) +- `/airsim_node/origin_geo_point` [airsim_ros_pkgs/GPSYaw](https://github.com/microsoft/AirSim/tree/main/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 +214,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/master/ros/src/airsim_ros_pkgs/msg/VelCmd.msg) +- `/vel_cmd_world_frame` [airsim_ros_pkgs/VelCmd](https://github.com/microsoft/AirSim/tree/main/ros/src/airsim_ros_pkgs/msg/VelCmd.msg) Sends velocity command to `airsim_node` #### Global params @@ -298,7 +298,7 @@ roslaunch airsim_ros_pkgs rviz.launch ### Using Docker for ROS -A Dockerfile is present in the [`tools`](https://github.com/microsoft/AirSim/tree/master/tools/Dockerfile-ROS) directory. To build the `airsim-ros` image - +A Dockerfile is present in the [`tools`](https://github.com/microsoft/AirSim/tree/main/tools/Dockerfile-ROS) directory. To build the `airsim-ros` image - ```shell cd tools diff --git a/docs/airsim_tutorial_pkgs.md b/docs/airsim_tutorial_pkgs.md index 6f2719cba2..288640b884 100644 --- a/docs/airsim_tutorial_pkgs.md +++ b/docs/airsim_tutorial_pkgs.md @@ -1,7 +1,7 @@ # AirSim ROS Tutorials This is a set of sample AirSim `settings.json`s, roslaunch and rviz files to give a starting point for using AirSim with ROS. -See [airsim_ros_pkgs](https://github.com/microsoft/AirSim/blob/master/ros/src/airsim_ros_pkgs/README.md) for the ROS API. +See [airsim_ros_pkgs](https://github.com/microsoft/AirSim/blob/main/ros/src/airsim_ros_pkgs/README.md) for the ROS API. ## Setup @@ -26,7 +26,7 @@ catkin build airsim_tutorial_pkgs -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER= ## Examples ### Single drone with monocular and depth cameras, and lidar - - Settings.json - [front_stereo_and_center_mono.json](https://github.com/microsoft/AirSim/blob/master/ros/src/airsim_tutorial_pkgs/settings/front_stereo_and_center_mono.json) + - Settings.json - [front_stereo_and_center_mono.json](https://github.com/microsoft/AirSim/blob/main/ros/src/airsim_tutorial_pkgs/settings/front_stereo_and_center_mono.json) ```shell $ source PATH_TO/AirSim/ros/devel/setup.bash $ roscd airsim_tutorial_pkgs @@ -40,11 +40,11 @@ catkin build airsim_tutorial_pkgs -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER= $ source PATH_TO/AirSim/ros/devel/setup.bash $ roslaunch airsim_tutorial_pkgs front_stereo_and_center_mono.launch ``` - The above would start rviz with tf's, registered RGBD cloud using [depth_image_proc](https://wiki.ros.org/depth_image_proc) using the [`depth_to_pointcloud` launch file](https://github.com/microsoft/AirSim/blob/master/ros/src/airsim_tutorial_pkgs/launch/front_stereo_and_center_mono/depth_to_pointcloud.launch), and the lidar point cloud. + The above would start rviz with tf's, registered RGBD cloud using [depth_image_proc](https://wiki.ros.org/depth_image_proc) using the [`depth_to_pointcloud` launch file](https://github.com/microsoft/AirSim/blob/main/ros/src/airsim_tutorial_pkgs/launch/front_stereo_and_center_mono/depth_to_pointcloud.launch), and the lidar point cloud. ### Two drones, with cameras, lidar, IMU each -- Settings.json - [two_drones_camera_lidar_imu.json](https://github.com/microsoft/AirSim/blob/master/ros/src/airsim_tutorial_pkgs/settings/two_drones_camera_lidar_imu.json) +- Settings.json - [two_drones_camera_lidar_imu.json](https://github.com/microsoft/AirSim/blob/main/ros/src/airsim_tutorial_pkgs/settings/two_drones_camera_lidar_imu.json) ```shell $ source PATH_TO/AirSim/ros/devel/setup.bash @@ -59,7 +59,7 @@ catkin build airsim_tutorial_pkgs -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER= You can view the tfs in rviz. And do a `rostopic list` and `rosservice list` to inspect the services avaiable. ### Twenty-five drones in a square pattern -- Settings.json - [twenty_five_drones.json](https://github.com/microsoft/AirSim/blob/master/ros/src/airsim_tutorial_pkgs/settings/twenty_five_drones.json) +- Settings.json - [twenty_five_drones.json](https://github.com/microsoft/AirSim/blob/main/ros/src/airsim_tutorial_pkgs/settings/twenty_five_drones.json) ```shell $ source PATH_TO/AirSim/ros/devel/setup.bash diff --git a/docs/apis.md b/docs/apis.md index 5030a4b92a..de14e5fe90 100644 --- a/docs/apis.md +++ b/docs/apis.md @@ -125,13 +125,13 @@ for response in responses: * `simGetObjectPose`, `simSetObjectPose`: Gets and sets the pose of specified object in Unreal environment. Here the object means "actor" in Unreal terminology. They are searched by tag as well as name. Please note that the names shown in UE Editor are *auto-generated* in each run and are not permanent. So if you want to refer to actor by name, you must change its auto-generated name in UE Editor. Alternatively you can add a tag to actor which can be done by clicking on that actor in Unreal Editor and then going to [Tags property](https://answers.unrealengine.com/questions/543807/whats-the-difference-between-tag-and-tag.html), click "+" sign and add some string value. If multiple actors have same tag then the first match is returned. If no matches are found then NaN pose is returned. The returned pose is in NED coordinates in SI units in the world frame. For `simSetObjectPose`, the specified actor must have [Mobility](https://docs.unrealengine.com/en-us/Engine/Actors/Mobility) set to Movable or otherwise you will get undefined behavior. The `simSetObjectPose` has parameter `teleport` which means object is [moved through other objects](https://www.unrealengine.com/en-US/blog/moving-physical-objects) in its way and it returns true if move was successful ### Image / Computer Vision APIs -AirSim offers comprehensive images APIs to retrieve synchronized images from multiple cameras along with ground truth including depth, disparity, surface normals and vision. You can set the resolution, FOV, motion blur etc parameters in [settings.json](settings.md). There is also API for detecting collision state. See also [complete code](https://github.com/Microsoft/AirSim/tree/master/Examples/DataCollection/StereoImageGenerator.hpp) that generates specified number of stereo images and ground truth depth with normalization to camera plane, computation of disparity image and saving it to [pfm format](pfm.md). +AirSim offers comprehensive images APIs to retrieve synchronized images from multiple cameras along with ground truth including depth, disparity, surface normals and vision. You can set the resolution, FOV, motion blur etc parameters in [settings.json](settings.md). There is also API for detecting collision state. See also [complete code](https://github.com/Microsoft/AirSim/tree/main/Examples/DataCollection/StereoImageGenerator.hpp) that generates specified number of stereo images and ground truth depth with normalization to camera plane, computation of disparity image and saving it to [pfm format](pfm.md). More on [image APIs and Computer Vision mode](image_apis.md). For vision problems that can benefit from domain randomization, there is also an [object retexturing API](retexturing.md), which can be used in supported scenes. ### 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/master/PythonClient//car/pause_continue_car.py) and [pause_continue_drone.py](https://github.com/Microsoft/AirSim/tree/master/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://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). ### Collision API @@ -180,9 +180,9 @@ class WeatherParameter: Fog = 7 ``` -Please note that `Roadwetness`, `RoadSnow` and `RoadLeaf` effects requires adding [materials](https://github.com/Microsoft/AirSim/tree/master/Unreal/Plugins/AirSim/Content/Weather/WeatherFX) to your scene. +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 see [example code](https://github.com/Microsoft/AirSim/blob/master/PythonClient/environment/weather.py) for more details. +Please see [example code](https://github.com/Microsoft/AirSim/blob/main/PythonClient/environment/weather.py) for more details. ### Recording APIs @@ -210,7 +210,7 @@ wind = airsim.Vector3r(20, 0, 0) client.simSetWind(wind) ``` -Also see example script in [set_wind.py](https://github.com/Microsoft/AirSim/blob/master/PythonClient/multirotor/set_wind.py) +Also see example script in [set_wind.py](https://github.com/Microsoft/AirSim/blob/main/PythonClient/multirotor/set_wind.py) ### Lidar APIs AirSim offers API to retrieve point cloud data from 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). @@ -294,9 +294,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/master/PythonClient//car) -* [Multirotor Examples](https://github.com/Microsoft/AirSim/tree/master/PythonClient//multirotor) -* [Computer Vision Examples](https://github.com/Microsoft/AirSim/tree/master/PythonClient//computer_vision) +* [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) * [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 8339066e8f..4354806f35 100644 --- a/docs/apis_cpp.md +++ b/docs/apis_cpp.md @@ -4,7 +4,7 @@ Please read [general API doc](apis.md) first if you haven't already. This docume ## Quick Start -Fastest way to get started is to open AirSim.sln in Visual Studio 2019. You will see [Hello Car](https://github.com/Microsoft/AirSim/tree/master/HelloCar/) and [Hello Drone](https://github.com/Microsoft/AirSim/tree/master/HelloDrone/) examples in the solution. These examples will show you the include paths and lib paths you will need to setup in your VC++ projects. If you are using Linux then you will specify these paths either in your [cmake file](https://github.com/Microsoft/AirSim/tree/master/cmake//HelloCar/CMakeLists.txt) or on compiler command line. +Fastest way to get started is to open AirSim.sln in Visual Studio 2019. You will see [Hello Car](https://github.com/Microsoft/AirSim/tree/main/HelloCar/) and [Hello Drone](https://github.com/Microsoft/AirSim/tree/main/HelloDrone/) examples in the solution. These examples will show you the include paths and lib paths you will need to setup in your VC++ projects. If you are using Linux then you will specify these paths either in your [cmake file](https://github.com/Microsoft/AirSim/tree/main/cmake//HelloCar/CMakeLists.txt) or on compiler command line. #### Include and Lib Folders @@ -19,7 +19,7 @@ Here's how to use AirSim APIs using C++ to control simulated car (see also [Pyth ```cpp -// ready to run example: https://github.com/Microsoft/AirSim/blob/master/HelloCar/main.cpp +// ready to run example: https://github.com/Microsoft/AirSim/blob/main/HelloCar/main.cpp #include #include "vehicles/car/api/CarRpcLibClient.hpp" @@ -57,7 +57,7 @@ Here's how to use AirSim APIs using C++ to control simulated quadrotor (see also ```cpp -// ready to run example: https://github.com/Microsoft/AirSim/blob/master/HelloDrone/main.cpp +// ready to run example: https://github.com/Microsoft/AirSim/blob/main/HelloDrone/main.cpp #include #include "vehicles/multirotor/api/MultirotorRpcLibClient.hpp" @@ -88,7 +88,7 @@ int main() ## See Also -* [Examples](https://github.com/microsoft/AirSim/tree/master/Examples) of how to use internal infrastructure in AirSim in your other projects -* [DroneShell](https://github.com/microsoft/AirSim/tree/master/DroneShell) app shows how to make simple interface using C++ APIs to control drones -* [HelloSpawnedDrones](https://github.com/microsoft/AirSim/tree/master/HelloSpawnedDrones) app shows how to make additional vehicles on the fly +* [Examples](https://github.com/microsoft/AirSim/tree/main/Examples) of how to use internal infrastructure in AirSim in your other projects +* [DroneShell](https://github.com/microsoft/AirSim/tree/main/DroneShell) app shows how to make simple interface using C++ APIs to control drones +* [HelloSpawnedDrones](https://github.com/microsoft/AirSim/tree/main/HelloSpawnedDrones) app shows how to make additional vehicles on the fly * [Python APIs](apis.md) diff --git a/docs/azure.md b/docs/azure.md index fc588d318d..5562c22577 100644 --- a/docs/azure.md +++ b/docs/azure.md @@ -72,12 +72,12 @@ docker build -t / -f ./docker/Dockerfile .` To use a different AirSim binary, first check the official documentation on [How to Build AirSim on Windows](build_windows.md) and [How to Build AirSim on Linux](build_linux.md) if you also want to run it with Docker Once you have a zip file with the new AirSim environment (or prefer to use one from the [Official Releases](https://github.com/microsoft/AirSim/releases)), you need to modify some of the scripts in the `azure` directory of the repository to point to the new environment: -- In [`azure/azure-env-creation/configure-vm.ps1`](https://github.com/microsoft/AirSim/blob/master/azure/azure-env-creation/configure-vm.ps1), modify all the parameters starting with `$airSimBinary` with the new values -- In [`azure/start-airsim.ps1`](https://github.com/microsoft/AirSim/blob/master/azure/start-airsim.ps1), modify `$airSimExecutable` and `$airSimProcessName` with the new values +- In [`azure/azure-env-creation/configure-vm.ps1`](https://github.com/microsoft/AirSim/blob/main/azure/azure-env-creation/configure-vm.ps1), modify all the parameters starting with `$airSimBinary` with the new values +- In [`azure/start-airsim.ps1`](https://github.com/microsoft/AirSim/blob/main/azure/start-airsim.ps1), modify `$airSimExecutable` and `$airSimProcessName` with the new values If you are using the docker image, you also need a linux binary zip file and modify the following Docker-related files: -- In [`azure/docker/Dockerfile`](https://github.com/microsoft/AirSim/blob/master/azure/docker/Dockerfile), modify the `AIRSIM_BINARY_ZIP_URL` and `AIRSIM_BINARY_ZIP_FILENAME` ENV declarations with the new values -- In [`azure/docker/docker-entrypoint.sh`](https://github.com/microsoft/AirSim/blob/master/azure/docker/docker-entrypoint.sh), modify `AIRSIM_EXECUTABLE` with the new value +- In [`azure/docker/Dockerfile`](https://github.com/microsoft/AirSim/blob/main/azure/docker/Dockerfile), modify the `AIRSIM_BINARY_ZIP_URL` and `AIRSIM_BINARY_ZIP_FILENAME` ENV declarations with the new values +- In [`azure/docker/docker-entrypoint.sh`](https://github.com/microsoft/AirSim/blob/main/azure/docker/docker-entrypoint.sh), modify `AIRSIM_EXECUTABLE` with the new value ## Maintaining this development environment diff --git a/docs/code_structure.md b/docs/code_structure.md index ac2431c203..f7c3817f7a 100644 --- a/docs/code_structure.md +++ b/docs/code_structure.md @@ -6,27 +6,27 @@ Majority of the code is located in AirLib. This is a self-contained library that AirLib consists of the following components: -1. [*Physics engine:*](https://github.com/microsoft/AirSim/tree/master/AirLib/include/physics) This is header-only physics engine. It is designed to be fast and extensible to implement different vehicles. -2. [*Sensor models:*](https://github.com/microsoft/AirSim/tree/master/AirLib/include/sensors) This is header-only models for Barometer, IMU, GPS and Magnetometer. -3. [*Vehicle models:*](https://github.com/microsoft/AirSim/tree/master/AirLib/include/vehiclesr) This is header-only models for vehicle configurations and models. Currently we have implemented model for a MultiRotor and a configuration for PX4 QuadRotor in the X config. There are several different Multirotor models defined in MultiRotorParams.hpp including a hexacopter as well. -4. [*API-related files:*](https://github.com/microsoft/AirSim/tree/master/AirLib/include/api) This part of AirLib provides abstract base class for our APIs and concrete implementation for specific vehicle platforms such as MavLink. It also has classes for the RPC client and server. +1. [*Physics engine:*](https://github.com/microsoft/AirSim/tree/main/AirLib/include/physics) This is header-only physics engine. It is designed to be fast and extensible to implement different vehicles. +2. [*Sensor models:*](https://github.com/microsoft/AirSim/tree/main/AirLib/include/sensors) This is header-only models for Barometer, IMU, GPS and Magnetometer. +3. [*Vehicle models:*](https://github.com/microsoft/AirSim/tree/main/AirLib/include/vehiclesr) This is header-only models for vehicle configurations and models. Currently we have implemented model for a MultiRotor and a configuration for PX4 QuadRotor in the X config. There are several different Multirotor models defined in MultiRotorParams.hpp including a hexacopter as well. +4. [*API-related files:*](https://github.com/microsoft/AirSim/tree/main/AirLib/include/api) This part of AirLib provides abstract base class for our APIs and concrete implementation for specific vehicle platforms such as MavLink. It also has classes for the RPC client and server. -Apart from these, all common utilities are defined in [`common/`](https://github.com/microsoft/AirSim/tree/master/AirLib/include/common) subfolder. One important file here is [AirSimSettings.hpp](https://github.com/microsoft/AirSim/blob/master/AirLib/include/common/AirSimSettings.hpp) which should be modified if any new fields are to be added in `settings.json`. +Apart from these, all common utilities are defined in [`common/`](https://github.com/microsoft/AirSim/tree/main/AirLib/include/common) subfolder. One important file here is [AirSimSettings.hpp](https://github.com/microsoft/AirSim/blob/main/AirLib/include/common/AirSimSettings.hpp) which should be modified if any new fields are to be added in `settings.json`. -AirSim supports different firmwares for Multirotor such as its own SimpleFlight, PX4 and ArduPilot, files for communicating with each firmware are placed in their respective subfolders in [`multirotor/firmwares`](https://github.com/microsoft/AirSim/tree/master/AirLib/include/vehicles/multirotor/firmwares). +AirSim supports different firmwares for Multirotor such as its own SimpleFlight, PX4 and ArduPilot, files for communicating with each firmware are placed in their respective subfolders in [`multirotor/firmwares`](https://github.com/microsoft/AirSim/tree/main/AirLib/include/vehicles/multirotor/firmwares). -The vehicle-specific APIs are defined in the `api/` subfolder, along-with required structs. The [`AirLib/src/`](https://github.com/microsoft/AirSim/tree/master/AirLib/src) contains .cpp files with implementations of various mehtods defined in the .hpp files. For e.g. [MultirotorApiBase.cpp](https://github.com/microsoft/AirSim/blob/master/AirLib/src/vehicles/multirotor/api/MultirotorApiBase.cpp) contains the base implementation of the multirotor APIs, which can also be overridden in the specific firmware files if required. +The vehicle-specific APIs are defined in the `api/` subfolder, along-with required structs. The [`AirLib/src/`](https://github.com/microsoft/AirSim/tree/main/AirLib/src) contains .cpp files with implementations of various mehtods defined in the .hpp files. For e.g. [MultirotorApiBase.cpp](https://github.com/microsoft/AirSim/blob/main/AirLib/src/vehicles/multirotor/api/MultirotorApiBase.cpp) contains the base implementation of the multirotor APIs, which can also be overridden in the specific firmware files if required. ## Unreal/Plugins/AirSim This is the only portion of project which is dependent on Unreal engine. We have kept it isolated so we can implement simulator for other platforms as well, as has been done for [Unity](https://microsoft.github.io/AirSim/Unity.html). The Unreal code takes advantage of its UObject based classes including Blueprints. The `Source/` folder contains the C++ files, while the `Content/` folder has the blueprints and assets. Some main components are described below: -1. *SimMode_ classes*: The SimMode classes help implement many different modes, such as pure Computer Vision mode, where there is no vehicle or simulation for a specific vehicle (currently car and multirotor). The vehicle classes are located in [`Vehicles/`](https://github.com/microsoft/AirSim/tree/master/Unreal/Plugins/AirSim/Source/Vehicles) -2. *PawnSimApi*: This is the [base class](https://github.com/microsoft/AirSim/blob/master/Unreal/Plugins/AirSim/Source/PawnSimApi.cpp) for all vehicle pawn visualizations. Each vehicle has their own child (Multirotor|Car|ComputerVision)Pawn class. -3. [UnrealSensors](https://github.com/microsoft/AirSim/tree/master/Unreal/Plugins/AirSim/Source/UnrealSensors): Contains implementation of Distance and Lidar sensors. +1. *SimMode_ classes*: The SimMode classes help implement many different modes, such as pure Computer Vision mode, where there is no vehicle or simulation for a specific vehicle (currently car and multirotor). The vehicle classes are located in [`Vehicles/`](https://github.com/microsoft/AirSim/tree/main/Unreal/Plugins/AirSim/Source/Vehicles) +2. *PawnSimApi*: This is the [base class](https://github.com/microsoft/AirSim/blob/main/Unreal/Plugins/AirSim/Source/PawnSimApi.cpp) for all vehicle pawn visualizations. Each vehicle has their own child (Multirotor|Car|ComputerVision)Pawn class. +3. [UnrealSensors](https://github.com/microsoft/AirSim/tree/main/Unreal/Plugins/AirSim/Source/UnrealSensors): Contains implementation of Distance and Lidar sensors. 4. *WorldSimApi*: Implements most of the environment and vehicle-agnostic APIs -Apart from these, [`PIPCamera`](https://github.com/microsoft/AirSim/blob/master/Unreal/Plugins/AirSim/Source/PIPCamera.cpp) contains the camera initialization, and [`UnrealImageCapture`](https://github.com/microsoft/AirSim/blob/master/Unreal/Plugins/AirSim/Source/UnrealImageCapture.cpp) & [`RenderRequest`](https://github.com/microsoft/AirSim/blob/master/Unreal/Plugins/AirSim/Source/RenderRequest.cpp) the image rendering code. [`AirBlueprintLib`](https://github.com/microsoft/AirSim/blob/master/Unreal/Plugins/AirSim/Source/AirBlueprintLib.cpp) has a lot of utility and wrapper methods used to interface with the UE4 engine. +Apart from these, [`PIPCamera`](https://github.com/microsoft/AirSim/blob/main/Unreal/Plugins/AirSim/Source/PIPCamera.cpp) contains the camera initialization, and [`UnrealImageCapture`](https://github.com/microsoft/AirSim/blob/main/Unreal/Plugins/AirSim/Source/UnrealImageCapture.cpp) & [`RenderRequest`](https://github.com/microsoft/AirSim/blob/main/Unreal/Plugins/AirSim/Source/RenderRequest.cpp) the image rendering code. [`AirBlueprintLib`](https://github.com/microsoft/AirSim/blob/main/Unreal/Plugins/AirSim/Source/AirBlueprintLib.cpp) has a lot of utility and wrapper methods used to interface with the UE4 engine. ## MavLinkCom @@ -40,7 +40,7 @@ DroneShell demonstrates how to connect to the simulator using UDP. The simulato ## PythonClient -[PythonClient](https://github.com/microsoft/AirSim/tree/master/PythonClient) contains Python API wrapper files and sample programs demonstrating their uses. +[PythonClient](https://github.com/microsoft/AirSim/tree/main/PythonClient) contains Python API wrapper files and sample programs demonstrating their uses. ## Contributing diff --git a/docs/custom_drone.md b/docs/custom_drone.md index fc3429ea97..332f39aa5a 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/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. +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. 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/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. +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. diff --git a/docs/distance_sensor.md b/docs/distance_sensor.md index f6d5ee4ac7..557745ea8f 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/master/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://github.com/Microsoft/AirSim/blob/main/PythonClient/car/distance_sensor_multi.py) for an example usage. \ No newline at end of file diff --git a/docs/docker_ubuntu.md b/docs/docker_ubuntu.md index 8c5684932f..5cabffe6f7 100644 --- a/docs/docker_ubuntu.md +++ b/docs/docker_ubuntu.md @@ -128,7 +128,7 @@ You can test it by running `/home/ue4/Binaries/Blocks/LinuxNoEditor/Blocks.sh -w ### Specifying settings.json #### `airsim_binary` docker image: - We're mapping the host machine's `PATH/TO/Airsim/docker/settings.json` to the docker container's `/home/airsim_user/Documents/AirSim/settings.json`. - - Hence, we can load any settings file by simply modifying `PATH_TO_YOUR/settings.json` by modifying the following snippets in [`run_airsim_image_binary.sh`](https://github.com/Microsoft/AirSim/blob/master/docker/run_airsim_image_binary.sh) + - Hence, we can load any settings file by simply modifying `PATH_TO_YOUR/settings.json` by modifying the following snippets in [`run_airsim_image_binary.sh`](https://github.com/Microsoft/AirSim/blob/main/docker/run_airsim_image_binary.sh) ```bash nvidia-docker run --runtime=nvidia -it \ @@ -157,7 +157,7 @@ docker run --gpus all -it \ #### `airsim_source` docker image: * We're mapping the host machine's `PATH/TO/Airsim/docker/settings.json` to the docker container's `/home/airsim_user/Documents/AirSim/settings.json`. - * Hence, we can load any settings file by simply modifying `PATH_TO_YOUR/settings.json` by modifying the following snippets in [`run_airsim_image_source.sh`](https://github.com/Microsoft/AirSim/blob/master/docker/run_airsim_image_source.sh): + * Hence, we can load any settings file by simply modifying `PATH_TO_YOUR/settings.json` by modifying the following snippets in [`run_airsim_image_source.sh`](https://github.com/Microsoft/AirSim/blob/main/docker/run_airsim_image_source.sh): ```bash nvidia-docker run --runtime=nvidia -it \ diff --git a/docs/drone_survey.md b/docs/drone_survey.md index 50988da1a7..6d7d186b7e 100644 --- a/docs/drone_survey.md +++ b/docs/drone_survey.md @@ -2,7 +2,7 @@ Moved here from [https://github.com/microsoft/AirSim/wiki/Implementing-a-Drone-Survey-script](https://github.com/microsoft/AirSim/wiki/Implementing-a-Drone-Survey-script) -Ever wanted to capture a bunch of top-down pictures of a certain location? Well, the Python API makes this really simple. See the [code available here](https://github.com/microsoft/AirSim/blob/master/PythonClient/multirotor/survey.py). +Ever wanted to capture a bunch of top-down pictures of a certain location? Well, the Python API makes this really simple. See the [code available here](https://github.com/microsoft/AirSim/blob/main/PythonClient/multirotor/survey.py). ![survey](images/survey.png) diff --git a/docs/event_sim.md b/docs/event_sim.md index f269d98ef6..567e0edc51 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/master/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://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. ``` 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/master/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://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. ``` from event_simulator import * diff --git a/docs/hello_drone.md b/docs/hello_drone.md index 49928eab67..1fc7eb90b9 100644 --- a/docs/hello_drone.md +++ b/docs/hello_drone.md @@ -3,4 +3,4 @@ ## How does Hello Drone work? Hello Drone uses the RPC client to connect to the RPC server that is automatically started by the AirSim. -The RPC server routes all the commands to a class that implements [MultirotorApiBase](https://github.com/Microsoft/AirSim/tree/master/AirLib//include/vehicles/multirotor/api/MultirotorApiBase.hpp). In essence, MultirotorApiBase defines our abstract interface for getting data from the quadrotor and sending back commands. We currently have concrete implementation for MultirotorApiBase for MavLink based vehicles. The implementation for DJI drone platforms, specifically Matrice, is in works. +The RPC server routes all the commands to a class that implements [MultirotorApiBase](https://github.com/Microsoft/AirSim/tree/main/AirLib//include/vehicles/multirotor/api/MultirotorApiBase.hpp). In essence, MultirotorApiBase defines our abstract interface for getting data from the quadrotor and sending back commands. We currently have concrete implementation for MultirotorApiBase for MavLink based vehicles. The implementation for DJI drone platforms, specifically Matrice, is in works. diff --git a/docs/image_apis.md b/docs/image_apis.md index 963f24702e..2f8a0fb136 100644 --- a/docs/image_apis.md +++ b/docs/image_apis.md @@ -124,13 +124,13 @@ int getStereoAndDepthImages() ### Python -For a more complete ready to run sample code please see [sample code in AirSimClient project](https://github.com/Microsoft/AirSim/tree/master/PythonClient//multirotor/hello_drone.py) for multirotors or [HelloCar sample](https://github.com/Microsoft/AirSim/tree/master/PythonClient//car/hello_car.py). This code also demonstrates simple activities such as saving images in files or using `numpy` to manipulate images. +For a more complete ready to run sample code please see [sample code in AirSimClient project](https://github.com/Microsoft/AirSim/tree/main/PythonClient//multirotor/hello_drone.py) for multirotors or [HelloCar sample](https://github.com/Microsoft/AirSim/tree/main/PythonClient//car/hello_car.py). This code also demonstrates simple activities such as saving images in files or using `numpy` to manipulate images. ### C++ -For a more complete ready to run sample code please see [sample code in HelloDrone project](https://github.com/Microsoft/AirSim/tree/master/HelloDrone//main.cpp) for multirotors or [HelloCar project](https://github.com/Microsoft/AirSim/tree/master/HelloCar//main.cpp). +For a more complete ready to run sample code please see [sample code in HelloDrone project](https://github.com/Microsoft/AirSim/tree/main/HelloDrone//main.cpp) for multirotors or [HelloCar project](https://github.com/Microsoft/AirSim/tree/main/HelloCar//main.cpp). -See also [other example code](https://github.com/Microsoft/AirSim/tree/master/Examples/DataCollection/StereoImageGenerator.hpp) that generates specified number of stereo images along with ground truth depth and disparity and saving it to [pfm format](pfm.md). +See also [other example code](https://github.com/Microsoft/AirSim/tree/main/Examples/DataCollection/StereoImageGenerator.hpp) that generates specified number of stereo images along with ground truth depth and disparity and saving it to [pfm format](pfm.md). ## Available Cameras @@ -159,7 +159,7 @@ To active this mode, edit [settings.json](settings.md) that you can find in your } ``` -[Here's the Python code example](https://github.com/Microsoft/AirSim/tree/master/PythonClient//computer_vision/cv_mode.py) to move camera around and capture images. +[Here's the Python code example](https://github.com/Microsoft/AirSim/tree/main/PythonClient//computer_vision/cv_mode.py) to move camera around and capture images. This mode was inspired from [UnrealCV project](http://unrealcv.org/). @@ -167,7 +167,7 @@ This mode was inspired from [UnrealCV project](http://unrealcv.org/). To move around the environment using APIs you can use `simSetVehiclePose` API. This API takes position and orientation and sets that on the invisible vehicle where the front-center camera is located. All rest of the cameras move along keeping the relative position. If you don't want to change position (or orientation) then just set components of position (or orientation) to floating point nan values. The `simGetVehiclePose` allows to retrieve the current pose. You can also use `simGetGroundTruthKinematics` to get the quantities kinematics quantities for the movement. Many other non-vehicle specific APIs are also available such as segmentation APIs, collision APIs and camera APIs. ## Camera APIs -The `simGetCameraInfo` returns the pose (in world frame, NED coordinates, SI units) and FOV (in degrees) for the specified camera. Please see [example usage](https://github.com/Microsoft/AirSim/tree/master/PythonClient//computer_vision/cv_mode.py). +The `simGetCameraInfo` returns the pose (in world frame, NED coordinates, SI units) and FOV (in degrees) for the specified camera. Please see [example usage](https://github.com/Microsoft/AirSim/tree/main/PythonClient//computer_vision/cv_mode.py). The `simSetCameraPose` sets the pose for the specified camera while taking an input pose as a combination of relative position and a quaternion in NED frame. The handy `airsim.to_quaternion()` function allows to convert pitch, roll, yaw to quaternion. For example, to set camera-0 to 15-degree pitch while maintaining the same position, you can use: ``` @@ -178,12 +178,12 @@ client.simSetCameraPose(0, camera_pose); - `simSetCameraFov` allows changing the Field-of-View of the camera at runtime. - `simSetDistortionParams`, `simGetDistortionParams` allow setting and fetching the distortion parameters K1, K2, K3, P1, P2 -All Camera APIs take in 3 common parameters apart from the API-specific ones, `camera_name`(str), `vehicle_name`(str) and `external`(bool, to indicate [External Camera](settings.md#external-cameras)). Camera and vehicle name is used to get the specific camera, if `external` is set to `true`, then the vehicle name is ignored. Also see [external_camera.py](https://github.com/microsoft/AirSim/blob/master/PythonClient/computer_vision/external_camera.py) for example usage of these APIs. +All Camera APIs take in 3 common parameters apart from the API-specific ones, `camera_name`(str), `vehicle_name`(str) and `external`(bool, to indicate [External Camera](settings.md#external-cameras)). Camera and vehicle name is used to get the specific camera, if `external` is set to `true`, then the vehicle name is ignored. Also see [external_camera.py](https://github.com/microsoft/AirSim/blob/main/PythonClient/computer_vision/external_camera.py) for example usage of these APIs. ### Gimbal You can set stabilization for pitch, roll or yaw for any camera [using settings](settings.md#gimbal). -Please see [example usage](https://github.com/Microsoft/AirSim/tree/master/PythonClient//computer_vision/cv_mode.py). +Please see [example usage](https://github.com/Microsoft/AirSim/tree/main/PythonClient//computer_vision/cv_mode.py). ## Changing Resolution and Camera Parameters To change resolution, FOV etc, you can use [settings.json](settings.md). For example, below addition in settings.json sets parameters for scene capture and uses "Computer Vision" mode described above. If you omit any setting then below default values will be used. For more information see [settings doc](settings.md). If you are using stereo camera, currently the distance between left and right is fixed at 25 cm. @@ -232,7 +232,7 @@ When you specify `ImageType = DepthVis` in `ImageRequest`, you get an image that You normally want to retrieve disparity image as float (i.e. set `pixels_as_float = true` and specify `ImageType = DisparityNormalized` in `ImageRequest`) in which case each pixel is `(Xl - Xr)/Xmax`, which is thereby normalized to values between 0 to 1. ### Segmentation -When you specify `ImageType = Segmentation` in `ImageRequest`, you get an image that gives you ground truth segmentation of the scene. At the startup, AirSim assigns value 0 to 255 to each mesh available in environment. This value is then mapped to a specific color in [the pallet](https://github.com/microsoft/AirSim/blob/master/Unreal/Plugins/AirSim/Content/HUDAssets/seg_color_palette.png). The RGB values for each object ID can be found in [this file](seg_rgbs.txt). +When you specify `ImageType = Segmentation` in `ImageRequest`, you get an image that gives you ground truth segmentation of the scene. At the startup, AirSim assigns value 0 to 255 to each mesh available in environment. This value is then mapped to a specific color in [the pallet](https://github.com/microsoft/AirSim/blob/main/Unreal/Plugins/AirSim/Content/HUDAssets/seg_color_palette.png). The RGB values for each object ID can be found in [this file](seg_rgbs.txt). You can assign a specific value (limited to the range 0-255) to a specific mesh using APIs. For example, below Python code sets the object ID for the mesh called "Ground" to 20 in Blocks environment and hence changes its color in Segmentation view: @@ -263,7 +263,7 @@ print(np.unique(img_rgb[:,:,1], return_counts=True)) #green print(np.unique(img_rgb[:,:,2], return_counts=True)) #blue ``` -A complete ready-to-run example can be found in [segmentation.py](https://github.com/Microsoft/AirSim/tree/master/PythonClient//computer_vision/segmentation.py). +A complete ready-to-run example can be found in [segmentation.py](https://github.com/Microsoft/AirSim/tree/main/PythonClient//computer_vision/segmentation.py). #### Unsetting object ID An object's ID can be set to -1 to make it not show up on the segmentation image. @@ -278,7 +278,7 @@ If you don't know how to open Unreal Environment in Unreal Editor then try follo 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/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. +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. #### Startup Object IDs At the start, AirSim assigns object ID to each object found in environment of type `UStaticMeshComponent` or `ALandscapeProxy`. It then either uses mesh name or owner name (depending on settings), lower cases it, removes any chars below ASCII 97 to remove numbers and some punctuations, sums int value of all chars and modulo 255 to generate the object ID. In other words, all object with same alphabet chars would get same object ID. This heuristic is simple and effective for many Unreal environments but may not be what you want. In that case, please use above APIs to change object IDs to your desired values. There are [few settings](settings.md#segmentation-settings) available to change this behavior. @@ -293,4 +293,4 @@ Currently this is just a map from object ID to grey scale 0-255. So any mesh wit These image types return information about motion perceived by the point of view of the camera. OpticalFlow returns a 2-channel image where the channels correspond to vx and vy respectively. OpticalFlowVis is similar to OpticalFlow but converts flow data to RGB for a more 'visual' output. ## Example Code -A complete example of setting vehicle positions at random locations and orientations and then taking images can be found in [GenerateImageGenerator.hpp](https://github.com/Microsoft/AirSim/tree/master/Examples/DataCollection/StereoImageGenerator.hpp). This example generates specified number of stereo images and ground truth disparity image and saving it to [pfm format](pfm.md). +A complete example of setting vehicle positions at random locations and orientations and then taking images can be found in [GenerateImageGenerator.hpp](https://github.com/Microsoft/AirSim/tree/main/Examples/DataCollection/StereoImageGenerator.hpp). This example generates specified number of stereo images and ground truth disparity image and saving it to [pfm format](pfm.md). diff --git a/docs/lidar.md b/docs/lidar.md index bfc39b3de6..a6fb1dc9a6 100644 --- a/docs/lidar.md +++ b/docs/lidar.md @@ -94,7 +94,7 @@ By default, the lidar points are not drawn on the viewport. To enable the drawin }, ``` -**Note:** Enabling `DrawDebugPoints` can cause excessive memory usage and crash in releases `v1.3.1`, `v1.3.0`. This has been fixed in master and should work in later releases +**Note:** Enabling `DrawDebugPoints` can cause excessive memory usage and crash in releases `v1.3.1`, `v1.3.0`. This has been fixed in the main branch and should work in later releases ## Client API @@ -112,10 +112,10 @@ Use `getLidarData()` API to retrieve the Lidar data. * Segmentation: The segmentation of each lidar point's collided object ### Python Examples -- [drone_lidar.py](https://github.com/microsoft/AirSim/blob/master/PythonClient/multirotor/drone_lidar.py) -- [car_lidar.py](https://github.com/microsoft/AirSim/blob/master/PythonClient/car/car_lidar.py) -- [sensorframe_lidar_pointcloud.py](https://github.com/microsoft/AirSim/blob/master/PythonClient/multirotor/sensorframe_lidar_pointcloud.py) -- [vehicleframe_lidar_pointcloud.py](https://github.com/microsoft/AirSim/blob/master/PythonClient/multirotor/vehicleframe_lidar_pointcloud.py) +- [drone_lidar.py](https://github.com/microsoft/AirSim/blob/main/PythonClient/multirotor/drone_lidar.py) +- [car_lidar.py](https://github.com/microsoft/AirSim/blob/main/PythonClient/car/car_lidar.py) +- [sensorframe_lidar_pointcloud.py](https://github.com/microsoft/AirSim/blob/main/PythonClient/multirotor/sensorframe_lidar_pointcloud.py) +- [vehicleframe_lidar_pointcloud.py](https://github.com/microsoft/AirSim/blob/main/PythonClient/multirotor/vehicleframe_lidar_pointcloud.py) ## Coming soon * Visualization of lidar data on client side. diff --git a/docs/modify_recording_data.md b/docs/modify_recording_data.md index 3b5d6ce9a3..07035b30a7 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/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. +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. E.g. recording GPS, IMU and Barometer data also for multirotor - diff --git a/docs/multi_vehicle.md b/docs/multi_vehicle.md index deac7ae5ef..372be78f80 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/master/PythonClient/car/multi_agent_car.py) +[Example code for cars](https://github.com/microsoft/AirSim/blob/main/PythonClient/car/multi_agent_car.py) -[Example code for multirotors](https://github.com/microsoft/AirSim/blob/master/PythonClient/multirotor/multi_agent_drone.py) +[Example code for multirotors](https://github.com/microsoft/AirSim/blob/main/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 - @@ -70,7 +70,7 @@ Using APIs for multi-vehicles requires specifying the `vehicle_name`, which need ### Creating vehicles at runtime through API -In the latest master of AirSim, the `simAddVehicle` API can be used to create vehicles at runtime. This is useful to create many such vehicles without needing to specify them in the settings. There are some limitations of this currently, described below - +In the latest main branch of AirSim, the `simAddVehicle` API can be used to create vehicles at runtime. This is useful to create many such vehicles without needing to specify them in the settings. There are some limitations of this currently, described below - `simAddVehicle` takes in the following arguments: @@ -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/master/HelloSpawnedDrones/HelloSpawnedDrones.cpp) - +For some examples, check out [HelloSpawnedDrones.cpp](https://github.com/microsoft/AirSim/blob/main/HelloSpawnedDrones/HelloSpawnedDrones.cpp) - ![HelloSpawnedDrones](images/HelloSpawnedDrones.gif) -And [runtime_car.py](https://github.com/microsoft/AirSim/tree/master/PythonClient/car/runtime_car.py) - +And [runtime_car.py](https://github.com/microsoft/AirSim/tree/main/PythonClient/car/runtime_car.py) - ![runtime_car](images/simAddVehicle_Car.gif) diff --git a/docs/object_detection.md b/docs/object_detection.md index 670b1a7138..66b506ce72 100644 --- a/docs/object_detection.md +++ b/docs/object_detection.md @@ -29,7 +29,7 @@ DetectionInfo relative_pose = Pose() ``` ## Usage example -Python script [detection.py](https://github.com/microsoft/AirSim/blob/master/PythonClient/detection/detection.py) shows how to set detection parameters and shows the result in OpenCV capture. +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. A minimal example using API with Blocks environment to detect Cylinder objects: ```python diff --git a/docs/orbit.md b/docs/orbit.md index 78209fe7e7..d2ff8ce9f2 100644 --- a/docs/orbit.md +++ b/docs/orbit.md @@ -4,7 +4,7 @@ Moved here from [https://github.com/microsoft/AirSim/wiki/An-Orbit-Trajectory](h Have you ever wanted to fly a nice smooth circular orbit? This can be handy for capturing 3D objects from all sides especially if you get multiple orbits at different altitudes. -So the `PythonClient/multirotor` folder contains a script named [Orbit](https://github.com/microsoft/AirSim/blob/master/PythonClient/multirotor/orbit.py) that will do precisely that. +So the `PythonClient/multirotor` folder contains a script named [Orbit](https://github.com/microsoft/AirSim/blob/main/PythonClient/multirotor/orbit.py) that will do precisely that. See [demo video](https://youtu.be/RFG5CTQi3Us) diff --git a/docs/pfm.md b/docs/pfm.md index f6cd54af2c..20dc2c3f39 100644 --- a/docs/pfm.md +++ b/docs/pfm.md @@ -4,4 +4,4 @@ Pfm (or Portable FloatMap) image format stores image as floating point pixels an One of the good viewer to view this file format is [PfmPad](https://sourceforge.net/projects/pfmpad/). We don't recommend Maverick photo viewer because it doesn't seem to show depth images properly. -AirSim has code to write pfm file for [C++](https://github.com/Microsoft/AirSim/blob/master/AirLib/include/common/common_utils/Utils.hpp#L637) and read as well as write for [Python](https://github.com/Microsoft/AirSim/tree/master/PythonClient//airsim/utils.py#L122). +AirSim has code to write pfm file for [C++](https://github.com/Microsoft/AirSim/blob/main/AirLib/include/common/common_utils/Utils.hpp#L637) and read as well as write for [Python](https://github.com/Microsoft/AirSim/tree/main/PythonClient//airsim/utils.py#L122). diff --git a/docs/point_clouds.md b/docs/point_clouds.md index eb9e06cc19..0923145858 100644 --- a/docs/point_clouds.md +++ b/docs/point_clouds.md @@ -2,7 +2,7 @@ Moved here from [https://github.com/microsoft/AirSim/wiki/Point-Clouds](https://github.com/microsoft/AirSim/wiki/Point-Clouds) -A Python script [point_cloud.py](https://github.com/Microsoft/AirSim/blob/master/PythonClient/multirotor/point_cloud.py) shows how to convert the depth image returned from AirSim into a point cloud. +A Python script [point_cloud.py](https://github.com/Microsoft/AirSim/blob/main/PythonClient/multirotor/point_cloud.py) shows how to convert the depth image returned from AirSim into a point cloud. The following depth image was captured using the Modular Neighborhood environment: diff --git a/docs/px4_build.md b/docs/px4_build.md index 6ae18c967d..e291bb13b1 100644 --- a/docs/px4_build.md +++ b/docs/px4_build.md @@ -14,7 +14,7 @@ Now to build it you will need the right tools. ## PX4 Build tools -The full instructions are available on the [dev.px4.io](https://docs.px4.io/master/en/dev_setup/building_px4.html) website, +The full instructions are available on the [dev.px4.io](https://docs.px4.io/main/en/dev_setup/building_px4.html) website, but we've copied the relevant subset of those instructions here for your convenience. (Note that [BashOnWindows](https://msdn.microsoft.com/en-us/commandline/wsl/install_guide)) can be used to build diff --git a/docs/px4_lockstep.md b/docs/px4_lockstep.md index 04ebc06bca..6437ae809b 100644 --- a/docs/px4_lockstep.md +++ b/docs/px4_lockstep.md @@ -1,7 +1,7 @@ # LockStep The latest version of PX4 supports a new [lockstep -feature](https://docs.px4.io/master/en/simulation/#lockstep-simulation) when communicating with the +feature](https://docs.px4.io/main/en/simulation/#lockstep-simulation) when communicating with the simulator over TCP. Lockstep is an important feature because it synchronizes PX4 and the simulator so they essentially use the same clock time. This makes PX4 behave normally even during unusually long delays in Simulator performance. @@ -42,7 +42,7 @@ in the simulated flight if you look at the updates on screen in realtime. If you are running PX4 in cygwin, there is an [open issue with lockstep](https://github.com/microsoft/AirSim/issues/3415). PX4 is configured to use lockstep by default. To disable this feature, first [disable it in -PX4](https://docs.px4.io/master/en/simulation/#disable-lockstep-simulation): +PX4](https://docs.px4.io/main/en/simulation/#disable-lockstep-simulation): 1. Navigate to `boards/px4/sitl/` in your local PX4 repository 1. Edit `default.cmake` and find the following line: diff --git a/docs/px4_multi_vehicle.md b/docs/px4_multi_vehicle.md index 9d6c6c71e9..d5e1a6e8f5 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/master/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://github.com/microsoft/AirSim/tree/main/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. @@ -80,8 +80,8 @@ Here is how you would do so: cd PX4 mkdir -p Scripts cd Scripts - wget https://github.com/microsoft/AirSim/raw/master/PX4Scripts/sitl_kill.sh - wget https://github.com/microsoft/AirSim/raw/master/PX4Scripts/run_airsim_sitl.sh + wget https://github.com/microsoft/AirSim/raw/main/PX4Scripts/sitl_kill.sh + wget https://github.com/microsoft/AirSim/raw/main/PX4Scripts/run_airsim_sitl.sh ``` **Note** the shell scripts expect the `Scripts` and `Firmware` directories to be within the same parent directory. Also, you may need to make the scripts executable by running `chmod +x sitl_kill.sh` and `chmod +x run_airsim_sitl.sh`. 2. Run the `sitl_kill.sh` script to kill all active PX4 SITL instances diff --git a/docs/px4_setup.md b/docs/px4_setup.md index 7826accbe5..20cd5974c3 100644 --- a/docs/px4_setup.md +++ b/docs/px4_setup.md @@ -64,7 +64,7 @@ are also enabling `LockStep`, see [PX4 LockStep](px4_lockstep.md) for more infor `Barometer` setting keeps PX4 happy because the default AirSim barometer has a bit too much noise generation. This setting clamps that down a bit which allows PX4 to achieve GPS lock more quickly. -After above setup you should be able to use a remote control (RC) to fly with AirSim. You can usually arm the vehicle by lowering and bringing two sticks of RC together down and in-wards. You don't need QGroundControl after the initial setup. Typically the Stabilized (instead of Manual) mode gives better experience for beginners. See [PX4 Basic Flying Guide](https://docs.px4.io/master/en/flying/basic_flying.html). +After above setup you should be able to use a remote control (RC) to fly with AirSim. You can usually arm the vehicle by lowering and bringing two sticks of RC together down and in-wards. You don't need QGroundControl after the initial setup. Typically the Stabilized (instead of Manual) mode gives better experience for beginners. See [PX4 Basic Flying Guide](https://docs.px4.io/main/en/flying/basic_flying.html). You can also control the drone from [Python APIs](apis.md). diff --git a/docs/px4_sitl.md b/docs/px4_sitl.md index 59b4b2ef69..362f36d186 100644 --- a/docs/px4_sitl.md +++ b/docs/px4_sitl.md @@ -2,7 +2,7 @@ The [PX4](http://dev.px4.io) software provides a "software-in-loop" simulation (SITL) version of their stack that runs in Linux. If you are on Windows then you can use the [Cygwin -Toolchain](https://dev.px4.io/master/en/setup/dev_env_windows_cygwin.html) or you can use the +Toolchain](https://dev.px4.io/main/en/setup/dev_env_windows_cygwin.html) or you can use the [Windows subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install-win10) and follow the PX4 Linux toolchain setup. @@ -12,7 +12,7 @@ instructions](px4_sitl_wsl2.md). **Note** that every time you stop the unreal app you have to restart the `px4` app. 1. From your bash terminal follow [these steps for - Linux](https://docs.px4.io/master/en/dev_setup/dev_env_linux.html) and follow **all** the + Linux](https://docs.px4.io/main/en/dev_setup/dev_env_linux.html) and follow **all** the instructions under `NuttX based hardware` to install prerequisites. We've also included our own copy of the [PX4 build instructions](px4_build.md) which is a bit more concise about what we need exactly. diff --git a/docs/reinforcement_learning.md b/docs/reinforcement_learning.md index 69d9c24c98..fc4003eaeb 100644 --- a/docs/reinforcement_learning.md +++ b/docs/reinforcement_learning.md @@ -12,7 +12,7 @@ In order to use AirSim as a gym environment, we extend and reimplement the base ## RL with Car -[Source code](https://github.com/Microsoft/AirSim/tree/master/PythonClient/reinforcement_learning) +[Source code](https://github.com/Microsoft/AirSim/tree/main/PythonClient/reinforcement_learning) This example works with AirSimNeighborhood environment available in [releases](https://github.com/Microsoft/AirSim/releases). @@ -127,7 +127,7 @@ Note that the simulation needs to be up and running before you execute `dqn_car. ## RL with Quadrotor -[Source code](https://github.com/Microsoft/AirSim/tree/master/PythonClient/reinforcement_learning) +[Source code](https://github.com/Microsoft/AirSim/tree/main/PythonClient/reinforcement_learning) This example works with AirSimMountainLandscape environment available in [releases](https://github.com/Microsoft/AirSim/releases). diff --git a/docs/remote_control.md b/docs/remote_control.md index 70515b0037..8bc8d9685c 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/master/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://github.com/microsoft/AirSim/blob/main/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/master/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://github.com/microsoft/AirSim/blob/main/Unreal/Plugins/AirSim/Source/SimJoyStick/SimJoyStick.cpp#L340) to use other devices. ## RC Setup for PX4 diff --git a/docs/sensors.md b/docs/sensors.md index afef8bf158..838abcf5d6 100644 --- a/docs/sensors.md +++ b/docs/sensors.md @@ -29,7 +29,7 @@ If no sensors are specified in the `settings.json`, then the following sensors a ### ComputerVision * None -Behind the scenes, `createDefaultSensorSettings` method in [AirSimSettings.hpp](https://github.com/Microsoft/AirSim/blob/master/AirLib/include/common/AirSimSettings.hpp) sets up the above sensors with their default parameters, depending on the sim mode specified in the `settings.json` file. +Behind the scenes, `createDefaultSensorSettings` method in [AirSimSettings.hpp](https://github.com/Microsoft/AirSim/blob/main/AirLib/include/common/AirSimSettings.hpp) sets up the above sensors with their default parameters, depending on the sim mode specified in the `settings.json` file. ## Configuring the default sensor list @@ -173,7 +173,7 @@ Be default, the points hit by distance sensor are not drawn on the viewport. To ``` ## Sensor APIs -Jump straight to [`hello_drone.py`](https://github.com/Microsoft/AirSim/blob/master/PythonClient/multirotor/hello_drone.py) or [`hello_drone.cpp`](https://github.com/Microsoft/AirSim/blob/master/HelloDrone/main.cpp) for example usage, or see follow below for the full API. +Jump straight to [`hello_drone.py`](https://github.com/Microsoft/AirSim/blob/main/PythonClient/multirotor/hello_drone.py) or [`hello_drone.cpp`](https://github.com/Microsoft/AirSim/blob/main/HelloDrone/main.cpp) for example usage, or see follow below for the full API. ### Barometer ```cpp diff --git a/docs/settings.md b/docs/settings.md index 85ee537bb5..3e37bc1230 100644 --- a/docs/settings.md +++ b/docs/settings.md @@ -321,7 +321,7 @@ The `CaptureSettings` determines how different image types such as scene, depth, 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/master/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://github.com/Microsoft/AirSim/blob/main/Unreal/Plugins/AirSim/Content/HUDAssets/CameraSensorNoise.uasset). Demo of camera noise and interference simulation: @@ -497,7 +497,7 @@ PX4 connection. See [Setting up PX4 Software-in-Loop](px4_sitl.md) for an exampl ### Using ArduPilot -[ArduPilot](https://ardupilot.org/) Copter & Rover vehicles are supported in latest AirSim master & releases `v1.3.0` and later. For settings and how to use, please see [ArduPilot SITL with AirSim](https://ardupilot.org/dev/docs/sitl-with-airsim.html) +[ArduPilot](https://ardupilot.org/) Copter & Rover vehicles are supported in latest AirSim main branch & releases `v1.3.0` and later. For settings and how to use, please see [ArduPilot SITL with AirSim](https://ardupilot.org/dev/docs/sitl-with-airsim.html) ## Other Settings diff --git a/docs/unreal_custenv.md b/docs/unreal_custenv.md index d5c07b9c32..bba72b1845 100644 --- a/docs/unreal_custenv.md +++ b/docs/unreal_custenv.md @@ -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/master/Unreal/Environments/Blocks/clean.bat) (or [clean.sh](https://github.com/Microsoft/AirSim/blob/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. +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. 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/docs/upgrade_apis.md b/docs/upgrade_apis.md index adb9da0163..036a1616b4 100644 --- a/docs/upgrade_apis.md +++ b/docs/upgrade_apis.md @@ -2,7 +2,7 @@ There have been several API changes in AirSim v1.2 that we hope removes inconsistency, adds future extensibility and presents cleaner interface. Many of these changes are however *breaking changes* which means you will need to modify your client code that talks to AirSim. ## Quicker Way -While most changes you need to do in your client code are fairly easy, a quicker way is simply to take a look at the example code such as [Hello Drone](https://github.com/Microsoft/AirSim/tree/master/PythonClient//multirotor/hello_drone.py)or [Hello Car](https://github.com/Microsoft/AirSim/tree/master/PythonClient//car/hello_car.py) to get gist of changes. +While most changes you need to do in your client code are fairly easy, a quicker way is simply to take a look at the example code such as [Hello Drone](https://github.com/Microsoft/AirSim/tree/main/PythonClient//multirotor/hello_drone.py)or [Hello Car](https://github.com/Microsoft/AirSim/tree/main/PythonClient//car/hello_car.py) to get gist of changes. ## Importing AirSim Instead of, From 481cd229b81a9300da5a43e62a8da622a53b8df4 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Fri, 1 Jul 2022 15:21:04 -0300 Subject: [PATCH 02/15] Revert errors changing master to main in docs --- docs/px4_build.md | 2 +- docs/px4_lockstep.md | 4 ++-- docs/px4_setup.md | 2 +- docs/px4_sitl.md | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/px4_build.md b/docs/px4_build.md index e291bb13b1..6ae18c967d 100644 --- a/docs/px4_build.md +++ b/docs/px4_build.md @@ -14,7 +14,7 @@ Now to build it you will need the right tools. ## PX4 Build tools -The full instructions are available on the [dev.px4.io](https://docs.px4.io/main/en/dev_setup/building_px4.html) website, +The full instructions are available on the [dev.px4.io](https://docs.px4.io/master/en/dev_setup/building_px4.html) website, but we've copied the relevant subset of those instructions here for your convenience. (Note that [BashOnWindows](https://msdn.microsoft.com/en-us/commandline/wsl/install_guide)) can be used to build diff --git a/docs/px4_lockstep.md b/docs/px4_lockstep.md index 6437ae809b..04ebc06bca 100644 --- a/docs/px4_lockstep.md +++ b/docs/px4_lockstep.md @@ -1,7 +1,7 @@ # LockStep The latest version of PX4 supports a new [lockstep -feature](https://docs.px4.io/main/en/simulation/#lockstep-simulation) when communicating with the +feature](https://docs.px4.io/master/en/simulation/#lockstep-simulation) when communicating with the simulator over TCP. Lockstep is an important feature because it synchronizes PX4 and the simulator so they essentially use the same clock time. This makes PX4 behave normally even during unusually long delays in Simulator performance. @@ -42,7 +42,7 @@ in the simulated flight if you look at the updates on screen in realtime. If you are running PX4 in cygwin, there is an [open issue with lockstep](https://github.com/microsoft/AirSim/issues/3415). PX4 is configured to use lockstep by default. To disable this feature, first [disable it in -PX4](https://docs.px4.io/main/en/simulation/#disable-lockstep-simulation): +PX4](https://docs.px4.io/master/en/simulation/#disable-lockstep-simulation): 1. Navigate to `boards/px4/sitl/` in your local PX4 repository 1. Edit `default.cmake` and find the following line: diff --git a/docs/px4_setup.md b/docs/px4_setup.md index 20cd5974c3..7826accbe5 100644 --- a/docs/px4_setup.md +++ b/docs/px4_setup.md @@ -64,7 +64,7 @@ are also enabling `LockStep`, see [PX4 LockStep](px4_lockstep.md) for more infor `Barometer` setting keeps PX4 happy because the default AirSim barometer has a bit too much noise generation. This setting clamps that down a bit which allows PX4 to achieve GPS lock more quickly. -After above setup you should be able to use a remote control (RC) to fly with AirSim. You can usually arm the vehicle by lowering and bringing two sticks of RC together down and in-wards. You don't need QGroundControl after the initial setup. Typically the Stabilized (instead of Manual) mode gives better experience for beginners. See [PX4 Basic Flying Guide](https://docs.px4.io/main/en/flying/basic_flying.html). +After above setup you should be able to use a remote control (RC) to fly with AirSim. You can usually arm the vehicle by lowering and bringing two sticks of RC together down and in-wards. You don't need QGroundControl after the initial setup. Typically the Stabilized (instead of Manual) mode gives better experience for beginners. See [PX4 Basic Flying Guide](https://docs.px4.io/master/en/flying/basic_flying.html). You can also control the drone from [Python APIs](apis.md). diff --git a/docs/px4_sitl.md b/docs/px4_sitl.md index 362f36d186..59b4b2ef69 100644 --- a/docs/px4_sitl.md +++ b/docs/px4_sitl.md @@ -2,7 +2,7 @@ The [PX4](http://dev.px4.io) software provides a "software-in-loop" simulation (SITL) version of their stack that runs in Linux. If you are on Windows then you can use the [Cygwin -Toolchain](https://dev.px4.io/main/en/setup/dev_env_windows_cygwin.html) or you can use the +Toolchain](https://dev.px4.io/master/en/setup/dev_env_windows_cygwin.html) or you can use the [Windows subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install-win10) and follow the PX4 Linux toolchain setup. @@ -12,7 +12,7 @@ instructions](px4_sitl_wsl2.md). **Note** that every time you stop the unreal app you have to restart the `px4` app. 1. From your bash terminal follow [these steps for - Linux](https://docs.px4.io/main/en/dev_setup/dev_env_linux.html) and follow **all** the + Linux](https://docs.px4.io/master/en/dev_setup/dev_env_linux.html) and follow **all** the instructions under `NuttX based hardware` to install prerequisites. We've also included our own copy of the [PX4 build instructions](px4_build.md) which is a bit more concise about what we need exactly. From 5e0e961903f5913bf516fea58031d7f3830d2348 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Fri, 1 Jul 2022 15:40:03 -0300 Subject: [PATCH 03/15] Change master to main in other docs --- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- CHANGELOG.md | 2 +- CONTRIBUTING.md | 2 +- GazeboDrone/README.md | 2 +- MavLinkCom/MavLinkMoCap/Readme.md | 2 +- MavLinkCom/README.md | 2 +- PythonClient/README.md | 4 ++-- SUPPORT.md | 2 +- Unity/README.md | 2 +- Unity/UnityDemo/README.md | 2 +- ros/src/airsim_ros_pkgs/README.md | 2 +- ros/src/airsim_tutorial_pkgs/README.md | 2 +- ros2/src/airsim_ros_pkgs/README.md | 2 +- 13 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 01260d75e9..537422de10 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -6,7 +6,7 @@ about: Create a report to help us improve - + ## Bug report diff --git a/CHANGELOG.md b/CHANGELOG.md index 6545cf2c09..cffbb5d544 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,3 @@ # Changelog -This page has moved [here](https://github.com/microsoft/AirSim/blob/master/docs/CHANGELOG.md). \ No newline at end of file +This page has moved [here](https://github.com/microsoft/AirSim/blob/main/docs/CHANGELOG.md). \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 99687b2855..c681a17f92 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,3 +1,3 @@ # Contributing -This page has moved [here](https://github.com/microsoft/AirSim/blob/master/docs/CONTRIBUTING.md). \ No newline at end of file +This page has moved [here](https://github.com/microsoft/AirSim/blob/main/docs/CONTRIBUTING.md). \ No newline at end of file diff --git a/GazeboDrone/README.md b/GazeboDrone/README.md index 22f89a7d6d..1d607013b6 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/master/docs/gazebo_drone.md). \ No newline at end of file +This page has moved [here](https://github.com/microsoft/AirSim/blob/main/docs/gazebo_drone.md). \ No newline at end of file diff --git a/MavLinkCom/MavLinkMoCap/Readme.md b/MavLinkCom/MavLinkMoCap/Readme.md index 073408f79f..32d47cdec6 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/master/docs/mavlinkcom_mocap.md). \ No newline at end of file +This page has moved [here](https://github.com/microsoft/AirSim/blob/main/docs/mavlinkcom_mocap.md). \ No newline at end of file diff --git a/MavLinkCom/README.md b/MavLinkCom/README.md index 6bd67cea31..23560fceb4 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/master/docs/mavlinkcom.md). \ No newline at end of file +This page has moved [here](https://github.com/microsoft/AirSim/blob/main/docs/mavlinkcom.md). \ No newline at end of file diff --git a/PythonClient/README.md b/PythonClient/README.md index a5ec115d93..b9e32423db 100644 --- a/PythonClient/README.md +++ b/PythonClient/README.md @@ -3,7 +3,7 @@ This package contains Python APIs for [AirSim](https://github.com/microsoft/airsim). ## How to Use -See examples at [car/hello_car.py](https://github.com/Microsoft/AirSim/blob/master/PythonClient/car/hello_car.py) or [multirotor/hello_drone.py](https://github.com/microsoft/AirSim/blob/master/PythonClient/multirotor/hello_drone.py). +See examples at [car/hello_car.py](https://github.com/Microsoft/AirSim/blob/main/PythonClient/car/hello_car.py) or [multirotor/hello_drone.py](https://github.com/microsoft/AirSim/blob/main/PythonClient/multirotor/hello_drone.py). ## Dependencies This package depends on `msgpack` and would automatically install `msgpack-rpc-python` (this may need administrator/sudo prompt): @@ -16,5 +16,5 @@ Some examples also requires opencv. ## More Info More information on AirSim Python APIs can be found at: -https://github.com/Microsoft/AirSim/blob/master/docs/python.md +https://github.com/Microsoft/AirSim/blob/main/docs/python.md diff --git a/SUPPORT.md b/SUPPORT.md index 4580e60494..be29ec8b41 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -1,3 +1,3 @@ # Support -This page has moved [here](https://github.com/microsoft/AirSim/blob/master/docs/SUPPORT.md). +This page has moved [here](https://github.com/microsoft/AirSim/blob/main/docs/SUPPORT.md). diff --git a/Unity/README.md b/Unity/README.md index c9d5cd3ae8..0cf28e7395 100644 --- a/Unity/README.md +++ b/Unity/README.md @@ -1,3 +1,3 @@ # AirSim on Unity -This page has moved [here](https://github.com/microsoft/AirSim/blob/master/docs/Unity.md) \ No newline at end of file +This page has moved [here](https://github.com/microsoft/AirSim/blob/main/docs/Unity.md) \ No newline at end of file diff --git a/Unity/UnityDemo/README.md b/Unity/UnityDemo/README.md index efadc9e91f..9eca9dd5b4 100644 --- a/Unity/UnityDemo/README.md +++ b/Unity/UnityDemo/README.md @@ -1,6 +1,6 @@ # Unity AirSim Demo -A Unity project to demonstrate the usage of [AirSimAssets](https://github.com/Microsoft/AirSim/tree/master/Unity/UnityDemo) for *Car* & *Multirotor* simulation. +A Unity project to demonstrate the usage of [AirSimAssets](https://github.com/Microsoft/AirSim/tree/main/Unity/UnityDemo) for *Car* & *Multirotor* simulation. ## Usage diff --git a/ros/src/airsim_ros_pkgs/README.md b/ros/src/airsim_ros_pkgs/README.md index 9edb213962..b8566890a8 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/master/docs/airsim_ros_pkgs.md). \ No newline at end of file +This page has moved [here](https://github.com/microsoft/AirSim/blob/main/docs/airsim_ros_pkgs.md). \ No newline at end of file diff --git a/ros/src/airsim_tutorial_pkgs/README.md b/ros/src/airsim_tutorial_pkgs/README.md index e7a07ea8d1..195b4d180d 100644 --- a/ros/src/airsim_tutorial_pkgs/README.md +++ b/ros/src/airsim_tutorial_pkgs/README.md @@ -1,3 +1,3 @@ # AirSim ROS Tutorials -This page has moved [here](https://github.com/microsoft/AirSim/blob/master/docs/airsim_tutorial_pkgs.md). \ No newline at end of file +This page has moved [here](https://github.com/microsoft/AirSim/blob/main/docs/airsim_tutorial_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 3f32237f5a..101cf96ab7 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/master/docs/airsim_ros_pkgs.md). \ No newline at end of file +This page has moved [here](https://github.com/microsoft/AirSim/blob/main/docs/airsim_ros_pkgs.md). \ No newline at end of file From c5e4bce181f731a27fd0fb99fb6ba5e41f9a1db7 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Fri, 1 Jul 2022 15:54:46 -0300 Subject: [PATCH 04/15] change master to main in code --- .github/workflows/test_docs.yml | 4 ++-- AirLib/include/common/AirSimSettings.hpp | 2 +- Examples/DataCollection/DataCollectorSGM_settings.json | 2 +- Examples/DepthNav/DepthNav_settings.json | 2 +- PythonClient/computer_vision/cv_capture.py | 2 +- PythonClient/computer_vision/cv_mode.py | 2 +- PythonClient/computer_vision/cv_navigate.py | 2 +- PythonClient/computer_vision/getpos.py | 2 +- PythonClient/computer_vision/ground_truth.py | 2 +- PythonClient/computer_vision/objects.py | 2 +- PythonClient/computer_vision/segmentation.py | 2 +- PythonClient/multirotor/multi_agent_drone.py | 2 +- PythonClient/multirotor/opencv_show.py | 2 +- PythonClient/multirotor/sensorframe_lidar_pointcloud.py | 2 +- PythonClient/multirotor/vehicleframe_lidar_pointcloud.py | 2 +- .../UnityDemo/Assets/AirSimAssets/Scripts/InitializeAirSim.cs | 2 +- azure/app/settings.json | 2 +- azure/azure-env-creation/vm-arm-template.json | 2 +- build.cmd | 2 +- docker/settings.json | 2 +- .../airsim_tutorial_pkgs/scripts/multi_drone_json_creator.py | 2 +- ros/src/airsim_tutorial_pkgs/settings/car.json | 2 +- .../settings/front_stereo_and_center_mono.json | 2 +- ros/src/airsim_tutorial_pkgs/settings/twenty_five_drones.json | 2 +- .../settings/two_drones_camera_lidar_imu.json | 2 +- 25 files changed, 26 insertions(+), 26 deletions(-) diff --git a/.github/workflows/test_docs.yml b/.github/workflows/test_docs.yml index 7e43a4d07a..354315126d 100644 --- a/.github/workflows/test_docs.yml +++ b/.github/workflows/test_docs.yml @@ -37,10 +37,10 @@ jobs: - name: Build AirSim Documentation run: ./build_docs.sh - # Only on commits to 'master' branch + # Only on commits to 'main' branch - name: Deploy uses: peaceiris/actions-gh-pages@v3 - if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./build_docs diff --git a/AirLib/include/common/AirSimSettings.hpp b/AirLib/include/common/AirSimSettings.hpp index 7977813ad4..e5442ff223 100644 --- a/AirLib/include/common/AirSimSettings.hpp +++ b/AirLib/include/common/AirSimSettings.hpp @@ -471,7 +471,7 @@ namespace airlib Settings& settings_json = Settings::singleton(); //write some settings_json in new file otherwise the string "null" is written if all settings_json are empty - settings_json.setString("SeeDocsAt", "https://github.com/Microsoft/AirSim/blob/master/docs/settings.md"); + settings_json.setString("SeeDocsAt", "https://github.com/Microsoft/AirSim/blob/main/docs/settings.md"); settings_json.setDouble("SettingsVersion", 1.2); std::string settings_filename = Settings::getUserDirectoryFullPath("settings.json"); diff --git a/Examples/DataCollection/DataCollectorSGM_settings.json b/Examples/DataCollection/DataCollectorSGM_settings.json index 47002ea8a9..8f074a4b18 100644 --- a/Examples/DataCollection/DataCollectorSGM_settings.json +++ b/Examples/DataCollection/DataCollectorSGM_settings.json @@ -1,5 +1,5 @@ { - "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings.md", + "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/main/docs/settings.md", "SettingsVersion": 1.2, "SimMode": "ComputerVision", "CameraDefaults": { diff --git a/Examples/DepthNav/DepthNav_settings.json b/Examples/DepthNav/DepthNav_settings.json index 686f697349..f8f79d5bbd 100644 --- a/Examples/DepthNav/DepthNav_settings.json +++ b/Examples/DepthNav/DepthNav_settings.json @@ -1,5 +1,5 @@ { - "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings.md", + "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/main/docs/settings.md", "SettingsVersion": 1.2, "SimMode": "ComputerVision", "CameraDefaults": { diff --git a/PythonClient/computer_vision/cv_capture.py b/PythonClient/computer_vision/cv_capture.py index 1ee625f82b..2701ce3009 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/master/docs/image_apis.md#computer-vision-mode +# https://github.com/Microsoft/AirSim/blob/main/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 66bca0c97a..3c05e08709 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/master/docs/image_apis.md#computer-vision-mode +# https://github.com/Microsoft/AirSim/blob/main/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 2a9bd5c113..592190f1a6 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/master/docs/image_apis.md#computer-vision-mode +# https://github.com/Microsoft/AirSim/blob/main/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 8304d429ee..52783e744e 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/master/docs/image_apis.md#computer-vision-mode +# https://github.com/Microsoft/AirSim/blob/main/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 5e04f12622..32c63796c6 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/master/docs/image_apis.md#computer-vision-mode +# https://github.com/Microsoft/AirSim/blob/main/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 09f61831cb..f5356c31cf 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/master/docs/image_apis.md#computer-vision-mode +# https://github.com/Microsoft/AirSim/blob/main/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 520dfa0270..8a6a550fb5 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/master/docs/image_apis.md#computer-vision-mode +# https://github.com/Microsoft/AirSim/blob/main/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 bfd044c3f2..2338b14962 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/master/docs/settings.md", + "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/main/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 e8efd1279b..75a5e48627 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/master/docs/image_apis.md#computer-vision-mode +# https://github.com/Microsoft/AirSim/blob/main/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 12af0be383..10e11d41a7 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/master/docs/settings_json.md", + "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/main/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 3aa92b9508..e4f50bf7e4 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/master/docs/settings_json.md", + "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/main/docs/settings_json.md", "SettingsVersion": 1.2, "SimMode": "Multirotor", diff --git a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/InitializeAirSim.cs b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/InitializeAirSim.cs index b2691380ee..4bde3dfa28 100644 --- a/Unity/UnityDemo/Assets/AirSimAssets/Scripts/InitializeAirSim.cs +++ b/Unity/UnityDemo/Assets/AirSimAssets/Scripts/InitializeAirSim.cs @@ -90,7 +90,7 @@ private static bool CreateSettingsFileWithDefaultValues(string fileName) else Directory.CreateDirectory(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "AirSim")); - string content = "{\n \"SimMode\" : \"\", \n \"SettingsVersion\" : 1.2, \n \"SeeDocsAt\" : \"https://github.com/Microsoft/AirSim/blob/master/docs/settings.md\"\n}"; + string content = "{\n \"SimMode\" : \"\", \n \"SettingsVersion\" : 1.2, \n \"SeeDocsAt\" : \"https://github.com/Microsoft/AirSim/blob/main/docs/settings.md\"\n}"; //settings file created at Documents\AirSim with name "setting.json". StreamWriter writer = new StreamWriter(File.Open(fileName, FileMode.OpenOrCreate, FileAccess.Write)); writer.WriteLine(content); diff --git a/azure/app/settings.json b/azure/app/settings.json index 44b5a20009..ecd1e995a8 100644 --- a/azure/app/settings.json +++ b/azure/app/settings.json @@ -1,5 +1,5 @@ { - "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings_json.md", + "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/main/docs/settings_json.md", "SettingsVersion": 1.2, "SimMode": "Multirotor", "ClockSpeed": 1.0, diff --git a/azure/azure-env-creation/vm-arm-template.json b/azure/azure-env-creation/vm-arm-template.json index e87babba6d..7e7ddea9ca 100644 --- a/azure/azure-env-creation/vm-arm-template.json +++ b/azure/azure-env-creation/vm-arm-template.json @@ -39,7 +39,7 @@ "metadata": { "description": "Location of the setup script" }, - "defaultValue": "https://raw.githubusercontent.com/microsoft/airsim/master/azure/azure-env-creation" + "defaultValue": "https://raw.githubusercontent.com/microsoft/airsim/main/azure/azure-env-creation" }, "ScriptFileName": { "type": "string", diff --git a/build.cmd b/build.cmd index d75ca2b419..a3c1f37cf5 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 4.27 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/master/docs/unreal_upgrade.md + echo https://github.com/Microsoft/AirSim/blob/main/docs/unreal_upgrade.md goto :buildfailed_nomsg ) diff --git a/docker/settings.json b/docker/settings.json index 8d64573241..25e4856dc3 100644 --- a/docker/settings.json +++ b/docker/settings.json @@ -1,5 +1,5 @@ { - "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings_json.md", + "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/main/docs/settings_json.md", "SettingsVersion": 1.2, "SimMode": "Multirotor", "ClockSpeed": 1.0, diff --git a/ros/src/airsim_tutorial_pkgs/scripts/multi_drone_json_creator.py b/ros/src/airsim_tutorial_pkgs/scripts/multi_drone_json_creator.py index 66ff981937..7a7dca6cb2 100644 --- a/ros/src/airsim_tutorial_pkgs/scripts/multi_drone_json_creator.py +++ b/ros/src/airsim_tutorial_pkgs/scripts/multi_drone_json_creator.py @@ -28,7 +28,7 @@ def __init__(self, sim_mode="Multirotor"): self.data = {} def add_minimal(self): - self.data["SeeDocsAt"] = "https://github.com/Microsoft/AirSim/blob/master/docs/settings.md" + self.data["SeeDocsAt"] = "https://github.com/Microsoft/AirSim/blob/main/docs/settings.md" self.data["SettingsVersion"] = 1.2 self.data["SimMode"] = self.sim_mode #"Multirotor" self.data["ClockSpeed"] = 1 diff --git a/ros/src/airsim_tutorial_pkgs/settings/car.json b/ros/src/airsim_tutorial_pkgs/settings/car.json index 5969b9dc96..c5efb8552b 100644 --- a/ros/src/airsim_tutorial_pkgs/settings/car.json +++ b/ros/src/airsim_tutorial_pkgs/settings/car.json @@ -1,5 +1,5 @@ { - "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings.md", + "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/main/docs/settings.md", "SettingsVersion": 1.2, "SimMode": "Car", "ViewMode": "SpringArmChase", diff --git a/ros/src/airsim_tutorial_pkgs/settings/front_stereo_and_center_mono.json b/ros/src/airsim_tutorial_pkgs/settings/front_stereo_and_center_mono.json index 5672ffa357..435d951848 100644 --- a/ros/src/airsim_tutorial_pkgs/settings/front_stereo_and_center_mono.json +++ b/ros/src/airsim_tutorial_pkgs/settings/front_stereo_and_center_mono.json @@ -1,5 +1,5 @@ { - "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings.md", + "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/main/docs/settings.md", "SettingsVersion": 1.2, "SimMode": "Multirotor", "ViewMode": "SpringArmChase", diff --git a/ros/src/airsim_tutorial_pkgs/settings/twenty_five_drones.json b/ros/src/airsim_tutorial_pkgs/settings/twenty_five_drones.json index 998f74a0fd..e4f45882ca 100644 --- a/ros/src/airsim_tutorial_pkgs/settings/twenty_five_drones.json +++ b/ros/src/airsim_tutorial_pkgs/settings/twenty_five_drones.json @@ -1,6 +1,6 @@ { "ClockSpeed": 1, - "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings.md", + "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/main/docs/settings.md", "SettingsVersion": 1.2, "SimMode": "Multirotor", "Vehicles": { diff --git a/ros/src/airsim_tutorial_pkgs/settings/two_drones_camera_lidar_imu.json b/ros/src/airsim_tutorial_pkgs/settings/two_drones_camera_lidar_imu.json index 8c48ab125c..7cb3fe1d95 100644 --- a/ros/src/airsim_tutorial_pkgs/settings/two_drones_camera_lidar_imu.json +++ b/ros/src/airsim_tutorial_pkgs/settings/two_drones_camera_lidar_imu.json @@ -1,6 +1,6 @@ { "ClockSpeed": 1, - "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings.md", + "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/main/docs/settings.md", "SettingsVersion": 1.2, "SimMode": "Multirotor", "Vehicles": { From c57d16be476bf636c7263071fbda5e9a2d6d694b Mon Sep 17 00:00:00 2001 From: Arjun Sharda <77706434+ArjunSharda@users.noreply.github.com> Date: Mon, 4 Jul 2022 09:51:43 -0500 Subject: [PATCH 05/15] Update test_windows.yml --- .github/workflows/test_windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_windows.yml b/.github/workflows/test_windows.yml index 659ecf47e9..80acfc2ca4 100644 --- a/.github/workflows/test_windows.yml +++ b/.github/workflows/test_windows.yml @@ -9,7 +9,7 @@ jobs: # Steps represent a sequence of tasks that will be executed as part of the job steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Enable Developer Command Prompt uses: ilammy/msvc-dev-cmd@v1 From fb1b198604733913b0c271b09008de0dd6c51752 Mon Sep 17 00:00:00 2001 From: Arjun Sharda <77706434+ArjunSharda@users.noreply.github.com> Date: Mon, 4 Jul 2022 09:51:53 -0500 Subject: [PATCH 06/15] Update test_macos.yml --- .github/workflows/test_macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_macos.yml b/.github/workflows/test_macos.yml index 147247b507..7259ebc9e8 100644 --- a/.github/workflows/test_macos.yml +++ b/.github/workflows/test_macos.yml @@ -12,7 +12,7 @@ jobs: # Steps represent a sequence of tasks that will be executed as part of the job steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup run: ./setup.sh From 026a22f286566e541437a3b6feaf31106083447d Mon Sep 17 00:00:00 2001 From: Arjun Sharda <77706434+ArjunSharda@users.noreply.github.com> Date: Mon, 4 Jul 2022 09:52:04 -0500 Subject: [PATCH 07/15] Update clang_format.yml --- .github/workflows/clang_format.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/clang_format.yml b/.github/workflows/clang_format.yml index c2dd6cddd9..c6b7e00211 100644 --- a/.github/workflows/clang_format.yml +++ b/.github/workflows/clang_format.yml @@ -5,7 +5,7 @@ jobs: name: Formatting Check runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Run clang-format style check for C/C++ programs. uses: jidicula/clang-format-action@v4.4.1 with: From a1eae1f8e41d57515cddf0298e2d0a38fcd0eedd Mon Sep 17 00:00:00 2001 From: Arjun Sharda <77706434+ArjunSharda@users.noreply.github.com> Date: Mon, 4 Jul 2022 09:52:19 -0500 Subject: [PATCH 08/15] Update test_ubuntu.yml --- .github/workflows/test_ubuntu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_ubuntu.yml b/.github/workflows/test_ubuntu.yml index 9a4348ca6b..446a9579f5 100644 --- a/.github/workflows/test_ubuntu.yml +++ b/.github/workflows/test_ubuntu.yml @@ -11,7 +11,7 @@ jobs: os: [ubuntu-18.04, ubuntu-20.04] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup run: ./setup.sh From 3b54aaa26195c7f09e8096d0e05cf444065cdc03 Mon Sep 17 00:00:00 2001 From: Arjun Sharda <77706434+ArjunSharda@users.noreply.github.com> Date: Mon, 4 Jul 2022 09:53:32 -0500 Subject: [PATCH 09/15] Update test_docs.yml --- .github/workflows/test_docs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_docs.yml b/.github/workflows/test_docs.yml index 354315126d..587740bf57 100644 --- a/.github/workflows/test_docs.yml +++ b/.github/workflows/test_docs.yml @@ -8,10 +8,10 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: '3.7' architecture: 'x64' From ef96be5b551b2b05053430a53a1faada3f247915 Mon Sep 17 00:00:00 2001 From: alonfaraj Date: Thu, 7 Jul 2022 14:06:31 +0300 Subject: [PATCH 10/15] Add ShowLosDebugLines to settings.md --- docs/settings.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/settings.md b/docs/settings.md index 85ee537bb5..9071e8813e 100644 --- a/docs/settings.md +++ b/docs/settings.md @@ -51,6 +51,7 @@ Below are complete list of settings available along with their default values. I "ApiServerPort": 41451, "RecordUIVisible": true, "LogMessagesVisible": true, + "ShowLosDebugLines": false, "ViewMode": "", "RpcEnabled": true, "EngineSound": true, From ebe26a689c3f0990546105cab276d2127002c792 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Sun, 17 Jul 2022 10:05:13 -0300 Subject: [PATCH 11/15] Fix clang format --- Unreal/Plugins/AirSim/Source/AirBlueprintLib.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Unreal/Plugins/AirSim/Source/AirBlueprintLib.cpp b/Unreal/Plugins/AirSim/Source/AirBlueprintLib.cpp index 62d78e0241..cc8dcb3112 100644 --- a/Unreal/Plugins/AirSim/Source/AirBlueprintLib.cpp +++ b/Unreal/Plugins/AirSim/Source/AirBlueprintLib.cpp @@ -76,14 +76,13 @@ void UAirBlueprintLib::setSimulatePhysics(AActor* actor, bool simulate_physics) bool UAirBlueprintLib::loadLevel(UObject* context, const FString& level_name) { - + bool success{ false }; // Get name of current level auto currMap = context->GetWorld()->GetMapName(); currMap.RemoveFromStart(context->GetWorld()->StreamingLevelsPrefix); // Only load new level if different from current level - if (!currMap.Equals(level_name)) - { + if (!currMap.Equals(level_name)) { FString LongPackageName; success = FPackageName::SearchForPackageOnDisk(level_name, &LongPackageName); if (success) { From 404c50d1a0adaa307729aa60394959f1cc8f68a9 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Sun, 17 Jul 2022 10:36:20 -0300 Subject: [PATCH 12/15] AirSim v1.8.1 --- PythonClient/airsim/__init__.py | 2 +- Unreal/Plugins/AirSim/AirSim.uplugin | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/PythonClient/airsim/__init__.py b/PythonClient/airsim/__init__.py index a11c8fe3d0..17f3acac11 100644 --- a/PythonClient/airsim/__init__.py +++ b/PythonClient/airsim/__init__.py @@ -2,4 +2,4 @@ from .utils import * from .types import * -__version__ = "1.7.0" +__version__ = "1.8.1" diff --git a/Unreal/Plugins/AirSim/AirSim.uplugin b/Unreal/Plugins/AirSim/AirSim.uplugin index 5505563443..8d0420b2b2 100644 --- a/Unreal/Plugins/AirSim/AirSim.uplugin +++ b/Unreal/Plugins/AirSim/AirSim.uplugin @@ -1,7 +1,7 @@ { "FileVersion" : 3, - "Version" : "1.7.0", - "VersionName": "1.7.0", + "Version" : "1.8.1", + "VersionName": "1.8.1", "FriendlyName": "AirSim", "Description": "AirSim - Autonomous Aerial Vehicles Simulator Plugin", "Category" : "Science", From b1713f4c4bba56b02637438795a3e27da0364108 Mon Sep 17 00:00:00 2001 From: Paul Stubbs Date: Mon, 18 Jul 2022 09:17:14 +0100 Subject: [PATCH 13/15] Update README.md Updated Readme with Microsoft Project AirSim announcement. --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index e6b45b0eda..15f9114a8f 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,9 @@ +## AirSim announcement: This repository will be archived in the coming year + +In 2017 Microsoft Research created AirSim as a simulation platform for AI research and experimentation. Over the span of five years, this research project has served its purpose—and gained a lot of ground—as a common way to share research code and test new ideas around aerial AI development and simulation. Additionally, time has yielded advancements in the way we apply technology to the real world, particularly through aerial mobility and autonomous systems. For example, drone delivery is no longer a sci-fi storyline—it’s a business reality, which means there are new needs to be met. We’ve learned a lot in the process, and we want to thank this community for your engagement along the way. + +In the spirit of forward momentum, we will be releasing a new simulation platform in the coming year and subsequently archiving the original 2017 AirSim. Users will still have access to the original AirSim code beyond that point, but no further updates will be made, effective immediately. Instead, we will focus our efforts on a new product, Microsoft Project AirSim, to meet the growing needs of the aerospace industry. Project AirSim will provide an end-to-end platform for safely developing and testing aerial autonomy through simulation. Users will benefit from the safety, code review, testing, advanced simulation, and AI capabilities that are uniquely available in a commercial product. As we get closer to the release of Project AirSim, there will be learning tools and features available to help you migrate to the new platform and to guide you through the product. To learn more about building aerial autonomy with the new Project AirSim, visit [https://aka.ms/exploreprojectairsim](https://aka.ms/exploreprojectairsim). + # Welcome to AirSim AirSim is a simulator for drones, cars and more, built on [Unreal Engine](https://www.unrealengine.com/) (we now also have an experimental [Unity](https://unity3d.com/) 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. From 6688d27d3712c2a9c824ababec7a2703475b6628 Mon Sep 17 00:00:00 2001 From: Paul Stubbs Date: Thu, 21 Jul 2022 07:16:09 +0100 Subject: [PATCH 14/15] Update README.md Updated link directly to main Project AirSim page. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 15f9114a8f..826a13a7f9 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ In 2017 Microsoft Research created AirSim as a simulation platform for AI research and experimentation. Over the span of five years, this research project has served its purpose—and gained a lot of ground—as a common way to share research code and test new ideas around aerial AI development and simulation. Additionally, time has yielded advancements in the way we apply technology to the real world, particularly through aerial mobility and autonomous systems. For example, drone delivery is no longer a sci-fi storyline—it’s a business reality, which means there are new needs to be met. We’ve learned a lot in the process, and we want to thank this community for your engagement along the way. -In the spirit of forward momentum, we will be releasing a new simulation platform in the coming year and subsequently archiving the original 2017 AirSim. Users will still have access to the original AirSim code beyond that point, but no further updates will be made, effective immediately. Instead, we will focus our efforts on a new product, Microsoft Project AirSim, to meet the growing needs of the aerospace industry. Project AirSim will provide an end-to-end platform for safely developing and testing aerial autonomy through simulation. Users will benefit from the safety, code review, testing, advanced simulation, and AI capabilities that are uniquely available in a commercial product. As we get closer to the release of Project AirSim, there will be learning tools and features available to help you migrate to the new platform and to guide you through the product. To learn more about building aerial autonomy with the new Project AirSim, visit [https://aka.ms/exploreprojectairsim](https://aka.ms/exploreprojectairsim). +In the spirit of forward momentum, we will be releasing a new simulation platform in the coming year and subsequently archiving the original 2017 AirSim. Users will still have access to the original AirSim code beyond that point, but no further updates will be made, effective immediately. Instead, we will focus our efforts on a new product, Microsoft Project AirSim, to meet the growing needs of the aerospace industry. Project AirSim will provide an end-to-end platform for safely developing and testing aerial autonomy through simulation. Users will benefit from the safety, code review, testing, advanced simulation, and AI capabilities that are uniquely available in a commercial product. As we get closer to the release of Project AirSim, there will be learning tools and features available to help you migrate to the new platform and to guide you through the product. To learn more about building aerial autonomy with the new Project AirSim, visit [https://aka.ms/projectairsim](https://aka.ms/projectairsim). # Welcome to AirSim From 2b8006ea74fd6d4c9821c4769ea379a754466f56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E0=B9=80=E0=B8=95=E0=B8=8A=E0=B8=AA=E0=B8=B4=E0=B8=97?= =?UTF-8?q?=E0=B8=98=E0=B9=8C=20=E0=B8=A5=E0=B9=89=E0=B8=A7=E0=B8=99?= =?UTF-8?q?=E0=B8=97=E0=B8=A3?= <79820254+Techasit232000@users.noreply.github.com> Date: Tue, 27 Aug 2024 08:56:43 +0700 Subject: [PATCH 15/15] Create Techasit.info&BlackBerry.Inc Techasit232000 --- Techasit.info&BlackBerry.Inc | 67 ++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 Techasit.info&BlackBerry.Inc diff --git a/Techasit.info&BlackBerry.Inc b/Techasit.info&BlackBerry.Inc new file mode 100644 index 0000000000..860ac76bd2 --- /dev/null +++ b/Techasit.info&BlackBerry.Inc @@ -0,0 +1,67 @@ +from web3 import Web3 +from eth_account import Account +import json +import os + +class CryptoWallet: + def __init__(self, private_key=None): + self.w3 = Web3(Web3.HTTPProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID')) + if private_key: + self.account = Account.from_key(private_key) + else: + self.account = Account.create() + + def get_address(self): + return self.account.address + + def get_balance(self): + return self.w3.eth.get_balance(self.get_address()) + + def send_transaction(self, to_address, value_in_ether, gas=21000, gas_price=None): + value = self.w3.to_wei(value_in_ether, 'ether') + if not gas_price: + gas_price = self.w3.eth.gas_price + + transaction = { + 'to': to_address, + 'value': value, + 'gas': gas, + 'gasPrice': gas_price, + 'nonce': self.w3.eth.getTransactionCount(self.get_address()), + 'chainId': 1 # Ethereum mainnet + } + + signed_tx = self.account.sign_transaction(transaction) + tx_hash = self.w3.eth.send_raw_transaction(signed_tx.rawTransaction) + return tx_hash.hex() + + def save_wallet(self, file_path): + wallet_data = { + 'address': self.get_address(), + 'private_key': self.account.key.hex() + } + with open(file_path, 'w') as f: + json.dump(wallet_data, f) + + @staticmethod + def load_wallet(file_path): + with open(file_path, 'r') as f: + wallet_data = json.load(f) + return CryptoWallet(private_key=wallet_data['private_key']) + +if __name__ == "__main__": + # Create a new wallet + wallet = CryptoWallet() + print("Wallet Address:", wallet.get_address()) + print("Wallet Balance:", Web3.from_wei(wallet.get_balance(), 'ether'), "ETH") + + # Send a transaction + # tx_hash = wallet.send_transaction('0xRecipientAddress', 0.01) + # print("Transaction Hash:", tx_hash) + + # Save wallet to a file + wallet.save_wallet('my_wallet.json') + + # Load wallet from a file + loaded_wallet = CryptoWallet.load_wallet('my_wallet.json') + print("Loaded Wallet Address:", loaded_wallet.get_address())