如何在 Ubuntu 上配置 ROS和LPMS IMU传感器

2023-05-16

最近在ROS上测试 LMPS IMU 传感器,在此了一下配置过程。

自己的配置环境:Ubuntu16.04、ROS-kinetic、LMPS-URS2

一、硬件准备

需要的硬件设备:

LPMS-URS2(IMU传感器)、Micro-USB线(供电线+数据线)、(也可以用 RS232来做 数据线,只有launch文件里面的配置不同,其他都一样,下文会提到)
在这里插入图片描述

在这里插入图片描述

二、Ubuntu测试

1.安装依赖

sudo apt-get install libpugixml-dev libbluetooth-dev

2.下载并安装LpSensor库

(这个库必须装,不装这个库会报错 Lp_LIBRARY 未设置)

2.1 下载LpSensor库

  • 下载方式1:
    到下载页面1中最新版本的库(截止到2020.08.15),这里下载的是Deprecated Libraries中的1.3.5版本的LpSensor-1.3.5-Linux-x86-64.tar.gz

在这里插入图片描述

  • 下载方式2:
    或者找到下载页面2中最新版本的库(截止到2023.04.12),这里下载的是Deprecated Libraries中的1.3.5版本的LpSensor-1.3.5-Linux-x86-64.tar.gz
    在这里插入图片描述
    在这里插入图片描述

2.2 安装LpSensor库

下载并解压之后按以下步骤进行安装:

tar zxvf ~/Downloads/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

2.创建一个workspace,并且下载ros库

mkdir -p ~/sensordriver_ws/src 
cd ~/sensordriver_ws/src 
git clone https://github.com/larics/timesync.git
git clone https://github.com/larics/lpms_imu.git
cd ~/sensordriver_ws
catkin_make

3.新建launch文件,准备测试

新建luanch文件,注意选择传感器类型,针对LPMS-URS2 ,如果是USB通信选择 DEVICE_LPMS_U2 ,如果是串口通信选择 DEVICE_LPMS_RS232。这里选择 USB通信,也就是选择 DEVICE_LPMS_U2 。

mkdir -p ~/sensordriver_ws/src/lmps_imu/launch
vim lpms_medk.launch

输入如下内容:

<launch>
  <node pkg="lpms_imu" type="lpms_imu_node" name="lpms_medk" output="screen" >
    <param name="sensor_model" value="DEVICE_LPMS_U2" />  <!-- DEVICE_LPMS_U2: USB传输数据 ; DEVICE_LPMS_RS232: RS232传输数据 -->
    <param name="port" value="/dev/ttyUSB0" />	<!-- 设备对应的端口号 -->
    <param name="frame_id" value="base_imu_link" />
    <param name="rate" value="200" />
  </node>
</launch>

4.开始测试

打开终端,启动 LPMS IMU传感器驱动:

cd ~/sensordriver_ws
source ~/sensordriver_ws/devel/setup.bash
roslaunch lpms_imu  lpms_medk.launch

如果终端提示 权限不足:

/dev/ttyUSB0: Permission denied[LpmsSensor] Connection error 0: None [LpmsSensor] Connecting to /dev/ttyUSB0

那么就需要给串口 /dev/ttyUSB0 赋予执行权限,在终端执行 sudo chmod 777 /dev/ttyUSB0
然后再次执行 launch 文件。

另外打开一个终端,查看IMU数据变化曲线:

rosrun rqt_plot rqt_plot

然后在打开的页面添加对应的topic,转动IMU传感器,就可以看到曲线的变化了~~

在这里插入图片描述

三、可能遇到的问题

  1. Lp_LIBRARY 未设置

未安装LpSensor库,**这个库必须装,不装这个库会报错 Lp_LIBRARY 未设置 **

解决方法:
到下载页面中最新版本的库,目前为止最新版本是1.3.5。下载并解压。
在这里插入图片描述

下载并解压之后按以下步骤进行安装:

tar zxvf ~/Downloads/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
  1. 运行roslaunch lpms_imu lpms_medk.launch 终端提示 串口权限不足:
/dev/ttyUSB0: Permission denied[LpmsSensor] Connection error 0: None [LpmsSensor] Connecting to /dev/ttyUSB0

那么就需要给串口 /dev/ttyUSB0 赋予执行权限,在终端执行

sudo chmod 777 /dev/ttyUSB0

然后再次执行 launch 文件。

roslaunch lpms_imu  lpms_medk.launch

参考链接

[1] 在Ubuntu Linux系统上启动ROS和LPMS传感器

http://www.alubi.cn/%e5%9c%a8ubuntu-linux%e7%b3%bb%e7%bb%9f%e4%b8%8a%e5%90%af%e5%8a%a8ros%e5%92%8clpms%e4%bc%a0%e6%84%9f%e5%99%a8/

[2] ROS与传感器教程-LPMS IMU传感器使用 https://www.ncnynl.com/archives/201911/3471.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ubuntu 上配置 ROS和LPMS IMU传感器 的相关文章

  • Java--信号量

    信号量 信号量 xff08 英语 xff1a Semaphore xff09 又称为信号量 旗语 xff0c 是一个同步对象 xff0c 用于保持在0至指定最大值之间的一个计数值 在系统中 xff0c 给予每一个进程一个信号量 xff0c
  • C++ 继承学习心得

    单继承 xff1a 一个子类只有一个直接父类时 xff0c 称这个继承关系为单继承 多继承 xff1a 一个子类中有两个或以上直接父类时 xff0c 称这个继承关系为多继承 菱形继承 是一种特殊的继承关系 菱形继承的问题 xff1a 有数据
  • 你的代码放在 GitHub 上,真的安全吗?

    受俄乌冲突的影响 xff0c GitHub 目前正在考虑限制俄罗斯开发人员访问开源代码存储库的可能性 无独有偶 xff0c 早在 2019 年 xff0c GitHub 就曾经因为美国出台贸易制裁国家名单 xff0c 对名单上的国家 地区的
  • ROS进阶学习(一至八)讲

    https blog csdn net weixin 40641902 article list 1 转载自weixin 40641902的博客
  • 如何将Docker升级到最新版本

    CentOS7如何将Docker升级到最新版 如果我们docker的版本比较低的话 xff0c 要怎么才能更新自己docker的版本呢 xff1f 下面是具体的方法 1 查找主机上关于Docker的软件包 rpm qa grep docke
  • 编译Robust Stereo Visual Inertial Odometry for Fast Autonomous Flight

    宾夕法尼亚大学kumar实验室2018年发布 Robust Stereo Visual Inertial Odometry for Fast Autonomous Flight xff0c 基于MSCKF基础上实现双目视觉惯导里程计 刚好这
  • 公网k8s集群搭建史上超详细的教程!!!

    一 背景 xff1a 1 实验背景 x1f9ea 在学习k8s搭建中 xff0c 网上大部分教程都是用虚拟机做单机集群 xff0c 只有极少数是使用服务器搭建教程 xff1b 但是用云服务器搭建的教程中教程版本都比较老 随着时间的推移 xf
  • 【repo/git小技巧】repo sync时报错“The remote end hung up unexpectedly”解决办法

    像往常一样使用repo init gt repo sync 的形式进行代码仓库下载 xff0c 但每次下载repo sync都不能执行成功 xff0c 问题为 The remote end hung up unexpectedly xff0
  • 在 React 中实现记忆以提高性能小技巧

    React 如何渲染 UI 在详细了解 React 中的 memoization 之前 xff0c 让我们先看看 React 如何使用虚拟 DOM 呈现 UI 常规 DOM 基本上包含一组表示为树的节点 DOM 中的每个节点都是 UI 元素
  • 《Linux内核设计与实现》读书总结

    Linux内核设计与实现 进程管理 进程 xff1a 处于执行器的程序 xff0c 包含代码段 xff0c 打开的文件 xff0c 信号 xff0c 内核内部数据 xff0c 内存地址空间 xff0c 多个线程 xff0c 存放全局变量的数
  • python无报错但是主函数没有执行

    python无报错但是主函数没有执行 是不是遇到过python没有报错 xff0c 但是主函数没有执行 xff0c 完全没有结果的情况 遇到这种情况很有可能就是你没有添加if name 61 61 main 这个东西 xff0c 或者格式不
  • 2018.2.2PHPstrom破解版

    作者 xff1a 聽 雨 来源 xff1a CSDN 原文 xff1a https blog csdn net qq 39439751 article details 82758330 版权声明 xff1a 本文为博主原创文章 xff0c
  • python3中 print不加括号报错!

    python 3和python 2的print是有区别 xff0c python3需要加括号 xff0c 但python2不需要 span class token operator gt gt span span class token o
  • leetcode 772 基本计算器3 双栈解析表达式 单调栈

    此题是比较难的一个题 xff0c 不能简单的用递归来做 假设我们已经能把数字分离出来 xff0c 并且解决了其他无关细节 此时我们要考虑 xff0c 如何处理括号和运算优先级 此题最强的一点是 xff0c 当你看到一个符号时 xff0c 你
  • 自然场景OCR检测(YOLOv3+CRNN)

    自然场景OCR检测 YOLOv3 43 CRNN xff08 中文 43 英文模型 xff09 前言 最近对于自然场景下的OCR比较有兴趣 xff0c 所以总结了一些目前OCR现状 xff0c 并且找了一个自然场景OCR的项目练练手 本人新
  • Tx2刷机及安装Jetpack4.5教程

    描述 xff1a 由于项目需要在工控机上运行目标检测程序 xff0c 所需配置需要包括Cuda OpenCV等软件配置 目前Nvidia已经将cuda opencv等相关用于图像处理 深度学习 计算机视觉所需的软件及文件集成到Jetpack
  • ROS gazebo 模型加载报错

    我的ros装的是ros kinetic desktop full版本 xff0c 所以不用另装gazebo 但是用命令 roscore rosrun gazebo ros gazebo 启动后 xff0c 出现如下错误 xff1a Erro
  • excel对比两边数据去重

    需求 筛选重复数据 xff0c A列是1000条数据 xff0c C列是100条数据 xff0c 删除重复的数据 xff0c 只剩900条 首先 xff0c A列数据要分列 xff0c 因为数据格式不一样 xff0c 会导致后面的问题 xf
  • GVIM的配置/使用

    关于GVIM的配置 使用 以我个人喜好配置 配置文件在用户目录下的 vimrc里 配置完后 xff0c 保存并bash一下即可 一 配置 xff1a 根据自己的喜好配置了一点点 colorscheme darkblue span class
  • 小白科研笔记:简析PointRCNN的基于Bin的误差机制

    1 前言 PointRCNN是一篇做3D目标检测的CVPR2019的文章 目前位居KITTI目标检测榜首的是PV RCNN 这个算法的前身就是PointRCNN 它们的作者都是同一个人 考虑到PV RCNN算法有些复杂 xff0c 于是我想

随机推荐

  • ROS基础:获取全局与局部launch Parameter

    在launch 参数配置中 xff0c 分为有全局参数和局部参数 私有参数 xff0c 两者参数的获取是不同的 xff0c 参数示例如下 xff1a lt launch gt lt 全局参数 gt lt param name 61 34 p
  • Redis分布式锁系列

    1 压力测试出的内存泄漏及解决 xff08 可跳过 xff09 使用jmeter对查询产品分类列表接口进行压力测试 xff0c 出现了堆外内存溢出异常 我们设置的虚拟机堆内存100m xff0c 并不是堆外内存100m 产生堆外内存溢出 x
  • java核心技术卷1基础知识整理

    java核心技术卷1基础知识整理 1 java概述2 java程序设计3 对象与类4 继承5 接口 lambda 表达式与内部类6 并发 1 java概述 1 Java 剔除了 C 43 43 中许多很少使用 难以理解 易混淆的特性 xff
  • 【论文笔记】—目标姿态估计—EPro-PnP—2022-CVPR

    论文介绍 该论文被评为 CVPR 2022 最佳学生论文 将PnP位姿优化问题转变为预测位姿概率密度的问题 对于一个基于PnP的物体位姿估计网络 xff0c 可以通过反向传播位姿的概率密度从而学习物体的2D 3D关联 xff0c 实现稳定的
  • STM32 HAL库串口回调函数配置失效(HAL_UART_RxCpltCallback)

    小编实际操作中 xff0c 用HAL UART RxCpltCallback函数配置接收串口数据 xff0c 在测试过程中用手碰了单片机引脚之后无法再接收到数据 xff0c 终于找到了解决办法 xff0c 就是自己使能接收中断和自己定义中断
  • PADS2.4版本,软件打开无法操作问题记录

    小编将pads2 4软件打开后 xff0c 放大和缩小不能使用 xff0c 查找相关资料后汇总方法 xff0c 如果有侵权请联系 xff0c 谢谢 xff0c 解决方法如下 xff1a 方法1 xff1a 设置微软键盘兼容性 xff08 小
  • 学习记录《Simulink 快速入门 —— 官方Help文档》

    Simulink 快速入门 官方Help文档 1 Simulink 模块图2 创建简单模型2 1 打开新模型2 2 打开 Simulink库浏览器2 2 1将模块添加到模型2 2 2 连接模块2 2 3 添加信号查看器2 2 4 运行仿真2
  • 深度学习中的优化问题(Optimization)

    文章目录 1 优化中的挑战1 1 优化问题1 2 挑战1 3 解决方法 2 优化算法2 1 优化算法的分类2 1 1 批量大小的选择2 1 2 学习率调整2 1 3 梯度估计修正 2 2 自适应学习率算法2 2 1 AdaGrad2 2 2
  • 基于MIMO讲解信道估计基本原理

    为什么要进行信道估计 xff1f 信号在通过信道传输的时候 xff0c 会受到信道中种种因素产生的噪声以及可能发生的多径效应 xff0c 弄清信号经过的信道的特性 xff0c 表征信道的技术 过程称为信道估计 xff08 Channel E
  • 基于深度学习Superpoint 的Python图像全景拼接

    pip install opencv python 61 61 3 4 2 16 pip install opencv contrib python 61 61 3 4 2 16 参考 https github com kushalvyas
  • 微分方程的线性化 - 百度文库

    https wk baidu com view aae87102caaedd3383c4d3ca pcf 61 2 amp bfetype 61 new
  • python 中的路径. ./ .. ../

    与Linux系统中一样 xff1a 代表当前所在目录 代表当前所在目录的父目录 代表当前所在目录下的某个文件夹或文件 代表当前所在目录的父目录下的某个文件夹或文件 A B C D E py F 类似于上示的一个目录结构 xff0c 在E p
  • ros的初始化和关闭

    初始化选项 ros init options NoSigintHandler 不安装 SIGINT 句柄 这种情况下你需要自己安装SIGINT句柄来保证节点在退出时候会正确的关闭 SIGINT的默认操作是终结一个进程 xff0c 所以如果你
  • Python报错ModuleNotFoundError: No module named 'numpy'

    Python报错ModuleNotFoundError No module named numpy 这种情况一般是缺少numpy所致 xff0c 需要安装numpy 最好使先进入到进入python 版本安装目录下的Script目录中 xff
  • ubuntu系统查看gcc版本及版本切换

    写在前面 xff1a 自己的测试环境是Ubuntu16 04 xff0c 安装了gcc 5 gcc 7 xff0c 通过下面的方式从实现默认的gcc 5切换到gcc 7 xff0c 亲测有效 xff5e xff5e 1 查看自己当前的gcc
  • ROS中map、odom、base_link坐标系的理解和这三个坐标系在AMCL中的关系

    学了ROS快一年了 xff0c 依旧对map坐标系 odom坐标系 base link坐标系之间的关系不是很清晰 xff0c 这段时间下定决心要捋清楚他们之间的关系 map坐标系 xff1a 地图坐标系 xff0c 是一个固定的坐标系 xf
  • PCL之使用过程中遇到的坑、报错、解决方法

    这篇博客准备记录PCL使用过程中遇到坑 文章目录 1 编译报错 xff1a 96 undefined reference to pcl search Search getName abi cxx11 const 96 解决方法 2 运行报错
  • C++ 报错 error: ‘xxx’ was not declared in this scope

    笔者在做C 43 43 文件的输入输出实验的时候 xff0c 编译时遇到这样一个问题 xff1a error ofstream was not declared span class token keyword in span this s
  • ROS中rosbag相关指令总结

    文章目录 写在前面一 rosbag 基本指令二 bag文件转 txt三 rosbag截取一部分bag四 bag文件生成失败 xff0c 只出现 bag active文件参考链接 xff1a 写在前面 以下内容主要来自官网教程 xff08 h
  • 如何在 Ubuntu 上配置 ROS和LPMS IMU传感器

    最近在ROS上测试 LMPS IMU 传感器 xff0c 在此了一下配置过程 自己的配置环境 xff1a Ubuntu16 04 ROS kinetic LMPS URS2 一 硬件准备 需要的硬件设备 xff1a LPMS URS2 xf