admin管理员组文章数量:1794759
机械臂编程
机械臂编程
现在,手臂已经组装好了,是时候将其提升到一个新的水平。 现在是释放野兽并完全控制整个机器人手臂的时候了。 在这篇文章的结尾,您应该对如何对该机械臂进行编程以完成您想要的事情有一个想法。 要了解我如何到达这里,请访问我以前的文章,该文章描述了组装过程- 构建自己的机器人手臂-组装 。
你需要什么再一次,您将需要一些额外的硬件来促进对伺服器的并行控制,并需要使用焊料来组装屏蔽层。
- 伺服防护罩(就像我使用的Adafruit 16通道pwm斜杠伺服防护罩 -大约16欧元)
- 焊锡机
- Arduino IDE
让我们从第一步开始-准备伺服屏蔽。 如果您购买了随时可用的伺服护罩,则可以随时跳过此部分。 此处的主要目标是最终完成组装后的伺服护罩,如下图所示。
订购Adafruit防护罩时,它会像这样到达,您必须自己将其焊接在一起。 如果您以前有焊接经验,那应该是小菜一碟。 如果这是您的第一个焊接项目,建议您观看一些YouTube视频,以了解如何焊接和组装Arduino屏蔽罩。 准备就绪后,请查看有关如何组装防护罩的 Adafruits教程。
准备好防护罩后,尝试将其中一个伺服器连接到它。 请记住,您需要将PWM,V +和GND引脚与伺服输出线匹配。
程式设计
要使用此屏蔽,我们需要能够以编程方式解决它。 Adafruit发布了一个库,以方便在此处使用 。 我还建议浏览库GitHub存储库 ,并查看用法示例。
研究和发展在这一点上,需要一些研究。 目的是找到每个舵机的边缘位置或中间舵机的边缘位置,以便以后可以将它们用作参考点。 您需要尝试几个值来找到适合您的构建的最佳位置。 根据伺服规格,这些伺服的工作频率为50 Hz。 当涉及到伺服运动时,您需要检查的光谱范围是0到4096。您将获得的值是根据您组装手臂的方式得出的,因此它们可能与我的有所不同。
在这一点上,您可能希望利用以下方法简化伺服器的控制:
伺服写入方式
float SERVOFREQ = 50; float pulseconstant; void setup() { pulseconstant = (1000000/SERVOFREQ)/4096; } void servoWrite(uint8_t n, float pulse) { float pulsetick = pulse/pulseconstant; pwm.setPWM(n, 0, pulsetick); }对我有用的价值观如下:
- 基本伺服
- 左右旋转手臂
- 高度伺服
- 改变抓爪的高度
- 长度伺服
- 改变手臂的范围
- 手柄伺服
- 打开和关闭抓手
伺服运动只是根据要移动伺服器的方向更改值的问题。
最终代码将所有零件放在一起会得到一个像这样的简单草图。 该草图的全部目的是将手臂设置到其初始位置。
初始位置草图
#include <Adafruit_PWMServoDriver.h> Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(); #define BASE 0 #define HEIGHT 1 #define LENGTH 2 #define GRIP 3 float base_init = 1440; float height_init = 1675; float length_init = 1440; float grip_init = 2155; float SERVOFREQ = 50; float pulseconstant; void setup() { pulseconstant = (1000000/SERVOFREQ)/4096; pwm.begin(); pwm.setPWMFreq(SERVOFREQ); servoWrite(BASE, base_init); servoWrite(HEIGHT, height_init); servoWrite(LENGTH, length_init); servoWrite(GRIP, grip_init); } void loop() { } void servoWrite(uint8_t n, float pulse) { float pulsetick = pulse/pulseconstant; pwm.setPWM(n, 0, pulsetick); } 接下来是什么?此时,您应该将机器人手臂抬起并开始操作。 鉴于您的编程能力,您可以对其进行编程以完成自己喜欢的事情。 但这还不够(至少对我而言)。 这种设置很酷,但缺少交互性。 因此,在我的下一个也是最后一篇名为“构建您自己的机器人手臂-远程控制”的文章中,我将探讨交互式控制手臂的选项。 有多种选择,例如台式机应用程序或移动应用程序,但是由于我拥有PlayStation 4,因此我决定使用PS4无线控制器来控制手臂。 是的,这很有趣:)
这篇文章中使用的所有图片均来自adafruit 。 随时检查他们。
翻译自: www.javacodegeeks/2015/07/build-your-own-robot-arm-programming.html
机械臂编程
本文标签: 机械
版权声明:本文标题:机械臂编程 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686558958a81805.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论