【EHub_tx1_tx2_E100】Ubuntu18.04 + ROS_ Melodic + WHEELTEC 9轴IMU测试(如何在该环境下配置驱动/RVIZ查看)

29 篇文章 9 订阅
2 篇文章 0 订阅

        简介:介绍WHEELTEC 9轴IMU 在EHub_tx1_tx2_E100载板,TX1核心模块环境(Ubuntu18.04)下测试ROS驱动,配置驱动环境,RVIZ查看数据,本文的前提条件是你的TX1里已经安装了ROS版本:Melodic。关于测试硬件EHub_tx1_tx2_E100载板请查看:EdgeBox_EHub_tx1_tx2_E100 开发板评测_机器人虎哥的博客-CSDN博客

        大家好,我是虎哥,最近都在看如何机器人导航,查阅了好几款IMU的方案,淘宝搜索采购的WHEELTEC 9轴IMU,这儿完整再现一下我的测试配置过程,分享给大家。

一、IMU介绍

        惯性测量模块(IMU,Inertial Measurement Unit)组成。IMU提供飞行器在空间姿态的传感器原始数据,一般由陀螺仪传感器/加速度传感器/电子罗盘提供飞行器9DOF数据。该单元能够反馈自身的运动状态(加速度)和位姿,是机器人身上最重要的传感器之一。IMU能够应用在在机器人导航,机器人控制等诸多方面,可以说IMU的好坏对于一个机器人来说有着近乎决定性的作用

        IMU中使用的传感器基本上都是微机电系统(MEMS),是半导体工业中非常重要的一个分支。

        IMU的选型方案非常多,从几十到几千乃至上万不等。一般IMU内部会包含陀螺仪和加速度计,陀螺仪用来反馈角速度和计算位姿,加速度计用于反馈线速度,陀螺仪和加速度各自提供三个轴向的速度数据,所以一般这种IMU被称为六轴IMU。基于不同原理去制作的陀螺仪和加速度计,能够达到的精度范围也有一定的区别。

        但是对于IMU来说,总会有一个难以克服的问题,即累积误差。由于IMU通过是通过对内部的陀螺仪获取的角速度数据对时间进行积分获取角度数据的,无论一个陀螺仪的精度有多高,总是会在每个时刻产生一些误差,随着积分效应,误差逐渐累积,最后就会产生累积误差。

        为了解决累积误差问题,一般厂家会在IMU内部再集成一个三轴磁力计,从而构成一个所谓的九轴IMU。磁力计的作用是对IMU计算出的位姿定期进行较准,从而解决累积误差。但是磁力计不适合在电磁环境复杂的场合下使用,如果附近有能够产生强磁场的设备,会对磁力计的数据产生非常大的影响。

二、N100 9自由度IMU(WHEELTEC)介绍

1、基本情况

2、接口

3、参数

4、尺寸重量

三、N100 9自由度IMU ROS驱动

具体驱动和介绍资料,请咨询购买方,或者直接找厂家要

3.1 建立工作空间

mkdir -p ~/Workspace/sensor_ws/src
cd ~/Workspace/sensor_ws/
catkin_make
source devel/setup.bash

3.拷贝代码

cd ~/Workspace/sensor_ws/src

3.3 编译源码包

cd ~/Workspace/sensor_ws
#单独编译
catkin_make -DCATKIN_WHITELIST_PACKAGES="fdilink_ahrs"   
#全部编译
catkin_make 
#全部编译
catkin_make -DCATKIN_WHITELIST_PACKAGES=""
#以上几条指令都可以实现编译

编译完成。

错误解决

编译过程如果有如下报错:

CMake Error at /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by "serial" with any
  of the following names:
​
    serialConfig.cmake
    serial-config.cmake
​
  Add the installation prefix of "serial" to CMAKE_PREFIX_PATH or set
  "serial_DIR" to a directory containing one of the above files.  If "serial"
  provides a separate development package or SDK, be sure it has been
  installed.
Call Stack (most recent call first):
  fdilink_ahrs/CMakeLists.txt:9 (find_package)
​
​
-- Configuring incomplete, errors occurred!
See also "/home/nvidia/Workspace/sensor/build/CMakeFiles/CMakeOutput.log".
See also "/home/nvidia/Workspace/sensor/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed

只需要安装缺少的依赖包就好了

sudo apt-get install ros-melodic-serial

3.4 将IMU通过USB 接入系统

lsusb

 ls /dev

配置打开USB转串口权限

cd ~/Workspace/sensor_ws/src/fdilink_ahrs
chmod 777 wheeltec_udev.sh
vim wheeltec_udev.sh
sudo ./wheeltec_udev.sh
sudo reboot

其中wheeltec_udev.sh文件内容修改如下:

 执行完上面命令后,就会实现串口映射。

可以看到多了一个fdilink_ahrs虚拟设备。

3.5 启动IMU驱动

cd ~/Workspace/sensor_ws
source devel/setup.bash 
roslaunch fdilink_ahrs ahrs_data.launch

 现在通过以下命令在ROS 上打印 IMU 值:

#新开一个终端
cd ~/Workspace/sensor_ws
source devel/setup.bash 
 
rostopic list
    /euler_angles
    /gnss_data
    /gps/fix
    /imu
    /mag_pose_2d
    /magnetic
    /rosout
    /rosout_agg
#打印 IMU 值
rostopic echo /imu

#默认200HZ的数据输出频率
rostopic hz /imu
    subscribed to [/imu]
    average rate: 199.984
        min: 0.005s max: 0.005s std dev: 0.00008s window: 191
    average rate: 199.992
        min: 0.005s max: 0.005s std dev: 0.00008s window: 391
    average rate: 199.995
        min: 0.005s max: 0.005s std dev: 0.00009s window: 591
    ^Caverage rate: 199.996
        min: 0.004s max: 0.006s std dev: 0.00010s window: 633

3.6 启动RVIZ 查看IMU

打开终端,启动IMU节点

#如果上面的启动还是存在的,就直接跳过这步
cd ~/Workspace/sensor_ws
source devel/setup.bash 
roslaunch fdilink_ahrs ahrs_data.launch

打开新终端,启动rviz

rosrun rviz rviz -f gyro_link

Rviz中点击左下角Add添加rviz_imu_plugin,可以看见有坐标系出现,如果没有需要安装 (sudo apt-get install ros-melodic-imu-tools 安装imu功能包)

 选择好话题: 

这个时候你移动IMU,箭头是会正常移动的。

以上手册和驱动也可以从我自己的资源列表获取和下载。

nomachine ARM 安装包获取:nomachineV8.2.3-3ARM架构下的安装包-嵌入式文档类资源-CSDN下载

纠错,疑问,交流: 911946883@qq.com

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
    随着ICT技术不断深化和传统场景的结合,自动化、智能化相融合已经成为ICT技术的下一代浪潮,以工业机器人、服务机器人自动驾驶等的新一代技术浪潮目前已经方兴未艾,成为又一波热点。而作为次级操作系统的ROS则提供了一系列的调试、仿真工具,能支持激光导航、视觉导航等算法,是切入机器人自动驾驶技术的重要基础。    机器人是一个复合型的领域,涉及软件、算法、硬件、结构等诸多方向,是一个理论性和实践性并重的学科,考虑到其复杂性和讲解的循序渐进,整个系列课程将分为三个系列即入门系列、中级系列、高级系列。   在入门系列中,我们将介绍ROS的基础知识(机器人基础知识、ROS开发环境等)、ROS配置管理(系统架构、参数管理、Launch启动、编译配置以及如何基于源代码开发等)、ROS系统调试(代码调试、可视化调试、消息回放、单元测试等),获得该领域的入门券。   在中级系列中,我们将围绕机器人建模与仿真涉及的URDF机器人模型、Gazebo仿真环境、坐标变换、运动控制、环境感知等展开介绍,熟练掌握利用RVIZ、Gazebo等仿真和调试工具调试机器人程序与算法。   在高级系列中,我们将着眼于人工智能框架及算法,分享机器人开发涉及的运动控制、SLAM、语音交互、计算机视觉等。逐层递进,为大家一层层剥开机器人的神秘面纱。    本系列课程的特色在于:    1、从基础知识、建模与仿真、环境感知与智能决策、人机交互等4个方面循序渐进、逐步深化,知识覆盖全面,便于深度认知;    2、从基本理论、源码解读、工程示例等领域开展ROS系统入门知识的深度介绍和分析,源于工程实践,利于快速上手;   3、基于全新的环境Ubuntu 20.04、ROS Noetic、Gazebo 11、GMapping、Cartographer、tensorFlow 2.*、OpenCV 4.*等讲解,紧跟时代前沿。   整个系列的课程将会逐步开发并上线,三个系列是一个逐步深入、环环相扣的课程内容,感兴趣的同学可以开始学习啦。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机器人虎哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值