Gazebo is a popular ROS tool, which is used for simulation. It’s powerful to simulate some scenarios and even sensors (Camera, Lidar, etc.), however all the scenarios are from simulation not real env. It’s hard to cover all the corner cases.
Rviz is another powerful ROS tool, which is used for visualization, not provide other special features(Concept Validation, Collision Verification, etc.). Meaning while, Pangolin provide almost same feature which is ROS-Free.
The project(ASK) aims to develop a ROS-free tool for SW solution validation and Algo reliability verification, which can be used in multi-domain, e.g. Robot, ADAS, APA, AVP, etc. The project can't be used standalone, it need a front-end which injects signal to ASK. As to the front-end, let's discuss in another repo.
1. Not provide simulator function, all the data & signal from real scenarios(On-line, Data/Signal playback, etc. )
2. Not provide Algo solution, but help to verify Algo Accuracy & Precision with multi-method, e.g. Position Monitor, Collision Detection, Visualization and also support Report generation. The major features as the following.
- 3D Free View
- Manipulate via keyboard & mouse
- Activate or deactivate Object manually(support, but not suggest)
- Object filter
- Support multi-coordinate system(Global coordinate, Sensor based Local coordinate, DIN7K, UV, frenet, etc.)
- visualize the following info, but not limit to
- Object type
- Object info(Pos, Name, velocity, heading, etc.)
- object contour
- Historical trajectory for Ego & dynamic object
- Path/Trajectory plan for Ego
- Ego motion state
- Etc.
- Perception Precision assessment
Note: The Ground truth(Labeled, Lidar, etc.) is necessary
- Gloal/Local Path Plan Validation via Collision Detection
- Trajectory Plan Verification
- Motion (PID/MPC) Deviation Assessment
- Object Position drift monitoring after optimization (Filter/Post-process, etc.)
- To be continue
- System status Report
- Provide Report analyze tool/script
- ROS-Free
- Cross OS(Linux, Android, Win)
Note: Mac & RTOS can support in theory, but need some more efforts, not plan yet.
- Provide static/dynamic/Bin format, easy to integrate into any project.
- Most calculations are done within GPU(OpenGL), much efficient
- Support multi-sensor result.
- Support multi-Ground format, labeled, Lidar, etc.
- API
- Socket(Mqtt)
- protocbuf
- OSG == 3.4.0
- protocbuf == 2.0
- spdlog & glog
Install requirement
- protobuf(Optional): sudo apt-get install protobuf
- glog(Optional): sudo apt-get install glog
- a-style(Optional):sudo apt-get install astyle
- OSG(Mandatory): sudo apt-get install opensencegraph
Compile:
- Generate Protobuf file: make generate_protobuf_target
- Compile lib & Demo:
- mkdir build
- cmake -DUSE_PUBLIC_CODE=ON ..
- make -j8
- coding style check: make astyle_check
Run Example:
- APA_Demo: ./Examples/APA_Demo
- ADA_Demo: ./Examples/ADAS_Demo
- Robot_AGV_Demo: todo
TODO
- Licensed under the GNU General Public License v3.0
- Vehicle motion mode(Ackermann, DifferentialDrive, etc.)
- GUI Optimize
- anti-aliasing
- new Object type support
- add texture for 3D model
- Report generation
- etc.
- Author: Mo Bo
- Mail: mobojingjiniao@126.com
- Wechat:wxid_8626566265912
- Contributors: xxx
Note: Plz contact me if interested with the project, any kinds of contributions and devotions are welcome, thanks.