ubuntu使用WHEELTE N100并用rviz显示

写在最开头,如果wheeltec n100被自己改动过参数导致无法读取数据,建议在window的上位机中恢复出厂设置并重新上电,在转入ubuntu。因为我就是这个问题,客服远程操控才帮我解决的。

 

所有官方资料共享,侵删:

链接:https://pan.baidu.com/s/1LB-ecaZ6Yj735P0PRIeTjA?pwd=yyds

提取码:yyds

1.修改串口号

ls -l /dev/tty* 是在 Ubuntu 中的一个命令,用于列出以 /dev/tty 开头的设备文件,并显示详细的文件信息。该命令中的 -l 选项表示 "long format"(长格式),它会以较为详细的方式显示文件的属性和信息。"tty" 是 "teletypewriter" 的缩写,也被称为终端设备。/dev/tty* 表示匹配以 /dev/tty 开头的所有设备文件名。

终端使用ls -l /dev/tty*,猜测/dev/ttyUSB0应该是IMU,为了保险起见我自己起个名字后面好查找。

回到Windows中,使用资料包中的CP21xx Customization Utility软件修改串口名称为 “0003”(可自行取名),修改完之后点击Program Device按钮,可能要稍微等待一小会即可修改完成。

 

2.设备创建别名:

外设对应的串口名一般都是会变化的,为了避免手动选择,这里可以通过给 USB 设备创建别名的方式解决。

 

观察这个文件里面的ATTRS{serial}==”0003”对不对,因为之前把串口号从0001改为了0003,所以要对应。

然后在这个界面启动终端,对这个脚本文件赋权限:sudo chmod 777 wheeltec_udev.sh。再执行这个脚本:sudo sh wheeltec_udev.sh。

3.测试

把 WHEELTEC N100 模块连接到ubuntu主控,在终端运行:ll /dev 查看设备。结果现实已经成功用 fdilink_ahrs 这个别名来代表惯导模块了,后续不管接 到哪个 USB 口,使用的时候均不需要考虑端口号变化问题。

 

4.配置ROS驱动功能包

接下来安装所需驱动:打开终端,键入安装命令:sudo apt install ros-melodic-serial。原因就是在CMakeList.txt文件中包含了 serial的功能包,需要进行安装。

然后将提供的资料中的:ROS_SDK->fdilink_ahrs_ROS1.zip->fdilink_ahrs文件复制到src文件夹下。然后catkin_make。

 

看下其launch文件中的相关参数设置,确保第10行左右的语句是这个:<param name="port"  value="/dev/fdilink_ahrs"/>。port 要设置成通过脚本更改后的名称 /dev/fdilink_ahrs,串口的波特率 默认是 921600。

编译成功后即可 输入指令运行打开惯导:roslaunch fdlink_ahrs ahrs_data.launch。

 

使用rostopic list查看当前消息列表。

 

使用rostopic echo /imu打印终端imu消息。

 

5.通过rviz图形化

在运行惯导的情况下(指令:roslaunch fdlink_ahrs ahrs_data.launch),开启新的终端(指令:roslaunch fdilink_ahrs tf.launch),然后打开rviz(指令:rviz)

添加TF,英文全称Transform。

 

Gloable Options中的Fixed Frame选择gyro link或者world(两种选择显示的相对位置不一样):

 

补充:如果前一步出现问题,那就参考下一步,我是说如果,没准下面也没用。

如果发现左侧黄色的Global Status:Warn: No tf data.  Actual error: Fixed Frame [world] does not exist。原因是是tf树中没有world坐标系,解决方法就是让rviz知道world坐标系在哪。可以使用下面命令手动发布:

rosrun tf static_transform_publisher 0 0 0 0 0 0 1 map world 5。

对上条命令的AI解释:

这是一个 ROS(Robot Operating System)命令中的 rosrun 命令,用于运行名为 static_transform_publisher 的节点,并传递一些参数。

  • rosrun: ROS工具,用于运行ROS节点。
  • static_transform_publisher: ROS节点的名称,它是一个静态的坐标变换发布器节点。
  • 0 0 0 0 0 0 1: 表示坐标变换的参数。这个数字序列表示从 "map" 坐标系到 "world" 坐标系的变换。具体来说,它表示平移(0, 0, 0)和旋转(0, 0, 0, 1),其中最后一个数字 1 表示没有旋转。
  • map: 源坐标系的名称,表示输入的坐标变换是从 "map" 坐标系。
  • world: 目标坐标系的名称,表示输出的坐标变换是相对于 "world" 坐标系。
  • 5: 发布频率,表示每秒钟发布五次坐标变换。

综上所述,该命令语句的作用是在 ROS 中运行一个节点,此节点会发布一个静态的坐标变换,将 "map" 坐标系转换到 "world" 坐标系,变换矩阵表示不进行平移(0, 0, 0)和旋转(0, 0, 0, 1),并以每秒五次的频率发布变换信息。这可以用于将不同坐标系之间的相对位置关系告知 ROS 系统。

补充:若想看到map下的显示图,可将fdilink_ahrs->launch->tf.launch文件中的“world”改为“map”。(我没试验)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/20862.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

bug:file name too long文件名超出系统最大限制

各操作系统支持最长的文件和目录名称长度&#xff08;Linux、Win、Mac&#xff09; 今天开发需求的时候发现无法新建文件&#xff0c;提示file name too lang&#xff0c;于是翻阅和查询了一些资料&#xff0c;发现不同操作系统下文件名和目录名最长的长度不同。 操作系统文件名…

Live800在线客服系统:工单系统如何提升企业服务效率?

随着企业规模的扩大和客户需求的增加&#xff0c;如何有效地管理客户服务日益成为企业发展过程中重要的一环。作为客户服务的重要支撑系统之一&#xff0c;工单系统被越来越多的企业所采用。那么工单系统究竟是如何帮助企业提升服务效率的呢&#xff1f;本文将从工单的分配、追…

LeetCode[470]用Rand7()实现Rand10()

难度&#xff1a;Medium 题目&#xff1a; 给定方法 rand7 可生成 [1,7] 范围内的均匀随机整数&#xff0c;试写一个方法 rand10 生成 [1,10] 范围内的均匀随机整数。 你只能调用 rand7() 且不能调用其他方法。请不要使用系统的 Math.random() 方法。 每个测试用例将有一个内部…

Android Java代码与JNI交互 JNI访问Java构造方法(九)

🔥 Android Studio 版本 🔥 🔥 创建包含JNI相关函数类 JNIConstructorClass.java 🔥 package com.cmake.ndk1.jni;import com.cmake.ndk1.model.Animal;public class JNIConstructorClass {static {System.loadLibrary("constructor-class-lib");}public …

Django_获取api接口的传参

目录 当参数为form-data 或者x-www-form-urlencoded类型时&#xff0c;使用request.POST获取到参数 当参数为raw类型时&#xff0c;使用request.body获取到参数&#xff0c;获取的参数需要经过处理才能使用 源码等资料获取方法 当参数为form-data 或者x-www-form-urlencoded…

连接区块链节点的 JavaScript 库 web3.js

文章目录 前言web3.js 介绍web3.js安装web3.js库模块介绍连接区块链节点向区块链网络发送数据查询区块链网络数据 前言 通过前面的文章我们可以知道基于区块链开发一个DApp&#xff0c;而DApp结合了智能合约和用户界面&#xff08;客户端&#xff09;&#xff0c;那客户端是如…

ubuntu20离线安装nodejs、GO、go.rice及yarn

虽然是离线安装&#xff0c;但该有的安装包还是需要的… 目录 1、安装nodejs1.1查看本地是否存在nodejs1.2创建nodejs文件夹1.3下载nodejs二进制文件1.4解压并改名1.5添加软连接 2安装GO2.1创建go文件夹2.2下载go二进制文件2.3解压文件2.4添加环境变量2.5设置sudo可执行go命令…

stm32(SPI读写W25Q18)

SPI 是什么&#xff1f; SPI是串行外设接口&#xff08;Serial Peripheral Interface&#xff09;的缩写&#xff0c;是一种高速的&#xff0c;全双工&#xff0c;同步的通信总 线&#xff0c;并且在芯片的管脚上只占用四根线&#xff0c;节约了芯片的管脚&#xff0c;同时为PC…

移动互联网应用程序(app)个人信息安全测试能力验证-流程介绍

ILONGYU 产品简介 为规范检验检测市场&#xff0c;提升检验检测机构技术能力&#xff0c;根据《检验检测机构资质认定管理办法》《实验室能力验证实施办法》等有关规定&#xff0c;市场监管总局决定在社会重点关注的部分检验检测领域&#xff0c;组织开展2020年国家级检验检测…

Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面

Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面 虽然说IE6除了部分要求苛刻的需求以外已经被可以不考虑了&#xff0c;但是WIN7自带的浏览器IE8还是需要支持的。 本文这个方法主要的优点&#xff0c;个人觉得就是准备少&#xff0c;不需要上网寻找大量的图片做素材&…

MySQL的MVCC

目录 1.MVCC基本概念 1.当前读&#xff1a; 2.快照读&#xff1a; 3.MVCC&#xff1a;Multi-Version Concurrency Control&#xff0c;多版本并发控制&#xff1a; 2.MVCC实现原理-三个隐藏字段 3.MVCC实现原理-undo log日志 1.undo log&#xff1a;回滚日志 2.undo log…

samba服务

samba服务 1. samba诞生背景2. samba简介3. samba配置文件详解3.1 配置文件中参数的作用3.1.1 security参数的四种验证方式3.1.2 passdb backend定义用户后台的类型 4. samba服务部署与配置windos共享linux挂载共享 1. samba诞生背景 1987 年&#xff0c;微软公司和英特尔公司…