JY901 ROS1使用经验

news/2025/1/20 10:54:07/文章来源:https://www.cnblogs.com/zhengshufang/p/18514520

参考:

维特智能官方ROS Python使用说明https://wit-motion.yuque.com/wumwnr/ltst03/lu0v13?#0246cb6a

安装配置步骤:

  1. 先在VirtualBox中为这个包配置对应的环境:Ubuntu 16.04, ROS(1)Kinetic, Python 2.7.
  2. 按照上面参考链接,从【3.IMU软件包使用】开始一步一步做。

使用步骤:

1. 查看端口号

对应参考链接3.3.1

ls /dev/ttyUSB*

正常,会输出/dev/ttyUSB0
image

如果没有输出,或者提示ls: 无法访问'/dev/ttyUSB*': 没有那个文件或目录,
在VirtualBox的虚拟机的设置按钮中,手动添加IMU的设备名称。如果不知道哪个是IMU的设备名称,可以插拔然后对比设置中IMU的名称增添或者少了哪个。
image

2. 给对应的串口管理员权限

(对应参考链接3.3.3)
在刚刚的终端输入sudo chmod 777 /dev/ttyUSB0,输入密码后回车即可。注意每次重新插入USB口都要重新给串口赋予管理员权限。

3. 打开IMU可视化程序

(对应参考链接3.3.4)
在刚刚的终端,输入roslaunch wit_ros_imu display_and_imu.launch回车,正常会出现IMU图形界面并动态更新姿态和RPY角
image

如果图形界面不动且没有数据,考虑是不是波特率设置不正确或其他原因(对应参考链接3.3.2,大多数原因是波特率),进入脚本目录~/wit/wit_ros_imu/src/launch,修改对应的每个launch文件中的波特率,如果是9600,则修改为115200,反之亦然。
image
image

修改保存后重新在刚刚的终端,运行roslaunch wit_ros_imu display_and_imu.launch。即可正常显示动态的IMU。
可视化视频

4. 运行IMU驱动节点

对应参考链接3.3操作具体教程实例
打开一个新的终端,依次运行

cd wit/wit_ros_ws/src/launch
roslaunch wit_ros_imu wit_imu.launch

image
回车正常打印如下:(会打印波特率,如9600)
image

5. 校准

对应参考链接3.3校准功能
打开新的终端,输入

cd wit/wit_ros_ws/src/scripts
python wit_imu_ctrl.py

image
imput cmd:后面输入想要的功能,如需校准,输入9开始校准,然后把IMU水平转两圈,完事儿想要结束校准输入在imput cmd:后面输入0。然后会在IMU驱动节点wit_imu.launch打印出校准结果,如果是bad就再校准一次,直到good。
image

6. 设置回传速率,设置波特率

对应参考链接3.3设置回传速率和3.3设置波特率
在刚刚的终端(如果没进行步骤5需要重开一个终端运行下面两行)

cd wit/wit_ros_ws/src/scripts
python wit_imu_ctrl.py

回传速率:末尾imput cmd:后面,输入rate1代表回传速率1Hz,我设置的rate10,可以设成0.2,0.5,1,2,5,10,20,50,100,200
波特率:末尾imput cmd:后面,输入baud9600代表波特率9600,我设置的baud9600,一般是9600或115200

7. 记录与解析数据

在刚刚的终端(如果没进行步骤5需要重开一个终端运行下面两行)

cd wit/wit_ros_ws/src/scripts
python wit_imu_ctrl.py

末尾imput cmd:后面输入rsw记录片上时间,加速度,角速度,角度,磁场。
末尾imput cmd:后面输入b开始记录。
末尾imput cmd:后面输入s结束记录。生成的文件存放在~/.ros/, 然后会在IMU驱动节点wit_imu.launch打印出文件名,如20241029220321.txt。
解析数据,新开一个终端,运行:

cd wit/wit_ros_ws/src/scripts
python convert.py ~/.ros/20241029220321.txt

image
如图,解析成功后自动打印出解析后的文件名 20241029220518.txt。然后在当前终端输入gedit 20241029220518.txt即可查看解析后的数据。
image

其他:

  1. 如果需要查看orientation,orientation_covariance,angular_velocity_covariance,linear_acceleration_covariance等由rostopic输出的数据,见参考链接3.3.4后半部分。
    image

  2. 串口助手测试通讯
    见参考链接4.串口助手测试通讯部分。
    image

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

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

相关文章

变电站设备状态识别监测智能巡视系统

变电站设备状态识别监测智能巡视系统利用先进的图像处理和机器学习技术,变电站设备状态识别监测智能巡视系统通过变电站现场的监控摄像机对设备状态进行实时监测。系统能够自动识别配电箱闸刀的开合状态。通过与旁边的标准位置线进行比较,系统能够准确判断配电箱闸刀的开合情…

项目管理与运作管理的区别

项目管理和运作管理都是组织中不可或缺的管理方式,但它们具有显著的差异。包括:1.目的和范围不同;2.持续性和周期性的差异;3.风险和复杂性的差别;4.资源分配和优化;5.团队结构和组织;6.衡量和评价的标准;7.交付和成果的差异。了解这些差异有助于更好地决定何时应用哪种…

20222413 2024-2025-1 《网络与系统攻防技术》实验三实验报告

1.实验内容 1.1学习总结 本周的学习内容为恶意代码的概念、发展历史以及分析技术。我知晓了恶意代码的不同类型及其典型案例、攻击方式和危害。同时我了解了静态分析和动态分析所采用的技术方法。 1.2实践内容 (1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀…

工作牌佩戴监测识别系统

工作牌佩戴监测识别系统充分利用了工厂现场已有的摄像头设备,无需额外的硬件投入。工作牌佩戴监测识别系统采用AI视频智能分析算法,实时对监控区域内的工作人员进行识别和检测。系统可以准确识别出人员是否佩戴了工作牌,并判断其是否符合要求。工作牌佩戴监测识别系统一旦监…

线性代数的解法

线性代数 数学的思维方式: graph TBid1(#观察#客观现象)--提出主要研究的问题\n抓住主要特征-->id2(#抽象#出概念或建立模型)id2-->id3(#探索#应用直觉,类比,归纳,联想,推理) id3-->id4(#猜测#可能有的规律)id4-->id5(#论证#深入分析,应用定义,公理,证明过的定理进…

分子机器人和纳米机器人有什么区别

在纳米科技和分子工程领域,分子机器人和纳米机器人是两种先进的概念,它们在设计、功能、应用和制造技术上存在显著差异。本文旨在探讨分子机器人与纳米机器人之间的主要区别:1.定义和尺寸范围;2.制造材料和技术;3.功能和应用领域;4.研究和发展挑战;5.未来发展趋势。了解…

基于Java+SpringBoot+Mysql实现的古诗词平台功能设计与实现八

可以二次开发 前台功能:首页、诗文、作者、名句、成语、赏析、翻译、典籍、注册、登录、个人中心等。 后台功能:作者列表、古诗词列表、名句列表、成语列表、典籍列表、用户管理、赏析管理、翻译管理等。 部分功能: 后台管理古诗词信息控制器Controller、后台名言名句信息控…

数据采集与融合技术实践第三次作业

作业1 要求:指定一个网站,爬取这个网站中的所有的所有图片,例如:中国气象网(http://www.weather.com.cn)。使用scrapy框架分别实现单线程和多线程的方式爬取。 务必控制总页数(学号尾数2位)、总下载的图片数量(尾数后3位)等限制爬取的措施。 输出信息:代码:weather…

实验3_C语言函数应用编程

任务一:#include <stdio.h> char score_to_grade(int score); int main() { int score; char grade; while(scanf("%d", &score) != EOF) { grade = score_to_grade(score);printf("分数: %d, 等级: %c\n\n", score, grade); } return 0;…

强化学习的数学原理-07时序差分方法

目录引入TD learing of state valuesTD learing of action values SarsaTD learing of action values Expected SarsaTD learing of action values n-step SarsaTD learing of optimal action values:Q-learninga unified point of view 引入这三个例子是层层递进的,都可以用…

HarmonyOS NEXT 组件市场在DevEco Studio,安装出现Fail to load plugin descriptor from file cases-master.zip

HarmonyOS NEXT开源组件市场 https://gitee.com/harmonyos-cases/cases根据gitee的下载连接,下载了cases-master.zip。如果在dev studio -settings-plugins-设置按钮-install from disk ,会报错,说明这个不是真正的插件包。 解压这个zip,在plugin文件夹下有个case_plugin-…

网络攻防实验 -- 渗透测试作业三

目录漏洞复现:1.利用宏病毒感染word文档获取shell复现2.实现CVE-2020-0796永恒之黑漏洞利用3.实现Microsoft Windows远程溢出漏洞CVE-2012-0002利用4.实现MS11-003(CVE-2001-0036)漏洞利用5.实现IE浏览器的极光漏洞利用6.实现Adobe Reader 9漏洞利用7.渗透攻击Metasploitabl…