GitXplorerGitXplorer
a

autoware-launch-gui

public
22 stars
3 forks
3 issues

Commits

List of commits on branch main.
Unverified
06f2912d22bc5c0008bd6e07dff902f9f3262355

Add tauri-plugin-single-instance crate and update tauri dependencies

KKhalilSelyan committed 6 months ago
Verified
7cfd5a725eea95026770cf8d622b8a3c9ac1cf0f

Merge pull request #11 from NUSRI-P22/patch-2

KKhalilSelyan committed 6 months ago
Verified
670f481e8ce2c1c61c113ea90ac0a5d87bf91946

Merge pull request #20 from autowarefoundation/feat/better-logs

KKhalilSelyan committed 6 months ago
Unverified
3afb54dad7ffc38c7b9b06a9dc51a63a49cc6c38

refactor + use virtualizer for better performance and now can take up to 10k lines of logs before dropping 1k

KKhalilSelyan committed 6 months ago
Unverified
4410231568dfd941614692ec46ff713579ac08fd

Fix file validation logic in Launch component

KKhalilSelyan committed 6 months ago
Unverified
11d3fb686aaca127573764a9ad21ed4d75b9f5d2

Add @tanstack/react-virtual package

KKhalilSelyan committed 6 months ago

README

The README file for this repository.

Autoware Launch GUI

Autoware Launch GUI is a Tauri / NextJS application designed to simplify the process of Launching Autoware Processes. Instead of relying on command prompts, users can now utilize a user-friendly graphical interface.

Table of Contents

Features

Autoware Launch GUI offers a range of features to enhance your experience with Autoware:

  • Launch Autoware with Custom Parameters: Easily launch Autoware processes with parameters tailored to your needs.
  • Real-Time Monitoring: View current CPU/Memory usage and Autoware logs in real-time, with search and highlighting capabilities (INFO, WARN, DEBUG, ERROR, by component).
  • Profile Management: Save and load your most-used Autoware launch profiles for quick access.
  • Configurations and Calibration: Edit config params YAML files and launch calibration tools with custom parameters.
  • Bag File Management: Play, record, and view information of bag files (.db3, .mcap) with custom parameters.
  • Topic Management: View topic list, topic types, and topic echo output.
  • Remote Operation: Use SSH to launch Autoware on a remote machine with custom parameters.

Dependencies

To run the .deb file directly you will need to first check if these dependencies are installed.

sudo apt install libwebkit2gtk-4.1-0 libjavascriptcoregtk-4.1-0 libsoup-3.0-0 libsoup-3.0-common

To develop the Autoware Launch GUI, you'll need to have both Rust and Node.js installed on your system.

Installing Rust

  1. To install Rust, run the following command:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs/ | sh
  2. Follow the on-screen instructions to complete the installation.

  3. Once installed, you can verify your Rust installation with:

    rustc --version

    rustc 1.72.0 (5680fa18f 2023-08-23) is the one i'm currently on while developping this.

Installing Node.js

  1. You can download and install Node.js (LTS Version) from the official website.

  2. Alternatively, if you're using a package manager like apt for Ubuntu/Debian, you can install Node.js with:

    • For Ubuntu/Debian:

      sudo apt-get update
      sudo apt-get install npm
      sudo npm install -g n
      sudo n stable
  3. Verify your Node.js installation with:

    node --version

    v16.20.0 is the one i'm currently on while developping this.

  4. It's also recommended to install pnpm as it's not included:

    npm install -g pnpm

Once Rust and Node.js are set up, you can proceed with the Installation steps mentioned above.

Installation

Using the .deb File

For most users, the easiest way to get started is by downloading and installing the provided .deb file. It can be found on the releases for this repo at this link Releases

  • After downloading the .deb file, navigate to the file in your terminal and run:

    sudo apt install ./autoware-launch-gui_{version}_amd64.deb

    Replace {version} with the version of the .deb file you downloaded.

  • Once installed, you can launch the Autoware Launch GUI from your applications menu or by running in your terminal(this is preferred as it will show you the logs in case of any errors):

    autoware-launch-gui

For Developers

If you're interested in developing additional features or want to run the project from source:

  1. Clone the repository:

    git clone https://github.com/leo-drive/autoware-launch-gui.git
  2. Navigate to the project directory:

    cd autoware-launch-gui
  3. Install the required packages:

    pnpm i
  4. Run the development version of the app:

    pnpm tauri dev

Usage

For a comprehensive guide on how to use the Autoware Launch GUI, please refer to our demo video. In essence, the process involves:

Demo Video

Autoware Launch GUI Demo

  1. Launching the app.

  2. Setting the path to the Autoware folder.

  3. Selecting the desired launch file located in the src/launcher/autoware_launch/autoware_launch/launch folder.

  4. Adding the necessary parameters, and any extra parameters you'd like to include in your launch command.

  5. Launch Autoware

  6. Separately, you can also edit config param yaml files located in the src/launcher/autoware_launch/autoware_launch/config folder.

Work in Progress (WIP)

  • [x] Launch Autoware with Custom Parameters depending on the selected launch file
  • [x] Kill Autoware Processes
  • [x] Edit Config Params YAML Files
  • [x] View Current CPU/Memory Usage
  • [x] Save and Load Most used Autoware Launch Profiles
  • [x] View Autoware Logs in Real Time with ability to search with highliting (INFO, WARN, DEBUG, ERROR, by component)
  • [x] Launch Calibration Tools with Custom Parameters
  • [x] Play bag files (.db3, .mcap) with custom parameters(flags)
  • [x] See bag file info
  • [x] Record bag files (.db3, .mcap) with custom parameters(flags)
  • [x] View Topic List and Topic Types
  • [x] View Topic Echo Output
  • [x] Save and Load most used Profiles with your autoware directories and launch files...
  • [x] use SSH to launch autoware on a remote machine with custom parameters
  • [x] Topic Publishing with custom flags
  • [x] Service Call with rate flag
  • [x] Autostart GUI on boot (through settings page)
  • [x] Add more workspaces to source for functionalities in the app (through settings page)
  • [x] Change the theme of the app (through settings page)
  • [x] Tray Icon to minimize the app to the tray, launch/kill autoware and kill the app
  • [x] CLI command to launch autoware faster on app launch (autoware-launch-gui -s or --start-autoware)
  • [x] CLI command to open the app in hidden mode (autoware-launch-gui --hidden)
  • [x] CLI command to see description or version of the app (autoware-launch-gui -v --version or -h --help)

Contributing

We welcome contributions from the community! If you're interested in enhancing the Autoware Launch GUI, please follow the installation instructions for developers and feel free to submit pull requests.

Author

Khalil Selyan - Creator and maintainer of Autoware Launch GUI.

License

This project is licensed under the MIT License. See the LICENSE file for details.

FAQs and Troubleshooting

For common questions and troubleshooting tips, please open an issue on the Issues page.