基于RO2 Humble平台配置32线禾赛雷达,需要遵循以下步骤:### 1. 确认硬件兼容性- **RO2 Humble平台**:确认你的RO2 Humble平台是否支持32线禾赛雷达。- **禾赛雷达型号**:确保你购买的禾赛雷达型号与RO2 Humb
摘要:博客地址:https:www.cnblogs.comzylyehuo 雷达型号:32线禾赛 IMU 型号:ALUBI lpms cu3 使用环境: RO2 humble 首先将雷达以及 IMU 都连接到电脑上 配置 32线禾赛雷达
博客地址:https://www.cnblogs.com/zylyehuo/
雷达型号:32线禾赛
IMU 型号:ALUBI lpms cu3
使用环境: RO2 humble
首先将雷达以及 IMU 都连接到电脑上
配置 32线禾赛雷达
查看雷达 IP 地址
安装辅助工具
sudo apt install wireshark-qt
启动辅助工具
sudo wireshark
记录下这个 IP 地址
在网页中访问雷达 IP 地址
为电脑配置 IP 地址
测试电脑能否 ping 通雷达
配置 ALUBI lpms cu3
为 IMU 的 USB 接口赋予权限
ls /dev/tty # 双击 Tab 键
sudo chmod 777 /dev/ttyUSB0
下载并编译驱动功能包
sudo apt install libpcap-dev libyaml-cpp-dev
sudo apt-get update
mkdir -p driver_ws/src
cd driver_ws/src
git clone --recurse-submodules https://github.com/HesaiTechnology/HesaiLidar_ROS_2.0.git
cd ..
colcon build --symlink-install
. install/local_setup.bash
cd driver_ws/src
git clone https://bitbucket.org/lpresearch/lpmsig1opensourcelib
cd lpmsig1opensourcelib/
mkdir build
cd build/
cmake ..
make
make package
sudo dpkg -i libLpmsIG1_OpenSource-0.3.3-Linux.deb
测试
测试 32线禾赛雷达
启动 launch 文件进行测试
source install/setup.bash
ros2 launch hesai_ros_driver start.py
测试 ALUBI lpms cu3
编译 linux 示例程序
cd /home/reallab/driver_ws/src/lpmsig1opensourcelib
cd linux_example/
mkdir build
cd build
cmake ..
make
sudo chmod 777 /dev/ttyUSB0
./LpmsIG1_SimpleExample /dev/ttyUSB0 921600
运行 ROS2 节点
添加 lpms_curs3_node.cpp
#include <string>
#include <thread>
#include <chrono>
#include "rclcpp/rclcpp.hpp"
#include "sensor_msgs/msg/imu.hpp"
#include "sensor_msgs/msg/magnetic_field.hpp"
#include "sensor_msgs/msg/nav_sat_fix.hpp"
#include "sensor_msgs/msg/nav_sat_status.hpp"
#include "std_srvs/srv/set_bool.hpp"
#include "std_srvs/srv/trigger.hpp"
#include "std_msgs/msg/bool.hpp"
#include "lpsensor/LpmsIG1I.h"
#include "lpsensor/SensorDataI.h"
#include "lpsensor/LpmsIG1Registers.h"
struct IG1Command
{
short command;
union Data {
uint32_t i[64];
float f[64];
unsigned char c[256];
} data;
int dataLength;
};
class LpIG1Proxy: public rclcpp::Node
{
public:
rclcpp::TimerBase::SharedPtr updateTimer;
// Publishe
