generalchan825 / livox_autoware_driver

Livox lidar driver for Autoware

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Livox Autoware Driver

livox_autoware_driver is modified on the basis of livox_ros_driver and adapts to the Autoware self-driving software. It allows users to start livox lidar or livox hub directly through Autoware runtime manager and can automatically synchronize multiple lidars when connecting livox hub.

Developer: Livox

Installation

To install livox_autoware_driver, we strongly recommend using Docker Method. Otherwise, you can install it from source by following the Source Method.
NOTE: Docker Method has higher stability, because different system environments may cause the Source Method to fail.

1. Install from Docker

  • For docker installation, please consult Docker's installation website.

  • Download livox_autoware_driver:

    mkdir ~/livox_autoware_ws && cd ~/livox_autoware_ws
    git clone https://github.com/Livox-SDK/livox_autoware_driver.git
    
  • Build the Docker Image:

    NOTE: If you need nvidia cuda surpport, please set 'FROM' command in Dockerfile to:
    FROM autoware/autoware:latest-melodic-cuda
    And set the CUDA="off" option in run_livox.sh to:
    CUDA="on"

    cd ~/livox_autoware_ws/livox_autoware_driver/
    docker build -t autoware/livox:latest .
    

2. Install from Source

  • Installing Autoware from source by following the source build instructions.
  • Download livox_autoware_driver:
    cd /YOUR_AUTOWARE_LOCATE_PATH/src/drivers/awf_drivers/
    git clone https://github.com/Livox-SDK/livox_autoware_driver.git
    
  • Rewrite autoware runtime manager files:
    cd /YOUR_AUTOWARE_LOCATE_PATH/src/drivers/awf_drivers/livox_autoware_driver
    cp -f scripts/* /YOUR_AUTOWARE_LOCATE_PATH/src/autoware/utilities/runtime_manager/scripts/
    
  • Rebuild autoware source files following the instructions. For example, for 1.12.0 and Newer:
    With CUDA support
    AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
    
    Without CUDA Support
    colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
    

Run

1. Set Localizer

  • Start the autoware runtime manager.
    For Docker Installation Method:

    cd ~/livox_autoware_ws/livox_autoware_driver/
    sudo chmod +x run_livox.sh
    ./run_livox.sh
    roslaunch runtime_manager runtime_manager.launch
    

    For Source Installation Method:

    cd /YOUR_AUTOWARE_LOCATE_PATH/
    source install/setup.bash
    roslaunch runtime_manager runtime_manager.launch
    
  • Set Localizer name to Livox :

2. Start Livox Lidar

  • Config livox lidar pointcloud format as described in livox_ros_driver . You can select different formats by clicking [ config ] after the 'Livox Lidar':

  • Select 'Livox Lidar' in Sensing/LIDARs to start livox_autoware_driver, as shown below:

  • To check whether livox_autoware_driver startes correctly, you can open a terminal and check the topic type of '/points_raw'. The output type should be the same as the format you selected. Such as:

    $ rostopic type /points_raw
    sensor_msgs/PointCloud2
    

    or

    $ rostopic type /points_raw
    livox_ros_driver/CustomMsg
    

3. Start Livox Hub

  • Set the number and extrinsic parameters of lidars inserted into the livox hub by clicking [ config ] after the 'Livox Hub':

    NOTE:

    1. The number of 'lidars' must be set equal to the number of lidars inserted into the livox hub.
    2. Multiple lidars must be inserted into hub slots in the order of 1, 2, 3..., and the slot number cannot be interrupted.
    3. If 'extrinsic' is not set, the extrinsic parameter of each lidar will be set to 'Identity' by default.
    4. An extrinsic config file should in the same format as livox_autoware_driver/livox_ros_driver/config/extrinsic.csv: the first row represents the parameter of the lidar inserted into the first hub slot and is arranged in the format of "roll, pitch, yaw, x, y, z,". The other rows are the same as the first row.
  • Select 'Livox Hub' in Sensing/LIDARs to start livox_autoware_driver, as shown below:

  • To check whether livox_autoware_driver startes correctly, you can open a terminal and check the topic type of '/points_raw'. The output type should be 'sensor_msgs/PointCloud2'. Such as:

    $ rostopic type /points_raw
    sensor_msgs/PointCloud2
    

Support

You can get support from Livox with the following methods :

  • Send email to dev@livoxtech.com with a clear description of your problem and your setup
  • Report issue on github

About

Livox lidar driver for Autoware

License:Other


Languages

Language:C++ 81.7%Language:Python 14.8%Language:C 2.1%Language:CMake 0.9%Language:Shell 0.4%Language:Dockerfile 0.1%