and refactored all modules in cpp.
Build with:
Tested on OS: Ubuntu 18.04; PX4(for simulation only) 1.8.0.
step<1> Check your network status
wget www.google.com
step<2> tools
(optional) install cuda 10.2 for all gpu-based algorithms, like icp_lidar_localization and the gpu version of ndt_localization.
You may need to upgrade cmake to at least 3.13 for building package icp_lidar_localization.
sudo apt install vim bwm-ng htop tmux git net-tools cmake-gui iotop curl
step<3> docker(for simulation only)
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
sudo usermod -aG docker [your username]
docker pull gaas/mavros-gazebo7-px4
step<4> ros_melodic
./install_ros_melodic.sh
step<5> opencv 3.4.5
sudo apt install cmake-qt-gui
[Download opencv 3.4.5 and unzip]
cd opencv-3.4.5/
mkdir build&&cd build&&cmake-gui ..
[Configure your opencv cmake options in cmake-gui]
make -j4&&sudo make install
step<6> glog
git clone https://github.com/google/glog.git
cd glog
git checkout -b v0.4.0
mkdir build&&cd build
cmake ..
make
sudo make install
step<7> pcl 1.8.0 build from source
[Download pcl 1.8.0 and unzip]
cd pcl-1.8.0
mkdir build&&cd build&&cmake-gui ..
[Configure your pcl cmake options in cmake-gui]
make -j4
sudo make install
step<8> (optional) upgrade your gazebo for simulation
cd GAAS/simulation
./upgrade_gazebo.sh
Getting Started
To build the project, setup all dependencies, run:
./build_all.sh
To run GAAS_contrib algorithms:
cd algorithms
./run_gaas_contrib_algorithms.sh
Start simulation (or play a rosbag instead):
cd simulation&&./scripts/prepare_simulation.sh
or:
rosbag play --clock [path_to_your_rosbag]
And checkout your L5 flying car demo in simulation environment!
License
GAAS is under BSD 3-Clause License.
Features
Simulation env with 32 lines lidar and stereo cameras.
Spinning lidar mapping and NDT matching localization.
Check out simulation/README.md to get more details of simulation env setup.
Roadmap:
1. Gazebo simulation env construction, including spinning lidars and non-repetitive lidars and stereo cameras.
(1). Livox Horizon + Forward Stereo Camera --Done.
(2). Velodyne HDL-32 + Forward Stereo Camera --Done.
2. Accelerate compiling and deployment of GAAS.
3. Implement some LIDAR (mechanical/solid-state) based algorithms, and implement one key start in the simulation environment.
Checklist:
(1). Lidar Points to Image Projection-- Done.
(2). Euclidean Cluster Extraction. --Done.
(3). Global Coordinate based HD-Map Building. --Done.
(4). NDT Lidar Localization(CPU/Cuda) --Done.
(5). Downsampling Node --Done.
(6). A* Path Planner --Done.
(7). Refactored px4 Offboard Commander --Done.
(8). Dynamic Obstacles Generation and Replanning --Done.
(9). Jetson AGX Xavier Adaptation --Done.
(10). Interactive GUI Target Selector in HD-maps --Done.
(11). Multiple Submaps Switching --TODO
(12). IMU-Preintegration and High-Frequency Localization --Done.
(13). VTOL Mode Switching --TODO.
(14). Decentralized Robust Ground Control Station --TODO.
(15). Generalized Flight Controller State Management --Done.
(16). PX4 State Reporter --Done.
(17). HUD Module --Done.
(18). Cuda-based Multiple Lidar Pointclouds ICP Localization --Done.
(19). Ground Points Removal Preprocessing --Done.
(20). System State Surveillance Service --Done.
(21). HTTP Server on Ground Control Station --TODO.
(22). Multiple Spinning Lidar Support --Done.
(23). Airsim Simulation Env Support --Done.
Current status:
Adding logics for flight stage manager module. Including flight stage transfer service clients(triggered by mission config file) and servers(including localization module, flight control commander module and target navigation module.) |