【EHub_tx1_tx2_E100】Ubuntu18.04 + ROS_ Melodic + LingAo IMU 测试及RVIZ展示
简介:介绍LingAo 的6自由度IMU模块 在EHub_tx1_tx2_E100载板,TX1核心模块环境(Ubuntu18.04)下测试ROS驱动,打开使用RVIZ 查看IMU数据,本文的前提条件是你的TX1里已经安装了ROS版本:Melodic。
关于测试硬件EHub_tx1_tx2_E100载板请查看:EdgeBox_EHub_tx1_tx2_E100 开发板评测_机器人虎哥的博客-CSDN博客
目录
一、IMU介绍
二、LingAo 6自由度IMU(Isens-ZEN)介绍
三、LingAo 6自由度IMU(Isens-ZEN) ROS驱动
3.1 建立工作空间
3.2克隆代码
3.3 编译源码包
3.4 将IMU通过USB 接入系统
3.5 启动IMU驱动
3.6 启动polt绘制姿态、加速度这一些值
3.7 启动RVIZ 查看IMU
四、ISENS ZEN API
4.1 发布的话题
4.2 服务
4.3 参数
五:附件
5.1 zen_imu.launch 内容
一、IMU介绍
惯性测量模块(IMU,Inertial Measurement Unit)组成。IMU提供飞行器在空间姿态的传感器原始数据,一般由陀螺仪传感器/加速度传感器/电子罗盘提供飞行器9DOF数据。该单元能够反馈自身的运动状态(加速度)和位姿,是机器人身上最重要的传感器之一。IMU能够应用在在机器人导航,机器人控制等诸多方面,可以说IMU的好坏对于一个机器人来说有着近乎决定性的作用
IMU中使用的传感器基本上都是微机电系统(MEMS),是半导体工业中非常重要的一个分支。
IMU的选型方案非常多,从几十到几千乃至上万不等。一般IMU内部会包含陀螺仪和加速度计,陀螺仪用来反馈角速度和计算位姿,加速度计用于反馈线速度,陀螺仪和加速度各自提供三个轴向的速度数据,所以一般这种IMU被称为六轴IMU。基于不同原理去制作的陀螺仪和加速度计,能够达到的精度范围也有一定的区别。
但是对于IMU来说,总会有一个难以克服的问题,即累积误差。由于IMU通过是通过对内部的陀螺仪获取的角速度数据对时间进行积分获取角度数据的,无论一个陀螺仪的精度有多高,总是会在每个时刻产生一些误差,随着积分效应,误差逐渐累积,最后就会产生累积误差。
为了解决累积误差问题,一般厂家会在IMU内部再集成一个三轴磁力计,从而构成一个所谓的九轴IMU。磁力计的作用是对IMU计算出的位姿定期进行较准,从而解决累积误差。但是磁力计不适合在电磁环境复杂的场合下使用,如果附近有能够产生强磁场的设备,会对磁力计的数据产生非常大的影响。
二、LingAo 6自由度IMU(Isens-ZEN)介绍
参数介绍:
双接口支持
产品链接:https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-22807296995.13.34342243aQhMdQ&id=664948690062
三、LingAo 6自由度IMU(Isens-ZEN) ROS驱动
3.1 建立工作空间
mkdir -p ~/Lsens_ws/src
cd ~/Lsens_ws/
catkin_make
source devel/setup.bash
3.2克隆代码
cd ~/Lsens_ws/src
git clone https://e.coding.net/lingao/LingAoPackage/lingao_isens_ros.git
3.3 编译源码包
cd ~/Lsens_ws
catkin_make --pkg lingao_isens_ros
编译完成。
3.4 将IMU通过USB 接入系统
lsusb
ls /dev
配置打开USB转串口权限
KERNEL=="ttyUSB[0-9]*", MODE="0666"
3.5 启动IMU驱动
cd ~/Lsens_ws
source devel/setup.bash
roslaunch lingao_isens_ros zen_imu.launch
现在通过以下命令在ROS 上打印 IMU 值:
#新开一个终端
cd ~/Lsens_ws
source devel/setup.bash
nvidia@nvidia-desktop:~/Lsens_ws$ rostopic list
/imu/data
/imu/is_autocalibration_active
/imu/mag
/rosout
/rosout_agg
#打印 IMU 值
rostopic echo /imu/data
#默认100HZ的数据输出频率
nvidia@nvidia-desktop:~/Lsens_ws$ rostopic hz /imu/data
subscribed to [/imu/data]
average rate: 99.996min: 0.006s max: 0.014s std dev: 0.00070s window: 92
average rate: 100.010min: 0.006s max: 0.015s std dev: 0.00079s window: 192
average rate: 100.005min: 0.006s max: 0.015s std dev: 0.00066s window: 292
3.6 启动polt绘制姿态、加速度这一些值
#关闭3.5 启动IMU 节点 新开一个终端
cd ~/Lsens_ws
source devel/setup.bash
#这一条会启动IMU节点和绘图
roslaunch lingao_isens_ros plot_zen_imu.launch
3.7 启动RVIZ 查看IMU
打开终端,启动IMU节点
cd ~/Lsens_ws
source devel/setup.bash
roslaunch lingao_isens_ros zen_imu.launch
打开新终端,启动rviz
rosrun rviz rviz
Rviz中点击左下角Add添加rviz_imu_plugin,可以看见有坐标系出现,如果没有需要安装 (sudo apt-get install ros-melodic-imu-tools 安装imu功能包)
这个时候你手动IMU,3个轴会根据IMU的运动而运动
保存RVIZ 配置信息
cd ~/Lsens_ws/src
mkdir rviz
cd rviz
当你想下次继续RVIZ看数据的时候,就可以简单一点:
rosrun rviz rviz
就省去了刚才那些繁琐的配置和输入
四、ISENS ZEN API
4.1 发布的话题
/imu/data_raw (lingap_msgs/Imu)
主题包括来自 IMU 的惯性数据。包括校准加速度、校准角速率和方向。
/imu/is_autocalibration_active (std_srvs/SetBool)
指示陀螺仪自动校准是否正在运行
#启动IMU节点后,在新的终端查看话题
nvidia@nvidia-desktop:~/Lsens_ws$ rostopic list
/imu/data
/imu/is_autocalibration_active
/imu/mag
/rosout
/rosout_agg
4.2 服务
/imu/calibrate_gyroscope (std_srvs/Empty)
激活 IMU 内部陀螺仪偏置校准。在call service之前请确保 IMU 传感器稳定静置在平台上。请确保传感器静止至少 4 秒钟。校准程序完成后,服务调用将返回成功响应。
/imu/reset_heading (std_srvs/Empty)
此服务将传感器的航向(偏航)角重置为零。
/imu/enable_gyro_autocalibration (std_srvs/SetBool)
打开/关闭 IMU 中的自动校准功能,自动校准状态可通过订阅/imu/is_autocalibration_active主题获取。
nvidia@nvidia-desktop:~/Lsens_ws$ rosservice list
/imu/calibrate_gyroscope
/imu/enable_gyro_autocalibration
/imu/reset_heading
/imu_node/get_loggers
/imu_node/set_logger_level
/rosout/get_loggers
/rosout/set_logger_level
4.3 参数
sensor_name (string, default: null)
默认情况下会自动寻找连接到第一个可用传感器,如需要连接到特定串口号请设置value值
devicefile:/dev/ttyUSB0
baudrate (integer, default: 115200)
波特率,默认115200
frame_id (string, default: imu)
关联的坐标系
nvidia@nvidia-desktop:~/Lsens_ws$ rosparam list
/imu_node/baudrate
/imu_node/frame_id
/rosdistro
/roslaunch/uris/host_nvidia_desktop__33189
/rosversion
/run_id
nvidia@nvidia-desktop:~/Lsens_ws$ rosparam get /imu_node/frame_id
imu_link
nvidia@nvidia-desktop:~/Lsens_ws$ rosparam get /imu_node/baudrate
115200
五:附件
5.1 zen_imu.launch 内容
<launch><!-- ISENS IMU Sensor--><node pkg="lingao_isens_ros" type="zen_sensor_node" name="imu_node" output="screen"><!-- <param name="sensor_name" value="devicefile:/dev/ttyUSB0" /> --><param name="baudrate" value="115200" /><param name="frame_id" value="imu_link" />
</node>
</launch>
如果你想对串口和波特率之类的有变动,可以在这里启动lanuch 文件做变更
纠错,疑问,交流: 911946883@qq.com
【EHub_tx1_tx2_E100】Ubuntu18.04 + ROS_ Melodic + LingAo IMU 测试及RVIZ展示相关推荐
- 【EHub_tx1_tx2_E100】Ubuntu18.04 + ROS_ Melodic + RS-LiDAR-16 激光雷达测试
简介:介绍 RS-LiDAR-16 16线激光雷达 在EHub_tx1_tx2_E100载板,TX1核心模块环境(Ubuntu18.04)下测试ROS驱动,如何打开使用RVIZ 查看点云数据,本文的 ...
- 【EHub_tx1_tx2_E100】Ubuntu18.04 + ROS_ Melodic + WHEELTEC 9轴IMU测试(如何在该环境下配置驱动/RVIZ查看)
简介:介绍WHEELTEC 9轴IMU 在EHub_tx1_tx2_E100载板,TX1核心模块环境(Ubuntu18.04)下测试ROS驱动,配置驱动环境,RVIZ查看数据,本文的前提条件是你的TX ...
- 【EHub_tx1_tx2_E100】Ubuntu18.04 + ROS_ Melodic + 万集716 单线激光 测试
简介:介绍 万集716 单线激光 在EHub_tx1_tx2_E100载板,TX1核心模块环境(Ubuntu18.04)下测试ROS驱动,打开使用RVIZ 查看点云数据,本文的前提条件是你的TX1里已 ...
- 【EHub_tx1_tx2_E100】Ubuntu18.04 + ROS_ Melodic + Velodyne VLP-16雷达 测试使用
简介:介绍 Velodyne VLP-16 16线激光雷达 在EHub_tx1_tx2_E100载板,TX1核心模块环境(Ubuntu18.04)下测试ROS驱动,打开使用RVIZ 查看点云数据,本文 ...
- 【EHub_tx1_tx2_E100】Ubuntu18.04 + ROS_ Melodic + 银牛R132深度相机(如何在该环境下打开摄像机获取rgb/深度图/点云)
简介:介绍银牛微电子 3D 机器视觉R132相机 在EHub_tx1_tx2_E100载板,TX1核心模块环境(Ubuntu18.04)下测试ROS驱动,打开摄像头图像和查看深度图和点云图,本文的前提 ...
- 【EHub_tx1_tx2_A200】Ubuntu18.04 + ROS_ Melodic + 锐驰LakiBeam 1L单线激光 雷达评测
大家好,我是虎哥,最近这段时间,又手欠入手了锐驰LakiBeam 1L激光雷达,实在是性价比太优秀,话说,最近激光雷达圈确实有点卷.锐驰官网的资料已经很丰富,我这里总结一下自己的简单测试经验,分享给大 ...
- Ubuntu18.04 LTS Melodic ROS 教程:使用URDF创建一个虚拟机器人模型
Ubuntu18.04 LTS Melodic ROS 教程:使用URDF创建一个虚拟机器人模型 Building a Visual Robot Model with URDF from Scratc ...
- Ubuntu18.04+Ros Melodic安装Moveit
Ubuntu18.04+Ros Melodic安装Moveit框架 感谢Robot_Tiger_原文https://blog.csdn.net/CH_monsy/article/details/108 ...
- Ubuntu18.04+ROS Melodic+RealsenseD435i+Robotiq-2F-85+UR5真实机械臂手眼标定(眼在手外)
一.配置环境 操作系统:Ubuntu 18.04 机械臂型号:UR5 :polyscope 3.14 夹爪型号:Robotiq 2F-85 深度相机:Intel RealSense - D435i 二 ...
最新文章
- Python基础学习!基本元素,数字,字符串以及变量
- 阶段1 语言基础+高级_1-2 -面向对象和封装_9两个引用指向同一个对象空间
- 小叮咚切分词方法加入sourceforge.net中WebLucene分词模块
- 举例说明事务隔离级别
- pycharm常用设置(keymap设置及eclipse常用快捷键总结)
- 360——新式的流氓
- 常用压缩,解压与打包
- centos7 卸载安装失败的mysql7
- springcloud工作笔记097---idea集成Mapper接口点击后自动跳转到对应的xml文件中
- 计算机课有什么作业,计算机组成原理课堂作业
- C语言程序输入一个三位数取个位十位百位
- Java实现Zip压缩包解压
- android 获取蓝牙设备id_获取设备唯一ID的几种方式
- 电源芯片选择DC/DC还是LDO?及怎样选择LDO芯片
- linux下autocad完美替代品ARES Commander的安装运行
- ARM Mali-V VPU视频处理单元介绍 V61 V550 V500
- vscode远程开发环境配置
- Rstudio手动安装程序包
- 匹马抢三关:讯飞翻译机3.0的破障之战
- 模糊神经网络应用实例,什么是模糊神经网络
热门文章
- easypoi 语法_英语语法那些事儿
- 荣耀手环5自定义表盘设计
- 算法 64式 7、搜索算法整理_第2部分_16到30题
- 面试指南(三):想跳槽,这些问题你会了吗?
- win10下装黑苹果双系统_电脑笔记本win10系统重装一体机W7苹果mac双系统远程维修8虚拟机...
- 接口测试之代码实例21讲--附录2电商系统设计
- 微信h5页面之微信授权、获取头像等
- 一个葫芦娃的小程序,爷青回!
- java监听路由器数据_求如何用java读取路由器上的数据,介绍点资料
- Forbidden (#403)You are not allowed to access this page.