DLL (direct lidar positioning) compilation and running process record

文章:DLL: Direct LIDAR Localization. A map-based localization approach for aerial robots

Code: https://github.com/robotics-upo/dll

GitHub - robotics-upo/dll: DLL: Direct Lidar Localization

Download and install DLL

Download on the GitHub website and manually unzip and copy the files to the ros workspace, or use git to download directly in the ros workspace directory. For the installation process, refer to the readme:

## Compilation
Download this source code into the src folder of your catkin worksapce:
```
$ cd catkin_ws/src
$ git clone https://github.com/robotics-upo/dll
```
Compile the project:
```
$ cd catkin_ws

$ catkin_make
$ source devel/setup.bash
```

 concrete place,

Download the file first,

cd catkin_ws/src
git clone https://github.com/robotics-upo/dll

 Then in the workspace folder catkin_ws

catkin_make
source devel/setup.bash

Because v1.1 compiled an error, I manually downloaded the v1.0 version.

Run the dataset

Take running the catec1.launch file as an example

Download bag file

on the website

Index of /datasets/dll

Download the required bag file catec1.bag

Modify .launch file

Use vim or gedit to open catec1.launch and modify it

  # Bag file
  <node name="bag_player" type="play" pkg="rosbag" args="catec1.bag -s 0 -r 1.0 --clock " />

.bag in is the actual absolute path.

Run the .launch file

roslaunch dll catec1.launch 

When I actually ran it, I ran the .launch file for the first time. If I couldn't find the .grid file, I calculated it on the spot. But there is no response after calculation. Close the program and run the .launch file for the second time, and the normal positioning effect appears.

Effect

Topic-node graph

see

Error calculation

The true value is in the bag file, and the actual running result source program has not been exported, so the error cannot be calculated for the time being.

Problems encountered

Grid map is computationally intensive

The first time the program is run, it will look for the grid map file. If it is not found, it will be calculated based on the bt map.

For example, after running airsim1.launch, the terminal displays

Error opening file /root/catkin_ws/src/dll-1.0/maps/airsim.grid for reading
Computing 3D occupancy grid. This will take some time...
[ INFO] [1701532139.043183956, 1614448804.536408717]: Progress: 0.000000 %
[ INFO] [1701532139.540530941, 1614448805.040892427]: Progress: 0.024994 %

.grid cannot be found, needs to be calculated and takes some time.

It actually takes a lot of time.

Instead, use catec1.launch. After calculation, the catec.bt of 1.1MB is calculated to be 232.8MB of catec.grid. It is conceivable that the 10.0MB airsim.bt will take longer to calculate.

Error calculation

The true value of the demonstration program is in the bag file, and the actual running result source program is not exported. The error calculation is very difficult. You need to manually obtain these two values ​​​​and then use the error analysis tool to calculate.

Guess you like

Origin blog.csdn.net/weixin_56337147/article/details/134719376