驱动安装
安装依赖
sudo apt-get install libpugixml-dev libbluetooth-dev
下载并安装LpSensor库
找到下载页面2https://lp-research.atlassian.net/wiki/spaces/LKB/pages/1135312908/LPMS+Programming+Libraries中最新版本的库(截止到2023.04.12),这里下载的是
Deprecated Libraries
中的1.3.5
版本的LpSensor-1.3.5-Linux-x86-64.tar.gz
。
下载并解压之后按以下步骤进行安装:
sudo dpkg -i LpSensor-1.3.5-Linux-x86-64/liblpsensor-1.3.5-Linux.deb
IMU驱动安装
参考IMU官网驱动安装流程,链接:https://www.alubi.cn/support/download 下载openzen中的rosdrive,根据readme文件安装,要求g++ version 7.0和cmake version 3.10
首先建立一个工作空间openzen_ws/src
mkdir -p openzen_ws/src
进入工作空间,通过git获取安装包
cd openzen_ws/src
git clone --recurse-submodules https://bitbucket.org/lpresearch/openzenros.git
在工作空间下编译
cd ..
catkin_make
可视化IMU数据
IMU通过USB 和电脑连接,给串口权限
sudo chmod 777 /dev/ttyUSB0
在新的命令行窗口运行roscore后,在工作空间下运行驱动
source devel/setup.bash
rosrun openzen_sensor openzen_sensor_node
发布的话题节点为/imu/data,通过以下命令查看话题消息
rostopic echo /imu/data
结果如图
同时可以启动rviz
打开rviz,添加IMU部分和Axes部分
在imu部分加入topic为/imu/data,
但是你很可能会遇到这样的error:for frame [xxx]: Fixed Frame [map] does not exist
这是因为在“Global Options”中的“Fixed Frame”设置为“map”,这是因为世界坐标定义成map,单独运行sensor 节点不会生成世界坐标,而传感器坐标imu找不到世界坐标,就定位不了自身的位置,从而报错。
那如何结局这个问题呢?只需要将"Fixed Frame"后面的map修改为 for frame [xxx]: Fixed Frame [map] does not exist 报错信息中括号中的 xxx,就可以了。
因此这里修改为IMU
这样就可以看到IMU三轴可视化了