/Aslan

Open source self-driving software for low speed environments

Primary LanguagePythonApache License 2.0Apache-2.0

Project Aslan

An open-source full-stack software based on ROS framework, for self-driving applications. Targeting to facilitate the research in autonomous driving projects for low-speed applications in urban environments. This software comes with a built-in Gazebo based simulation, an end-to-end self-driving software and a user-friendly GUI to facilitate launching of the software.
Used for trials on real-world automated vehicles.

Features and Deployment support:

  • Graphics User Interface (GUI) with integrated ROS tools
  • Docker and Source Code installation
  • Multiple Sensors Drivers
  • IPG CarMaker simulation integration
  • High level supervisor node, monitoring the heath of the system and publishing diagnostics
  • Object Detection using LiDAR and Radar
  • Emergency stop reaction
  • Vehicle Interface acting as a bridge between ROS and the embedded vehicle controllers.
  • PID/Feedforward linear velocity feedback loop
  • Tunable yaw to steering percentage conversion map
  • Integrated Gazebo simulation model
  • 3 ways of simulation control: Aslan software, keyboard and joystick controllers
  • Normal Distribution Transform (NDT)* for localization and mapping
  • Voxel Grid and Ground Removal * point cloud filtering
  • Route planning using waypoints *
  • Path Planning based on A* Planner
  • Comprehensive documentation of the source code in the repo and inside the GUI
  • Online tutorials
  • Quick start resources: rosbag, point cloud map and waypoints csv

*Originally suggested at autoware.ai, tag: 1.10.0.
These packages have been configured and modified significantly to fit the requirements of Project ASLAN.

Complete Feature Log, available here

Recommended System

- Processor : Intel Core i7 or greater
- RAM size: 32G

Requirements

- Ubuntu 18.04 LTS
- Catkin Command Line Tools catkin_tools

Getting Started

The default branch of Project Aslan is the melodic branch for ROS melodic and Ubuntu 18.04. To use the kinetic version of the project with ROS kinetic and Ubuntu 16.04, checkout the kinetic branch.

Installation

1. Allow software updates

Search for Software & Updates and click on 'Other Software'.
Tick the boxes allowing software updates from 'canonical partners' and 'source code'.
Press reload and enter your sudo password

2. Install ROS Melodic Desktop Full

Follow the instructions here

3. Clone the Project ASLAN repository with submodules

git clone --recurse-submodules https://github.com/project-aslan/Aslan.git

# if you haven't initialized and updated the submodules with --recurse-submodules when cloning, do:
cd Aslan/
git submodule update --init --recursive

4. Install additional dependencies

cd Aslan
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

5. Initialise your catkin workspace

catkin init

6. Build your workspace

From the root of your catkin workspace, run

catkin_make

If you have previously built your workspace with catkin build: Either clean your workspace with catkin clean and rebuild with catkin_make

Running the software

To start the Project ASLAN GUI, simply execute the bash script:

./run

IPG CarMaker integration

Aslan (melodic version) has been modified to work with the CarMaker simulation. More information and instructions on how to run Aslan with CarMaker can be found here: https://github.com/IPG-Automotive-UK/Aslan-CarMaker. The vehicles in CarMaker can be controlled from the Aslan stack by following the tutorials below.

Contributing

Please take a moment to review the Contribution Guidelines in order to make the contribution process easy and effective. The issue tracker is the preferred channel for bug reports, feature requests and when working on new features implementation.

Additional Resources

Project Aslan Dockerhub: projaslan/aslan

Project Aslan Website: www.project-aslan.org

Quick Start Resources: rosbag, point cloud map and waypoints csv

Online Tutorials: Youtube Channel

Disclaimer

A dedicated, trained and attentive safety driver must always be present in the driver's seat at all times and in all environments, monitoring the vehicle.
THIS SOFTWARE IS FOR RESEARCH PURPOSES ONLY. YOU ARE RESPONSIBLE FOR COMPLYING WITH LOCAL LAWS AND REGULATIONS. NO WARRANTY EXPRESSED OR IMPLIED. ACCESS TO AND USE OF THIS SOFTWARE IS AT YOUR OWN RISK AND RESPONSIBILITY.

Project Aslan has been inspired by and was built on top of the Autoware Foundation’s open-source projects. In particular, a number of fundamental technologies have been adopted from Autoware.AI. With StreetDrone’s customisations for its electric vehicle and integration with other third-party drivers, Project Aslan immensely benefits from the Autoware’s projects and the Autoware Foundation members’ contributions.

License

Aslan Software is licensed under Apache 2 License