Awesome
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
- 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
- Vehicle Models visualization and parameters description
- On-vehicle software testing and evaluation as well as parameters configuration
- 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 16.04 LTS
- ROS Kinetic ros-kinetic-desktop-full
- Catkin Command Line Tools catkin_tools
Getting Started
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 Kinetic Desktop Full
For more information please visit here
Setup your computer to accept software from packages.ros.org.
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
Setup your keys
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
Update debian package index
sudo apt-get update
Install ROS Kinetic Desktop Full
sudo apt-get install ros-kinetic-desktop-full
Set up your environment
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
Install additional tools
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential python-catkin-tools
Initialise rosdep
sudo rosdep init
rosdep update
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
<p float="center">
<img src="docs/img1.png" width="310" />
<img src="docs/img2.png" width="310" />
<img src="docs/img3.png" width="310" />
</p>
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