首页 > 其他分享 >IMU惯性测量模块在ROS环境下的应用示例

IMU惯性测量模块在ROS环境下的应用示例

时间:2024-08-16 11:23:56浏览次数:18  
标签:ROS 示例 sudo launch imu IMU ros

Ubuntu版本:20.04;ROS环境:noetic;IMU型号:亚博10轴IMU惯导模块

目录

一.ROS环境配置

1、在终端运行对应的命令

 2、安装ROS串口驱动

二、IMU软件包使用

1、新建、编译工作空间

 2、绑定IMU端口

3、修改参数配置 

三、运行可视化界面 

1、运行launch文件

2、可能遇到的问题

3、查看数据


一.ROS环境配置

默认系统已经安装好ROS开发环境,如果没有安装ROS环境,可以参考下面文章中的安装步骤,安装好ROS环境再来运行此示例。

http://t.csdnimg.cn/YAgXUicon-default.png?t=N7T8http://t.csdnimg.cn/YAgXU

1、在终端运行对应的命令

如果你使用的是 ubuntu 16.04,ROS kinetic,python2 :

sudo apt-get install ros-kinetic-imu-tools ros-kinetic-rviz-imu-plugin
sudo apt-get install python-visual

如果你使用的是 ubuntu 18.04,ROS Melodic,python2

sudo apt-get install ros-melodic-imu-tools ros-melodic-rviz-imu-plugin

如果你使用的是 ubuntu 20.04,ROS Noetic,python3

sudo apt-get install ros-noetic-imu-tools ros-noetic-rviz-imu-plugin

pip3 install pyserial

 没有安装过pip3的话,需要先安装一下:

sudo apt install python3-pip

 2、安装ROS串口驱动

sudo apt-get install ros-$ROS_DISTRO-serial

以下内容以 “Ubuntu版本:20.04;ROS环境:noetic;IMU型号:亚博10轴IMU惯导模块”为例;

二、IMU软件包使用

1、新建、编译工作空间

按照以下步骤:

mkdir ros_imu_ws
cd ros_imu_ws
 mkdir src
cd src
catkin_init_workspace

 之后复制wit_ros_imu文件夹到~/ros_imu_ws/src目录下,wit_ros_imu文件夹为IMU启动包,不同型号或许有所不同,咨询客服下载即可。

之后接着再次编译;

cd ~/ros_imu_ws
catkin_make

 2、绑定IMU端口

 打开命令终端,运行下面指令:

cd ~/ros_imu_ws/src/wit_ros_imu
sudo chmod 777 bind_usb.sh
sudo sh bind_usb.sh

重新插拔连接IMU模块的USB数据线。以生效绑定的端口,输入以下指令检测绑定端口是否成功,

ll /dev/imu_usb

成功绑定如下图所示:

 不一定是ttyUSB0,只要显示是USB设备就行了。

注意:此方法只适合外部USB设备只有一个CP2102串口芯片的情况,如果有连接多个CP2102驱动的USB设备,请勿使用此绑定方式

3、修改参数配置 

波特率根据实际使用设定,默认波特率baud的值为9600,如果已经通过上位机修改了波特率,需要对应修改成修改后的波特率。

进入功能包下的launch文件夹,打开rviz_and_imu.launch文件中的配置参数

cd ~/ros_imu_ws/src/wit_ros_imu/launch
sudo gedit rviz_and_imu.launch

修改内容如下,可直接复制粘贴:


<!-- open imu and rviz -->
<launch>

    <!-- imu type, default normal -->
    <arg name="type" default="normal" doc="type [normal, modbus]"/>

    <!-- imu python -->
    <node pkg="wit_ros_imu" type="wit_$(arg type)_ros.py" name="imu" output="screen">
        <param name="port"               type = "str"    value="/dev/imu_usb"/>
        <param name="baud"               type = "int"    value="9600"/>
	<remap from="/wit/imu" to="/imu/data"/>
    </node>

    <!-- load rviz -->
    <node name="rviz" pkg="rviz" type="rviz" args="-d $(find wit_ros_imu)/rviz/wit_ros_imu.rviz">
    </node>

</launch>   

可以看出,波特率设置成默认的9600,端口设置成绑定的/dev/imu_usb,话题重映射成/imu/data.

三、运行可视化界面 

1、运行launch文件

在该功能包下打开终端,按照以下步骤:

catkin_make
source ./devel/setup.bash
roslaunch wit_ros_imu rviz_and_imu.launch

2、可能遇到的问题

 注意:如果在运行launch文件时遇到以下问题时,

 按照我之前的文章中介绍的方法,亲测有效,费了很大功夫才解决这个问题。(链接见下方)最开始找的官方技术客服也没有解决,反而带来了麻烦,让重装ROS环境、重装Ubuntu系统,浪费了我大量时间也没能解决问题。

http://t.csdnimg.cn/eE9Fkicon-default.png?t=N7T8http://t.csdnimg.cn/eE9Fk

 最终成功运行后如下图所示:

 移动IMU模块后RViz中也实时更新,如下图:

3、查看数据

打开新的终端,输入以下命令以查看数据:

rostopic echo /imu/data

如下图所示:

相同地, 打开新的终端,输入以下命令以查看数据:

rostopic echo /wit/mag

如下图所示:

标签:ROS,示例,sudo,launch,imu,IMU,ros
From: https://blog.csdn.net/m0_50965539/article/details/141173328

相关文章

  • C# Datetime retrieve microsecond
    From.net8.0thecanretrieveDateTime.Now.MicroSeconddirectly,butwhenyouusetheclassic.netframeworkitdoesnotworkatall.I'llshowaroundviaTicksofDateTime,tocompareandvalidatemyassumptionidevelopedin.net8staticvoidMai......
  • Linux打包命令tar极简示例_2
    只解压tar包中的某个文件这是tar包:只解压a.txt:上边的例子不大理想,再来一个tar包里带目录的:再弄个gzip压缩过的吧:......
  • Rosbag数据解析实例
    Rosbag数据解析实例文章目录Rosbag数据解析实例前言一、rosbag相关指令二、rosbag数据解析及可视化1.新建节点2.构造订阅器:3.设计回调函数,并打印相关信息:4.存储障碍物信息5.可视化障碍物信息6.障碍物数据可视化效果总结前言今天写代码出了bug,解问题花了点时间。本......
  • limu|P10-14|多层感知机、激活函数、模型选择、欠拟合、过拟合、权重衰减、dropout、
    从感知机到多层感知机:感知机:只能产生线性分割面,不能拟合XOR为突破线性模型的限制,可以通过在网络中加入一个/多个隐藏层,即多层感知机MLP。但是如果只是单纯添加隐藏层,还是等价于一个线性模型(仿射变换的仿射变换还是仿射变换),没有带来益处!此时,需要加入额外因素以激发多层架构的潜......
  • 卸载 Microsoft Edge
    在命令行(cmd)工具中输入:get-appxpackage*edge*如:PSC:\Users\hapday>get-appxpackage*edge*Name:Microsoft.MicrosoftEdgeDevToolsClientPublisher:CN=MicrosoftCorporation,O=MicrosoftCorporation,L=Redmond,S=Washington,C=USArchitec......
  • Windows11 微软Microsoft官方制作系统U盘方法,系统安装最详细教程
    准备一个8G容量以上的U盘制作系统盘注意,在制作系统盘时会格式化U盘,所以最好准备个空U盘,请做好备份!防止资料丢失。因为做系统盘要清空原有U盘的所有数据。制作系统盘windows系统一般建议安装最新版本,如果习惯使用win10可以安装win10版本,如果是12代之后的英特尔CPU最好安装win11,对......
  • Windows11 微软Microsoft官方系统安装、重装操作教程
    01系统镜像下载推荐到微软中国官网下载Windows正版系统,或者可以到第三方的系统镜像下载站获取下载链接,使用迅雷工具进行下载,我这里推荐两个下载站,如果不想弄迅雷下载那么麻烦,也可以用我的123盘分享下载还是那句话,非常不建议下载各种奇葩定制系统,大部分系统中有夹带私货,安全性和......
  • Turtlebot 3 ROS 苹果采摘机器人
    原文链接:https://www.youtube.com/watch?v=y1PVdGYccYs 这是加州理工学院电子工程系2024年苹果采摘的毕业设计项目。                ROBOTISROS机器人小车Turtlebot3Wafflepi智能开源平台SLAM自动导航TurtleBot3-Waffle-p......
  • Stimulsoft Ultimate 24.3.4 一体化解决方案
    StimulsoftUltimate一体化解决方案StimulsoftUltimate是一套全面的工具和产品,专为可视化、分析、数据收集和演示而设计。借助我们的组件,您可以创建、打印和导出复杂的报告,使用清晰多彩的仪表板进行数据分析,通过交互式表单从客户那里收集数据等等。它是如何工作的?Sti......
  • ROS 2 启动文件 Launch
    ROS2启动文件Launch在ROS2中,启动文件(launchfile)是用来配置和管理多个节点的工具,可以在一次启动中启动多个节点、参数配置、配置环境变量和设置启动条件等。经典的小乌龟(turtlesim)是一个非常好的入门示例。它可以用于演示如何使用启动文件启动和控制多个节点......