ROS2中用MoveIt2控制自己的舵机机械手(2)

1.前言

ROS2中用MoveIt2控制自己的舵机机械手(1)中,已经实现了用moveit发送规划好的轨迹给我们自己弄的节点,然后我们自己的节点假装自己完成了执行。
接下来开始搞下位机部分。
这篇博客主要是对下位机以及机械手进行选型。

2.硬件选型

本次“项目”用到的硬件如下
在这里插入图片描述

笔记本电脑:负责机械手的姿态显示、路径规划、路径下发等操作。

STM32单片机:负责接收上位机(电脑)下发的路径信息,将信息中的关节角度信息换算成PWM的脉宽信息后,通过IIC写入至驱动板。

PCA9685模块(舵机驱动板):接收单片机发送过来的脉冲宽度信息,输出PWM信号驱动机械手。

六轴机械手:接收驱动板的pwm信号,执行动作。
可以看到,目前该机械手是个开环控制系统。

2.1 STM32单片机

单片机选了 STM32F103C8T6单片机开发板,它本身具有USB串口一键下载功能。可以很方便地进行程序的下载、通讯。
在这里插入图片描述

另外,可以用stm32cubeIDE来进行stm32程序的开发。比之前用uVision开发方便多了。
在这里插入图片描述

2.2 PCA9685模块

参考资料:https://www.guyuehome.com/41021
该模块最多可以驱动16路的舵机,但是有一些问题要注意一下。

a、16路的PWM只能使用同一个频率
但是对于我们控制舵机而言,问题不大。因为控制舵机的PWM信号周期要求是20ms,然后通过控制脉冲宽度来控制舵机转动角度的。

b、每次IIC通讯只能设置(更新)一路的PWM脉宽值。
该芯片不支持批量设置寄存器的值(其实支持,但是支持的是一次性设置所有寄存器;主要是不支持一次性读写任意相邻的寄存器),所以要用个for循环来逐一设置各个舵机的角度。
如此一来,可能会导致机械手的动作看起来比较奇怪。

2.3 6轴机械手

本来想买支架、买舵机自己装一个的,但是选型统计之后发现,分开买零件和直接买一个整体,价格差不了多少;而且整体的话,人家会配好零件、舵机、轴承、螺钉等配件,方便很多。所以选择购买整体的。
(有点小贵。。。)
在这里插入图片描述

但是,购买的机械手他们没有提供3D模型。我们后面在用moveIt时,要用到3d模型。
没法子,只好自己画一下咯。
在这里插入图片描述
目前还没画完,主要是一些零件的尺寸他们没标出来。等东西到了,再量一下尺寸,完善一下。

2.总结

目前东西都已经在淘宝下单,接下来就等东西到了再继续搞了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值