MPU6050+Arduino mega2560(dmp-kalman)并发送数据到ROS

来源:互联网 发布:广州980数控编程视频 编辑:程序博客网 时间:2024/06/05 11:57

1 Arduino IDE安装
可以从软件园直接安装,但是版本好像不太新,有些函数可能找不到,可去官网或者论坛中找较新的版本安装;

2 硬件装配
注意对应引脚的接线方式,引脚旁边有对应的标识,接上对应的口就ok, 网上大部分的接线图都是UNO版本的,所以稍有差别,应当留心。
接号线后,可以测试一下是否成功:
可先看看这里
3 用mpu6050自带的处理器dmp融合数据
代码地址:
这里写链接内容
其中Arduino文件夹下包含了MPU6050的dmp处理代码,运行时,在IDE中打开相应文件编译即可。可能会报找不到一些头文件的问题,这个时候只需要在文件夹下搜索下,将对应文件复制到烧写文件的同级目录就可以(可能会复制了仍然找不到,重启下IDE就可以)。编译成功后就可以烧写进Arduino了。注意,这个时候如果没有可烧写的设备,那么有可能是在启动IDE时未使用sudo启动。另外还需给对应的设备赋予权限才行。如sudo chmod 777 /dev/ttyACM0

4 用Kalman滤波方法处理数据
代码地址:
这里写链接内容
值得注意的是,该代码里面的输出值是角度,若要获得角速度,则需要再对输出角度进行微分。经测试,角速度勉强可用,但是线性加速度暂时没法验证,不知可用与否。

5 发送消息到ROS
参考ROS里面的串口驱动包:
(http://wiki.ros.org/rosserial_arduino)

3 2