社区导航

 

搜索
查看: 1524|回复: 1

[原创] 球形六足机器人宠物——SensorTile模块使用说明

[复制链接]

37

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-5-3 17:51 | 显示全部楼层 |阅读模式
本帖最后由 liren1979 于 2017-5-3 18:00 编辑

详细说明见作品说明书!!!!
    正常情况下,由于六足机器人各个关节机械结构存在加工误差、安装误差,机器人爬行时表现出极强的各向异性特征,即机器人前进爬行时的运动轨迹是椭圆弧而不是直线。本次设计借鉴四轴飞行器导航原理,利用惯性导航模块为机器人爬行加入矫正反馈环节。惯性导航模块由三轴陀螺仪、三轴加速度计、三轴磁力计三个部分组成。三轴陀螺仪和三轴加速度计可通过数据融合算法合成得到 YZ平面、XZ平面的欧拉角位移,XY平面欧拉角位移通过三轴磁力计补偿获取。本次设计选用SensorTile的LDM6DSM的三轴陀螺仪、三轴加速度计和LSM303AFG三轴磁力计作为机器人的惯性导航反馈单元。SensorTile扩展板运算结果通过UART与机器人控制通信。
使用模块实物图片
  机器人的前进动作采用经典 PID控制方法,具体控制方法为:机器人的 A、B两组腿采用非对称控制方式,即机器人的前进运动由旋转动作和滑行动作两个动作合成,其中,A、B两组腿的滑行动作滑行距离相等,旋转动作旋转角度根据 PID运算求得。若机器人当前读取的 Yaw航向角小于控制指令,表明机器人已向左偏离预期方向,此时控制 B组腿的执行较大角度的右偏旋转角度,使机器人回到预计运行轨迹;反之,增加A组腿的左偏旋转角度。
  运动计算的流程图如图 3.19所示:控制器首先读取惯性导航模块的航向角 Yaw数据,同时与指令数据 Expected_Angle进行 PID运算得到偏差角度 Angle_ErrorData;随后将该数据代入将旋转运动和滑动运动合成的运动计算公式获得腿部末端的坐标;均将后将腿部末端数据代入图 2.4公式求得每条腿三个关节舵机的旋转角度。
  运动计算的部分代码如图 3.20所示,其中 FAngle_ErrorData为 A组角度偏差数据, SAngle_ErrorData为 B组腿角度偏差数据。图 2.4的 D-H算法计算公式代码如图 3.21所示,其中 degree数组的三个元素分别为每条腿三个关节的舵机旋转角度。
  另外,机器人可通过安卓APP控制,手机与机器人的通信通过SensorTile的BlueNRG蓝牙芯片       
   github相关代码:https://github.com/liren197968/code/tree/master







回复

使用道具 举报

9847

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2017-5-3 20:46 | 显示全部楼层
六足机器人,很有潜力啊


回复

使用道具 举报

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

关闭

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

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-2-28 13:28 , Processed in 0.109779 second(s), 17 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表