ubuntu使用WHEELTE N100并用rviz显示

news2024/11/25 12:51:18

写在最开头,如果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.coloradmin.cn/o/750652.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flink+StarRocks 实时数据分析新范式

摘要&#xff1a;本文整理自 StarRocks 社区技术布道师谢寅&#xff0c;在 Flink Forward Asia 2022 实时湖仓的分享。本篇内容主要分为五个部分&#xff1a; 极速数据分析 实时数据更新 StarRocks Connector For Apache Flink 客户实践案例 未来规划 点击查看原文视频 &a…

一篇文章让你看懂C语言字符函数和内存函数

目录 一、字符函数 1.strlen函数 1.1strlen函数的介绍 1.2strle函数的使用 1.3模拟实现strlen 1.3.1指针移动法 1.3.2指针减去指针法 1.3.3函数递归法 2.strcpy函数 ​编辑 2.1strcpy函数的介绍 2.2strcpy函数的使用 2.3模拟实现strcpy 3.strcat函数 3.1strcat函数的介…

LiveGBS流媒体平台GB/T28181功能-支持海康大华GB28181语音对讲需要的设备及服务准备

LiveGBS支持海康大华GB28181语音对讲需要的设备及服务准备 1、背景2、准备2.1、服务端必备条件&#xff08;注意&#xff09;2.2、准备语音对讲设备2.2.1、 大华摄像机2.2.1.1、 配置接入示例2.2.1.2、 配置音频通道编号 2.2.2、 海康摄像机2.2.2.1、 配置接入示例 3、开启音频…

初试Python路径库

文章目录 一、pathlib概述二、操作路径对象(一)操作属性(二)连接路径(三)拆分完整路径三、路径对象的常用函数(一)获取当前工作目录(二)创建新目录(三)查看主目录一、pathlib概述 自Python 3.4 以来,pathlib一直是标准库的一部分。 PurePath, PurePosixPath, Pure…

即视角|出海资本热土——印尼市场洞察(上)

即视角Insight 共享即构新洞察&#xff0c;共建行业新动能——ZEGO即构科技基于音视频技术领域的多年深耕&#xff0c;综合面向各行业的服务经验&#xff0c;在【即视角】栏目发布即构对行业的洞察。 此前我们根据即构对出海客户的服务经验&#xff0c;输出了文章《即视角&am…

STL标准模板库 set容器

文章目录 迭代器迭代器的五大分类迭代器系列帮手函数一览 set容器打印任意 STL 容器的printer.hset与vectorset 和 vector 的区别set 和 vector 迭代器的共同点set 和 vector 迭代器的不同点 set 的排序set 的排序&#xff1a;string 会按“字典序”来排set 的排序&#xff1a;…

ai智能绘画生成器有哪些?你知道ai生成图片网站哪个好吗?

曾经有一个年轻的画家&#xff0c;名叫亚历克斯。他对艺术充满了热情和渴望&#xff0c;但却常常感到自己的创作灵感有限。每当他拿起画笔&#xff0c;总是困扰于如何将心中的景象完美地呈现在画布上。 有一天&#xff0c;亚历克斯偶然听说了一个神奇的网站&#xff0c;据说这…

【力扣】20. 有效的括号

有效的括号 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相…

uniapp H5预览PDF文件

1&#xff0c;下载资源后hybrid文件存放在static静态文件里 (点击这里去下载文件) 2&#xff0c;pdf预览页面配置 <template><view style"width: 100vh;"><web-view :src"pdfUrl"></web-view></view> </template><…

【每日一题】1289. 下降路径最小和 II

【每日一题】1289. 下降路径最小和 II 1289. 下降路径最小和 II题目描述解题思路 1289. 下降路径最小和 II 题目描述 给你一个 n x n 整数矩阵 grid &#xff0c;请你返回 非零偏移下降路径 数字和的最小值。 非零偏移下降路径 定义为&#xff1a;从 grid 数组中的每一行选择…

【计算机视觉】简述对EQ-Net的理解

最近又看了一些点云分割的文章&#xff0c;近两年点云分割的文章是真的少&#xff0c;不知道是不是点云分割算法接近了末端。这篇文章主要提出了一个基于查询方法的统一范式&#xff0c;它解决了一些不仅仅是点云分割的问题&#xff0c;还解决了三维点云分类和三维目标检测的问…

解密AI图像安全技术:智能守护数智时代,低代码平台助力圈复杂操作!

前言 随着数智时代的来临&#xff0c;人们进入了一个全新的智能化世界。在这个时代中&#xff0c;人工智能&#xff08;AI&#xff09;成为了一项重要的技术突破&#xff0c;其应用也无处不在。其中&#xff0c;AI图像安全技术作为保障个人和企业数据安全的重要环节&#xff0c…

Linux——认识Linux的目录结构 常用命令 vim命令 权限及其控制

目录 linux的目录结构常用linux的命令ls(list)和llcd 切换目录mkdir 创建文件夹touch命令&#xff1a;创建普通文本文件pwd 显示路径whoamisu&#xff1a;普通--超级账号man&#xff1a;查看手册rm&#xff1a;删除网络命令ifconfig重定向 >>cat 查看文本文件clear清屏hi…

3.2 Bootstrap 下拉菜单(Dropdowns)

文章目录 Bootstrap 下拉菜单&#xff08;Dropdowns&#xff09;选项对齐标题 更多实例 Bootstrap 下拉菜单&#xff08;Dropdowns&#xff09; 本章将重点介绍 Bootstrap 下拉菜单。下拉菜单是可切换的&#xff0c;是以列表格式显示链接的上下文菜单。这可以通过与 下拉菜单&a…

NZ12:VBA给批量文件重命名

【分享成果&#xff0c;随喜正能量】沉默&#xff0c;可以让混乱的心&#xff0c;变得清澈。沉默&#xff0c;是城府&#xff0c;是睿智&#xff0c;是内涵&#xff1b;沉默&#xff0c;是最后的清高&#xff0c;也是最后的自由。。 我的教程一共九套及VBA汉英手册一部&#x…

nginx添加模块fastdfs-nginx-module(docker版,不需要重写dockerfile)

nginx添加模块fastdfs-nginx-module&#xff08;docker版&#xff0c;不需要重写dockerfile&#xff09; 一、fastdfs-nginx-module模块准备1.1、下载模块1.2、配置模块参数 二、重新制作nginx的二进制执行文件2.1、查看nginx版本2.2、下载nginx配套版本的源码文件2.3、制作ngi…

线性表综合应用题2

设计一个高效算法&#xff0c;将顺序表L的所有元素逆置&#xff0c;要求算法的空间复杂度为O(1)。 算法思想&#xff1a;扫描顺序表L的前半部分元素&#xff0c;对于元素L.data[i] (0<i<L.length/2),将其与后半部分的对应元素L.data[L.length - i - 1]进行交换。 #defi…

GC overhead limit exceeded问题

GC overhead limit exceeded问题 一、为什么会产生GC overhead limit exceeded问题 OutOfMemoryError是java.lang.VirtualMachineError的子类&#xff1b;JVM遇到与资源利用有关的问题时&#xff0c;会抛出该错误。更具体地说&#xff0c;当JVM花太多时间执行垃圾回收并且只能…

807. 区间求和

链接&#xff1a; 链接 题目&#xff1a; 输入两个整数 ll 和 rr&#xff0c;请你编写一个函数&#xff0c;int sum(int l, int r)&#xff0c;计算并输出区间 [l,r][l,r] 内所有整数的和。 输入格式 共一行&#xff0c;包含两个整数 ll 和 rr。 输出格式 共一行&#xff0c;包…

分支IPSECV批恩连接总部突然上线不了,连接其他总部正常

环境: 分支: AF8.0.17 总部设备: SSL V批恩 V7.0 AF8.0.75 问题描述: 分支IPSECV批恩连接总部突然上线不了,之前正常,连接其他总部正常 解决方案: 排查&解决 1.先在分支和总部设备各查询故障日志 分支 总部 然后在分支AF上进入系统排障页面,测试ping总…