Code Monkey home page Code Monkey logo

testware's Introduction

autoware TestWare

WARNING: This repository is provided solely for simulation research purposes. It should not be used to drive cars.

TestWare is a minimally invasive fork of the Autoware Architecture Proposal (AWAP), from commit. AWAP is a prototype system targeted at SAE Level 4 autonomous driving capabilities. We provide and OpenAI Gym like interface for interacting with the AWAP implementation using the CARLA simulator.

Utilities for CARLA Integration

Sensors: We include utilities which read the sensor configuation and instantiate the specified sensors and transforms on the CARLA ego vehicle. In addition we provide methods for converting the measurements of these sensors to ROS messages and publishing the serialized data to Autoware in a synchronous manner (along with a clock which accurately reflects the state of CARLA's physics engine). See /testware/utils/CarlaUtils.py for the implementation of sensor instantiation features and /testware/utils/AutowareUtils.py for measurement publishing.

Control: We use the vehicle model to predict the yaw rate and slip angle of the ego vehicle such that Autoware control inputs can be applied as velocity and angular velocity commands. See /testware/utils/vehicle_model.py for an implementation of the dynamic bicycle model from "The Science of Vehicle Dynamics (2014), M. Guiggiani". Additionally, /testware/testware.py and /testware/utils/CarlaUtils.py contain methods for stepping the simulator and computing the control inputs.

Resets: We enable resetting the AWAP stack and initilizing the pose and goal pose after the conclusion of each rollout. See /trustware/trustware.py for details and /demo/demo.py for an example. In addition we provide /rosutils/simple_planning_simulator_core.cpp to handle the rest on the AWAP side.

Synchronous Execution: We provide a clock signal to ROS which matches the passage of time in CARLA, and ensure lockstep execution of sensor observations, then planning and control functions. See /demo/demo.py for an example.

Launch Files and Maps: We include a sample map and scenario as well as launch files to start AWAP ros nodes. See /rosutils/carla_simultor.launch for details and related files.

Modifications to the Autoware Architecture Proposal Source

We have made minimal changes to the AWAP source code, all changes are contained in /testware/rosutils. Note that the files contained in this folder are copied into the /testware/AutowareArchitectureProposal directory structure when the Docker image is built.

Dependencies

We have tested the code on Ubuntu 16.04, 18.04, and 20.04 machines. Some features of the Autoware Architecture Proposal (and thus TestWare) require CUDA; therefore, we are skeptical that it will be possible to use OSX or Windows machines, even with Docker. We do not provide any support for non-Ubuntu operating systems.

Docker

Install Docker for Ubuntu. Make sure to sudo usermod -aG docker your-user and then you do not need to run below docker scripts as sudo. You will need to make sure that you have Docker version 19 or greater.

CARLA

Get CARLA from https://github.com/carla-simulator/carla/releases. We have validated TestWare with CARLA releases 0.9.10.1. Note that for 0.9.9.x and above, visuals and weather look best using Vulkan instead of OpenGL when running CARLA.

NVIDIA and CUDA

You need an NVIDIA graphics card with driver version 440 or greater. You will need a card with at least 4 GB of memory to support running CARLA and Autoware perception components simultaneously.

Setup

  1. Run ./build_docker.sh

Running the demo

  1. Start CARLA on port 2010.

    An example of this command would be DISPLAY= ./CarlaUE4.sh -opengl -quality-level=Epic -carla-world-port=2010 from a directory that contains the binary CarlaUE4.sh

  2. Run ./run_docker.sh

  3. Run source /AutowareArchitectureProposal/devel/setup.bash inside the docker

  4. Run python demo.py inside the docker

Licensing

TestWare is released under the Apache License 2.0. Some parts of the software are released under other licenses as specified.

Any user of this software shall indemnify and hold harmless Trustworthy AI, Inc. and its directors, officers, employees, agents, stockholders, affiliates, subcontractors and customers from and against all allegations, claims, actions, suits, demands, damages, liabilities, obligations, losses, settlements, judgments, costs and expenses (including without limitation attorneys’ fees and costs) which arise out of, relate to or result from any use of this software by user.

THIS IS ALPHA QUALITY SOFTWARE FOR RESEARCH PURPOSES ONLY. THIS IS NOT A PRODUCT. YOU ARE RESPONSIBLE FOR COMPLYING WITH LOCAL LAWS AND REGULATIONS. NO WARRANTY EXPRESSED OR IMPLIED.


testware's People

Contributors

travelbureau avatar amansinha avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.