diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index ab90c14ab..ed85477fd 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -12,8 +12,8 @@ PlayerSettings: targetDevice: 2 useOnDemandResources: 0 accelerometerFrequency: 60 - companyName: TIERIV - productName: AWSIM + companyName: AWF + productName: AWSIM Labs defaultCursor: {fileID: 0} cursorHotspot: {x: 0, y: 0} m_SplashScreenBackgroundColor: {r: 0, g: 0, b: 0, a: 1} @@ -141,7 +141,7 @@ PlayerSettings: loadStoreDebugModeEnabled: 0 visionOSBundleVersion: 1.0 tvOSBundleVersion: 1.0 - bundleVersion: 1.2.0 + bundleVersion: 1.0.0-beta preloadedAssets: [] metroInputSource: 0 wsaTransparentSwapchain: 0 @@ -163,7 +163,7 @@ PlayerSettings: androidSupportedAspectRatio: 1 androidMaxAspectRatio: 2.1 applicationIdentifier: - Standalone: com.TIERIV.AWSIM + Standalone: com.AWF.AWSIM-Labs buildNumber: Standalone: 0 VisionOS: 0 diff --git a/README.md b/README.md index 4b7a442c9..579b6d3d6 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,19 @@ This is a fork of [TIER IV's AWSIM](https://github.com/tier4/AWSIM). - Multiple scene and vehicle setup - Interactable simulation and UI +### Feature differences from the TIER IV/AWSIM + +| Features | AWSIM 1.2.1 | AWSIM Labs 1.0.0-beta | +|-------------------------------------------|------------------|-----------------------| +| Rendering Pipeline | HDRP | URP | +| Unity Version | Unity 2021.1.7f1 | Unity LTS 2022.3.21f1 | +| Resource usage | Heavy | Light | +| Can reset vehicle position on runtime | ❌ | ✅ | +| Multiple scene and vehicle setup | ❌ | ✅ | +| Multi-lidars are enabled by default | ❌ | ✅ | +| CI for build | ❌ | ✅ | +| CI for documentation generation within PR | ❌ | ✅ | + ## Tutorial First, try the tutorial! diff --git a/docs/GettingStarted/QuickStartDemo/index.md b/docs/GettingStarted/QuickStartDemo/index.md index 26d300a9e..64fdb65d3 100644 --- a/docs/GettingStarted/QuickStartDemo/index.md +++ b/docs/GettingStarted/QuickStartDemo/index.md @@ -3,56 +3,93 @@ Below you can find instructions on how to setup the self-driving demo of AWSIM simulation controlled by Autoware. The instruction assumes using the Ubuntu OS. -![](Image_top.png) - ### Demo configuration The simulation provided in the AWSIM demo is configured as follows: -|AWSIM Demo Settings|| -|:--|:--| -|Vehicle|Lexus RX 450h| -|Environment|Japan Tokyo Nishishinjuku| -|Sensors|Gnss * 1
IMU * 1
LiDAR * 1
Traffic camera * 1| -|Traffic|Randomized traffic| -|ROS2|humble| +| AWSIM Demo Settings | | +|:--------------------|:-------------------------------------------| +| Vehicle | Lexus RX 450h | +| Environment | Japan Tokyo Nishishinjuku | +| Sensors | GNSS
IMU
3 x VLP16
Traffic Light Camera | +| Traffic | Randomized traffic | +| ROS2 | humble | ### PC specs Please make sure that your machine meets the following requirements in order to run the simulation correctly: -|Required PC Specs|| -|:--|:--| -|OS|Ubuntu 22.04| -|CPU|6cores and 12thread or higher| -|GPU|RTX2080Ti or higher| -|Nvidia Driver (Windows)|>=472.50| -|Nvidia Driver (Ubuntu 22)|>=515.43.04| +| Required PC Specs | | +|:--------------------------|:-------------------| +| OS | Ubuntu 22.04 | +| CPU | 6c12t or higher | +| GPU | RTX 2080 or higher | +| Nvidia Driver (Ubuntu 22) | >=545 | + +### DDS configuration -### Localhost settings +In order to run AWSIM Labs with the best performance and without hogging the network, please follow the steps below. -The simulation is based on the appropriate network setting, which allows for trouble-free communication of the AWSIM simulation with the Autoware software. -To apply required localhost settings please add the following lines to `~/.bashrc` file: +Add the following lines to `~/.bashrc` file: ``` bash if [ ! -e /tmp/cycloneDDS_configured ]; then sudo sysctl -w net.core.rmem_max=2147483647 + sudo sysctl -w net.ipv4.ipfrag_time=3 + sudo sysctl -w net.ipv4.ipfrag_high_thresh=134217728 # (128 MB) sudo ip link set lo multicast on touch /tmp/cycloneDDS_configured fi ``` -and these lines to `~/.profile` **or in either of files:** `~/.bash_profile` *or* `~/.bash_login`: +Every time you restart this machine, and open a new terminal, the above commands will be executed. + +Until you restart the machine, they will not be executed again. + +#### CycloneDDS configuration + +Save the following as `cyclonedds.xml` in your home directory `~`: +```xml + + + + + + + + default + 65500B + + + + + 500kB + + + + + +``` + +Make sure the following lines are added to the `~/.bashrc` file: ``` bash -export ROS_LOCALHOST_ONLY=1 export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp +export CYCLONEDDS_URI=/home/your_username/cyclonedds.xml ``` +Replace `your_username` with your actual username. + +!!! note + You should use the absolute path to the `cyclonedds.xml` file. + !!! warning A system restart is required for these changes to work. +!!! warning + **DO NOT** set `export ROS_LOCALHOST_ONLY=1`. CycloneDDS configuration will be enough. + ## Start the demo ### Running the AWSIM demo @@ -60,6 +97,7 @@ export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp To run the simulator, please follow the steps below. 1. Install Nvidia GPU driver (Skip if already installed). + 1. Add Nvidia driver to apt repository ``` sudo add-apt-repository ppa:graphics-drivers/ppa @@ -68,12 +106,10 @@ To run the simulator, please follow the steps below. 2. Install the recommended version of the driver. ``` sudo ubuntu-drivers autoinstall - ``` - - !!! warning - - Currently, there are cases where the Nvidia driver version is too high, resulting in Segmentation fault. In that case, please lower the Nvidia driver version (525 is recommended.) + # or install a specific version (following was tested) + sudo apt install nvidia-driver-550 + ``` 3. Reboot your machine to make the installed driver detected by the system. ``` sudo reboot @@ -81,30 +117,22 @@ To run the simulator, please follow the steps below. 4. Open terminal and check if `nvidia-smi` command is available and outputs summary similar to the one presented below. ``` $ nvidia-smi - Fri Oct 14 01:41:05 2022 - +-----------------------------------------------------------------------------+ - | NVIDIA-SMI 515.65.01 Driver Version: 515.65.01 CUDA Version: 11.7 | - |-------------------------------+----------------------+----------------------+ - | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | - | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | - | | | MIG M. | - |===============================+======================+======================| - | 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A | - | 37% 31C P8 30W / 250W | 188MiB / 11264MiB | 3% Default | - | | | N/A | - +-------------------------------+----------------------+----------------------+ - - +-----------------------------------------------------------------------------+ - | Processes: | - | GPU GI CI PID Type Process name GPU Memory | - | ID ID Usage | - |=============================================================================| - | 0 N/A N/A 1151 G /usr/lib/xorg/Xorg 133MiB | - | 0 N/A N/A 1470 G /usr/bin/gnome-shell 45MiB | - +-----------------------------------------------------------------------------+ + +-----------------------------------------------------------------------------------------+ + | NVIDIA-SMI 550.54.15 Driver Version: 550.54.15 CUDA Version: 12.4 | + |-----------------------------------------+------------------------+----------------------+ + | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | + | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | + | | | MIG M. | + |=========================================+========================+======================| + | 0 NVIDIA GeForce RTX 3080 Off | 00000000:2D:00.0 On | N/A | + | 30% 40C P8 35W / 320W | 5299MiB / 10240MiB | 7% Default | + | | | N/A | + +-----------------------------------------+------------------------+----------------------+ + ... ``` 2. Install Vulkan Graphics Library (Skip if already installed). + 1. Update the environment. ``` sudo apt update @@ -116,32 +144,30 @@ To run the simulator, please follow the steps below. 3. Download and Run AWSIM Demo binary. - 1. Download `AWSIM_v1.2.0.zip`. - We don't have a release yet. Please follow the Setup Guide to build the AWSIM binary. - [Download AWSIM Demo for ubuntu](){.md-button .md-button--primary} + 1. Download the latest release from: + + [AWSIM Labs GitHub Releases Page](https://github.com/autowarefoundation/AWSIM/releases){.md-button .md-button--primary} 2. Unzip the downloaded file. - 3. Make the `AWSIM_v1.2.0.x86_64` file executable. + 3. Make the file executable. - Right click the `AWSIM_v1.2.0.x86_64` file and check the `Execute` checkbox + Right click the `awsim_labs.x86_64` file and check the `Execute` checkbox ![](Image_1.png) or execute the command below. ``` - chmod +x /AWSIM_v1.2.0.x86_64 + chmod +x /awsim_labs.x86_64 ``` - 4. Launch `AWSIM_v1.2.0.x86_64`. + 4. Launch `awsim_labs.x86_64`. ``` - .//AWSIM_v1.2.0.x86_64 + .//awsim_labs.x86_64 ``` - !!! warning - - It may take some time for the application to start the so please wait until image similar to the one presented below is visible in your application window. + It may take some time for the application to start the so please wait until image similar to the one presented below is visible in your application window. ![](Image_0.png) @@ -150,7 +176,6 @@ To run the simulator, please follow the steps below. In order to configure and run the Autoware software with the AWSIM demo, please: 1. Download `map files (pcd, osm)` and unzip them. - [Download Map files (pcd, osm)](https://drive.google.com/drive/folders/15D5s2m3A7_wtCPio8ewRy0wL_xQtmqss){.md-button .md-button--primary} 2. Clone [Autoware](https://github.com/autowarefoundation/autoware) and move to the directory. @@ -158,9 +183,9 @@ In order to configure and run the Autoware software with the AWSIM demo, please: git clone https://github.com/autowarefoundation/autoware.git cd autoware ``` -3. Switch branch to `awsim-stable`. *NOTE: The latest `main` branch is for [ROS 2 humble](https://docs.ros.org/en/rolling/Releases/Release-Humble-Hawksbill.html).* +3. Switch branch to `main`. ``` -git checkout awsim-stable +git checkout main ``` 4. Configure the environment. (Skip if Autoware environment has been configured before) ``` @@ -173,27 +198,27 @@ vcs import src < autoware.repos ``` 6. Install dependent ROS packages. ``` - source /opt/ros/humble/setup.bash rosdep update rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO ``` 7. Build the workspace. ``` -colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-w" +colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ``` 8. Launch Autoware. - - !!! warning - - `` must be changed arbitrarily. When specifying the path the `~` operator cannot be used - please specify absolute full path. ``` source install/setup.bash -ros2 launch autoware_launch e2e_simulator.launch.xml vehicle_model:=sample_vehicle sensor_model:=awsim_sensor_kit map_path:= +ros2 launch autoware_launch e2e_simulator.launch.xml vehicle_model:=sample_vehicle sensor_model:=awsim_labs_sensor_kit map_path:= + +# Use the absolute path for the map folder, don't use the ~ operator. + +# Example: +ros2 launch autoware_launch e2e_simulator.launch.xml vehicle_model:=sample_vehicle sensor_model:=awsim_labs_sensor_kit map_path:=/home/your_username/autoware_map/nishishinjuku_autoware_map ``` ![](Image_2.png) -## Let's run the self-Driving simulation +## Let's run the self driving simulation 1. Launch AWSIM and Autoware according to the steps described earlier in this document. ![](Image_top.png) @@ -212,7 +237,7 @@ The generated path can be seen on the image below. 5. Enable self-driving. -To make the vehicle start navigating please engage it's operation using the command below. +To make the vehicle start navigating please engage its operation using the command below. ``` cd autoware diff --git a/docs/GettingStarted/SetupUnityProject/index.md b/docs/GettingStarted/SetupUnityProject/index.md index f3df8c032..10711eddf 100644 --- a/docs/GettingStarted/SetupUnityProject/index.md +++ b/docs/GettingStarted/SetupUnityProject/index.md @@ -16,26 +16,7 @@ This page is a tutorial for setting up a AWSIM Unity project. 2. Prepare a desktop PC with Ubuntu 22.04 installed. 2. Install [Nvidia drivers and Vulkan Graphics API](../QuickStartDemo/#running-the-awsim-simulation-demo). 3. Install [git](https://git-scm.com/). - 4. Set the ROS 2 middleware and the localhost only mode in `~/.profile` (or, in `~/.bash_profile` or `~/bash_login` if either of those exists) file: - ``` bash - export ROS_LOCALHOST_ONLY=1 - export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp - ``` - - !!! warning - A system restart is required for these changes to work. - - 4. Set the system optimizations by adding this code to the very bottom of your `~/.bashrc` file: - ``` bash - if [ ! -e /tmp/cycloneDDS_configured ]; then - sudo sysctl -w net.core.rmem_max=2147483647 - sudo ip link set lo multicast on - touch /tmp/cycloneDDS_configured - fi - ``` - - !!! info - As a result, each time you run the terminal (`bash` prompt), your OS will be configured for the best ROS 2 performance. Make sure you open your terminal at least one before running any instance of AWSIM (or Editor running the AWSIM). + 4. Follow [the DDS configuration guide](../QuickStartDemo/index.md#dds-configuration). === "Windows" 1. Make sure your machine meets the [required hardware specifications](../QuickStartDemo/#pc-specs). @@ -66,13 +47,13 @@ AWSIM comes with a *standalone* flavor of [`Ros2ForUnity`](../../Components/ROS2 !!! info - AWSIM's Unity version is currently **2021.1.7f1** + AWSIM's Unity version is currently **2022.3.21f1** Follow the steps below to install Unity on your machine: 1. Install UnityHub to manage Unity projects. Please go to [Unity download page](https://unity3d.com/get-unity/download) and download latest `UnityHub.AppImage`. ![](image_1.png) -2. Install Unity 2021.1.7f1 via UnityHub. +2. Install Unity 2022.3.21f1 via UnityHub. - Open new terminal, navigate to directory where `UnityHub.AppImage` is download and execute the following command: ``` ./UnityHub.AppImage @@ -86,7 +67,7 @@ Follow the steps below to install Unity on your machine: === "Ubuntu 22" - *NOTE: If the installation process has not started after clicking the green button (image above), please copy the hyperlink (by rightclicking the button and selecting `Copy link address`) and add it as a argument for Unity Hub app. An example command: ``` - ./UnityHub.AppImage unityhub://2021.1.7f1/d91830b65d9b + ./UnityHub.AppImage unityhub://2022.3.21f1/d91830b65d9b ``` - After successful installation the version will be available under the `Installs` tab in Unity Hub. @@ -133,7 +114,7 @@ To open the Unity AWSIM project in Unity Editor: 2. If your Unity Editor is in default location, run the project using the editor command. ``` - ~/Unity/Hub/Editor/2021.1.7f1/Editor/Unity -projectPath . + ~/Unity/Hub/Editor/2022.3.21f1/Editor/Unity -projectPath . ``` !!! info @@ -156,7 +137,7 @@ To properly run and use AWSIM project in Unity it is required to download map pa [Download Map Package](https://drive.google.com/drive/folders/1Q6PolpCIwiVRdPNMjSBAQ5t2TcCoY-KZ){.md-button .md-button--primary} -2. In Unity Editor, from the menu bar at the top, select `Assets -> Import Package -> Custom Package...` and navigate the `Nishishinjuku_urp.unitypackage` file. +2. In Unity Editor, from the menu bar at the top, select `Assets -> Import Package -> Custom Package...` and navigate the `Nishishinjuku_URP.unitypackage` file. ![](image_10.png) ![](image_11.png) 3. `Nishishinjuku` package has been successfully imported under `Assets/AWSIM/Externals/`directory. diff --git a/docs/index.md b/docs/index.md index 7978b4504..6aa29032e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -18,15 +18,18 @@ This is a fork of [TIER IV's AWSIM](https://github.com/tier4/AWSIM). - Made with [Unity](https://unity.com/) -### Feature differences from the main AWSIM - -| AWSIM | AWSIM Labs | -|--------------------------------------------|----------------------------------| -| Using HDRP | Using URP | -| Using Unity 2021.1.7f1 | Using Unity LTS 2022.3.21f1 | -| Limited interaction with simulation and UI | Interactable simulation and UI | -| Uses more resources | Uses less resources | -| - | Multiple scene and vehicle setup | +### Feature differences from the TIER IV/AWSIM + +| Features | AWSIM 1.2.1 | AWSIM Labs 1.0.0-beta | +|-------------------------------------------|------------------|-----------------------| +| Rendering Pipeline | HDRP | URP | +| Unity Version | Unity 2021.1.7f1 | Unity LTS 2022.3.21f1 | +| Resource usage | Heavy | Light | +| Can reset vehicle position on runtime | ❌ | ✅ | +| Multiple scene and vehicle setup | ❌ | ✅ | +| Multi-lidars are enabled by default | ❌ | ✅ | +| CI for build | ❌ | ✅ | +| CI for documentation generation within PR | ❌ | ✅ | ## Try the simulation demo yourself! We don't have a release yet. Please build it from the source. diff --git a/mkdocs.yml b/mkdocs.yml index 44489fab7..60f974401 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -8,12 +8,12 @@ theme: name: material features: - navigation.expand - - navigation.indexes - navigation.instant - navigation.sections - navigation.tabs.sticky - navigation.top - navigation.footer + - navigation.path - content.tabs.link icon: logo: fontawesome/solid/car @@ -71,7 +71,7 @@ markdown_extensions: - md_in_html - mdx_math - mdx_truly_sane_lists: - nested_indent: 2 + nested_indent: 4 - plantuml_markdown: server: http://www.plantuml.com/plantuml format: svg