1. Configurar dados lidar
Link de referência Ubuntu18.04 Instale o driver mais recente do Sagitar Juchuang RSLidar_SDK para coletar dados da nuvem de pontos laser no formato XYZIRT - SLAM não é um problema pequeno
Há também instruções para baixar o arquivo do driver
Passo 1: Baixe o rslidar_sdk e salve-o no catkin_ws/src
caminho workspace para
download Endereço: https://github.com/RoboSense-LiDAR/rslidar_sdk/releases/download/v1.3.0/rslidar_sdk.tar.gz
Baixe o arquivo rslidar_sdk.tar.gz no círculo vermelho, pois o conteúdo deste arquivo está completo, não é necessário Para baixar o código do submódulo rs_driver, faça o download do pacote compactado rslidar_sdk.tar.gz, não baixe o código fonte. Os usuários também precisam baixar o código do rs_driver e colocá-lo nele.
Segundo pano : adicione dependência
1.Yaml (obrigatório)
sudo apt-get update
sudo apt-get install -y libyaml-cpp-dev
2.Pcap (obrigatório)
sudo apt-get install -y libpcap-dev
3.Protobuf (opcional)
// 下载 protoBuf:
$ git clone https://github.com/protocolbuffers/protobuf.git
// 安装依赖库
$ sudo apt-get install autoconf automake libtool curl make g++ unzip libffi-dev -y
// 进入目录
$ cd protobuf/
// 自动生成configure配置文件:
$ ./autogen.sh
// 配置环境:
$ ./configure
// 编译源代码(要有耐心!):
$ make
// 安装
$ sudo make install
// 刷新共享库 (很重要的一步啊)
$ sudo ldconfig
// 成功后需要使用命令测试
$ protoc -h
Se não estiver instalado, abra o arquivo CMakeLists.txt e modifique-o, remova ou comente o código usando Protobuf e adicione um sinal # antes de cada linha
#Protobuf#
find_package(Protobuf QUIET)
find_program(PROTOC protoc)
if(NOT PROTOC MATCHES "NOTFOUND" AND Protobuf_FOUND)
message(=============================================================)
message("-- Protobuf Found, Protobuf Support is turned On!")
message(=============================================================)
add_definitions(-DPROTO_FOUND)
include_directories(${
PROTOBUF_INCLUDE_DIRS})
SET(PROTO_FILE_PATH ${
PROJECT_SOURCE_DIR}/src/msg/proto_msg)
file(GLOB PROTOBUF_FILELIST ${
PROTO_FILE_PATH}/*.proto)
foreach(proto_file ${PROTOBUF_FILELIST})
message(STATUS "COMPILING ${proto_file} USING ${PROTOBUF_PROTOC_EXECUTABLE}")
execute_process(COMMAND ${PROTOBUF_PROTOC_EXECUTABLE}
--proto_path=${PROTO_FILE_PATH}
--cpp_out=${PROTO_FILE_PATH}
${proto_file})
endforeach()
else(NOT PROTOC MATCHES "NOTFOUND" AND Protobuf_FOUND)
message(=============================================================)
message("-- Protobuf Not Found, Protobuf Support is turned Off!")
message(=============================================================)
endif(NOT PROTOC MATCHES "NOTFOUND" AND Protobuf_FOUND)
Etapa 3 : configurar parâmetros
1. Abra o arquivo CMakeLists.txt no projeto e modifique o conteúdo a seguir
set(COMPILE_METHOD ORIGINAL)改为set(COMPILE_METHOD CATKIN)。
set(POINT_TYPE XYZI)改为set(POINT_TYPE XYZIRT) #相较于XYZI,XYZIRT还有时间戳,能满足Fast-lio2时间补偿需求
2. Renomeie o arquivo package_ros1.xml no diretório do projeto rslidar_sdk para package.xml.
3. Modifique os parâmetros de config.yaml.
Consulte o caminho do pacote do driver de download rslidar_sdk/doc/intro/parameter_intro_cn.md.
Há apenas um arquivo de parâmetro config.yaml neste projeto, que está armazenado na pasta rslidar_sdk/config . Abra este arquivo e encontre as seguintes seções:
lidar:
- driver:
//此处修改激光雷达型号
lidar_type: RS128 #LiDAR type - RS16, RS32, RSBP, RS128, RS128_40, RS80, RSM1, RSHELIOS
frame_id: /rslidar
msop_port: 6699
difop_port: 7788
Altere RS128 para RSHELIOS, correspondendo ao seu próprio modelo de sensor
msg_source: 1 #1: packet message comes from online Lidar
O número é 1, que não precisa ser alterado, indicando que o teste lidar está conectado online.
Etapa 4: compilar, testar e publicar dados
catkin_make
source devel/setup.bash
Execute o comando para exibir a nuvem de pontos do formato original
do Sagitar roslaunch start.launch
Etapa 5: Converter dados do radar Sagitar para o formato de nuvem
de pontos do radar Velodyne Baixe o pacote de funções de formato de dados de conversão
https://github.com/HViktorTsoi/rs_to_velodyne.git
também coloque no catkin_ws/src
caminho e adicione a pasta de lançamento no caminho catkin_ws/src/rs_to_velodyne/, na pasta de lançamento, adicione o arquivo velodyne.launch, o conteúdo é o seguinte
<launch>
<node pkg="rs_to_velodyne" name="rs_to_velodyne" type="rs_to_velodyne" args="XYZIRT XYZIRT" output="screen">
</node>
</launch>
Muitos parâmetros de configuração do blog args="XYZIRT"
estão incorretos e o código-fonte requer dois parâmetros. Caso contrário, um erro é relatado e o programa é encerrado
2. Configure os dados da IMU
instalação do xsensIMU
https://blog.csdn.net/cxz932652580/article/details/109961710
3. Desenho
Usando o Helios de 32 linhas do Sagitar Radar e o algoritmo fast-LIO2 para construir um mapa (3)