树莓派——ROS+WT931获取IMU和磁场数据

树莓派+ROS+WT931

树莓派——ROS+WT931获取IMU和磁场数据

由于论文实验需要,需要以无人机为载体,使用ROS,再通过传感器获取环境中的磁场信息,并订阅之。最早是以 链接: 维特WT931——制作支持ROS的IMU惯性导航传感器.河大吴同学写的博客为参考。虽然陆续遇到了一些问题,但是对于刚接触ROS不久的我来说受益匪浅。

一、尝试在我的笔记本里试验

我装的双系统Ubuntu18.04,过程基本如以上链接中提到的。不过在安装新驱动前,记得先查看自己操作系统版本。

// 终端输入
uname -r;

再到指定的目录下增删相关.ko文件。
谈谈我遇到的问题,我在全部安装完成后,在启动launch文件和rostopic后,imu和磁场的各项数据始终不变化。
在这里插入图片描述
按理来说,这些数值会在不断发布的过程中跳动变化。捣鼓了几天,排除了代码和硬件问题后,初步确认可能是驱动安装出错了。
于是决定重新再装一次。

// 卸载驱动
sudo rmmod xxx

再走一遍以上流程,关键记得要用dmesg 查看系统日志信息。如下链接提到的一样:
链接: CH340 Linux驱动使用教程.
再之后发现数据有了变化。不过传感器设置的回传速率要设置得比wt931的cpp文件中写的循环频率rate高,这样数据响应会很灵敏。

二、开始在树莓派上实验

树莓派用的是Ubuntu mate 16.04。解压驱动包后,输入指令make,报错树莓派 /lib/modules/*/ 没有build文件夹,查看过后发现,他只有kernel文件夹,确实没有build文件夹。于是按照
链接: 解决树莓派 /lib/modules/*/ 没有build文件夹 安装linux_headers.中提到的方式,安装了linux_headers,随后make就能成功了。

ps.虽然一开始遇到了各种如:
insmod: ERROR: could not insert module ch34x.ko: Invalid module format

或者make过后出现
Makefile:xxx: recipe for target ‘default’ failed的错误。
也全都是我一开始没有解决好build文件夹的缘故。
当然这也只是我遇到的问题。

我个人感觉学会看日志文件是很重要的,不能一出错就复制问题到网上“对号入座”,可能大家的问题表面相似,实则细节和操作各有不同。而且我觉得使用英文版系统也是相当有意义的,将来遇到问题更容易找出错误,而且在国外论坛交流的时候也来得简单。

后续

准备利用无人机遍历目标环境,采集磁场数据进行建模。有问题还会来分享的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值