查看: 1874|回复: 0

[资料] 维特WT931——制作支持ROS的IMU惯性导航传感器

[复制链接]

该用户从未签到

发表于 2019-8-6 14:49:54 | 显示全部楼层 |阅读模式
分享到:
本来自己想玩一个ros小车进行slam建图和导航,结果发现由于地形原因,导致建图不稳定。这是因为在某些情况下,机器人可能出现轮子在动,本体却不动的打滑现象,所以使用imu进行融合就有一定的必要,融合包可以见这个博客链接:
那么再购买一款支持ros的imu就可以了。但是,支持ros的imu一般性价比不高,所以我等穷学生就不能采用这种方案。所以,本人就采用了新的方案,购买一款高性价比的imu,然后经过自己的改造就能够融合到ros操作系统里面。
由于代码本身比较多,所以,不在这里详细说明我的实践方法,只说我的包怎么使用。首先,你需要一款wt931以及配套的usb小板。然后下载下面链接的源码。

wt931-ROS源码包
https://github.com/Xueming10wu/ROS-WT931

使用方法
1、更新ch340驱动
解压包 >> wt931 >> ch340更新驱动 >>解压>>转到解压出的文件夹中>> 在此目录下打开命令行执行make命令编译。

详情见



后面把生成的驱动文件放入到内核中



2、加载设备规则

打开命令行,复制设备规则

1丨   ~$ cd wt9331

2丨   ~$ sudo cp wt931.rules /etc/udev/rules.d/

开机自动加载设备规则

打开命令行

1丨        ~$ sudo usermod -aG dialout 用户名

2丨        ~$ sudo service udev reload

3丨        ~$ sudo service udev restart

关机重启

1丨    ~$ sudo reboot

开机后,插上wt931到usb接口上。检查一下设备规则是否被加载成功。

1丨    ~$ ls /dev/wt931

如果正常将会显示

1丨         /dev/wt931

否则再检查一遍操作,或换一条usb数据线。

3、把wt931放到你的工作空间中之后

1丨     转到目录下

2丨     ~$ roscd wt931/scripts   //或cd wt931/scripts

3丨     ~$ sudo chmod 777 main.py

4、检查运行情况

1丨        运行文件

2丨        ~$ roslaunch wt931 wt931.launch

再开一个命令行终端

1丨       查看话题数据

2丨       ~$ rostopic echo /imu

5、Rviz下的演示

1丨        ~$ rviz

这里由于imu数据更新比较快,因此把左边的imu话题中的HistoryLength调成500,能够比较好的同时观察到500帧数据。

6、其他

这一切都是在windows下进行官方的miniIMU.exe配置之后进行的工作。为了速率,我设置 921600 为波特率,并且只选择读取 加速度、角速度、角度、欧拉角进行配置。

建议先在官方提供的miniIMU上面把设备校准到比较好的效果之后,在来实践前面5布操作。

如果,出现串口打开失败,请检查一下设备的波特率或者换一根usb线,调整过之后,一般就能够解决大部分问题。




回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条

手机版|小黑屋|与非网

GMT+8, 2024-4-20 21:45 , Processed in 0.109328 second(s), 15 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.