复刻Dummy机械臂保姆教程

发布于:2025-02-25 ⋅ 阅读:(18) ⋅ 点赞:(0)

一直想复刻稚晖君的Dummy机械臂,24年11月底终于开始行动,上网学习、材料准备、组装调试前后耗时1个多月,终于在春节前顺利完工,正好用它给大家拜个年。很多同学在咨询细节,这里就整理一份保姆式教程,其中学习借鉴了bilibili的“木子晓汶”“不爱学习任同学”等共享的资料,希望对大家有帮助。

拜年视频:Dummy给大家拜年了

一、零配件采购

Dummy机械臂的配件分为机械臂主体(CNC或3D打印件)、步进电机、谐波减速器、控制电路(Ref主控板、电机控制板)、其它配件(同步轮、皮带、螺丝、线缆等),我这里使用的是CNC,以及成品控制电路(部分代码需要重新烧录)。本文使用的是“木子晓汶”Dummy2全谐波无刷电机版,电路板为V1.01版本。文章最后附有我整理的零配件采购清单。

二、软件环境

1.安装虚拟环境

(1)从网盘下载虚拟机文件。该虚拟文件包括了Dummy编译调试所需使用的软件(包括Ubntu、Clion、CLI-Tool、DummyStudio、Dummy源代码、3D模型等等),相关环境配置也设置好,安装好虚拟机后可直接使用。下载链接:https://pan.baidu.com/s/1f0q63Wy9RGFZxN248lNdEQ?pwd=sz4p 提取码: sz4p

(2)运行安装VirtualBox-7.0.12-159484-Win.exe(按缺省配置安装)

(3)注册安装Ubntu虚拟机,对显示和终端进行配置

(4)解决跨系统复制粘贴问题

“设备”—>“安装增强功能”,打开左边栏“VBox_GAs_7.0.12”,并右键选择在终端打开,运行“sudo ./VBoxLinuxAdditions.run”,然后重启服务,设置“共享粘贴板”—>“双向”即可使用。

2.运行Clion烧录程序

(1)安装Git服务

sudo apt install git

(2)从Git克隆最新代码文件(可选,虚拟机已有Dummy源代码)

git config --global user.name '******'

git config --global user.email '******+******@user.noreply.gitee.com'

git clone https://gitee.com/switchpi/dummy.git

(3)在终端执行“/opt/clion-2023.2/bin/clion.sh”启动Clion

(4)加载程序后就可以进行编译了。

(5)配置烧录环境。配置编译环境OpenOCD,选择执行文件,进入修改配置界面。

选择“+”添加配置,选择“OpenOCD”,然后设置文件名,再设置stlink.cfg文件路径。

如不清楚stlink.cfg文件路径,可回到编译界面直接搜索,或打开终端,找到路径下的stlink.cfg文件,输入pwd并复制路径。再次进入配置界面,把复制的路径粘贴到主板配置文件处,添加文件名stlink.cfg,最后应用保存即可。

(6)烧录程序。使用stlink进行烧录,接线如下(如图):将ref板的P2插槽的P1(GND)、P2(SWCLK)、P3(SWDIO)分别与stlink的GND、SWCLK、SWDIO脚进行连接。给dummy接上24V电源并打开开关,选择“设备”—>“USB”—>“stlink”,然后即可开始烧录程序。

具体可参见视频:Dummy机械臂——烧录软件

三、电路及电机测试

1、连接ref控制主板

连接开关和24V电源插座,24V接主板电源输入焊点(P3旁边,+号接正),开关灯接主板灯电源焊点(P3旁边)。P3用来接环形LED灯,3个引脚分别为GND、VCC、RGB。

2、连接步进电机主板

将电机按以下顺序与驱动板连接:

42电机(以张大头步进电机为例)

插脚序号

1

3

4

6

引脚

A+

B+

A-

B-

配线颜色

绿

35电机(以张大头步进电机为例)

插脚序号

1

3

4

6

引脚

A+

B+

A-

B-

配线颜色

绿

35电机(以夹爪电机例)

插脚序号

引脚

A+

B+

A-

B-

配线颜色

绿

然后用6P排线同向线将ref控制主板P1连接到42步进电机(电机1)主板输入口。电机1到电机2,以及后续店家均使用6P排线反向线。注意:不同版本的电机驱动板在使用同向或反向线时可能会有所不同,具体要查看电路或咨询卖家。

同向线:

反向线:

3、校准电机

开机后Led1、Led2常亮,长按K1键松开后电机自动左右旋转,后Led2灯由闪烁变为常亮,表示完成校准。单按一下K1键,电机进入使能状态,Led1亮、Led2灭,再次单按一下K1键,电机解锁,Led1、Led2均亮。

以上操作可在机械臂组装完成后再进行。

4、设置电机顺序

通过S1跳线的ID1、ID2、ID3来设置驱动板对应电机的顺序,分别设置为001、002...110,如下表:

ID4

ID3

ID2

ID1

J1

ON

J2

ON

J3

ON

ON

J4

ON

J5

ON

ON

J6

ON

ON

5、连接并测试电路

参考视频:Dummy机械臂——电路连接测试

6、组装安装电机和驱动板

参考视频:Dummy机械臂——安装电机控制板

四、组装谐波减速器

首先需要安装1、4号电机减速器。在谐波减速器上放置密封环,并在腔体内均匀抹上适量润滑油,将钢轴插入柔轮内拧紧螺丝固定,在钢珠上抹上少许润滑油,然后将柔轮一边旋转一边插入谐波减速器腔体。

参考视频:Dummy机械臂——安装1、4号电机减速器

五、安装机械臂各关节

1、安装基座部分

(1)安装J1谐波减速器

(2)安装控制面板

(3)安装底座

参考视频:Dummy机械臂——安装底座J1电机、主控板和面板

2、安装J2、J3电机和减速器

参考视频:Dummy机械臂——安装J2、J3电机和减速器

3、安装J1、J4和J5

参考视频:Dummy机械臂——安装J1、J4和J5

4、连接J1和J2J3,安装J6电机

参考视频:Dummy机械臂——连接J1和J2J3,安装J6电机

5、安装J5电机及减速器,连接J5和J6

参考视频:Dummy机械臂——安装J5电机及减速器,连接J5和J6

6、连接J3和J4,连接线路

参考视频:Dummy机械臂——连接J3和J4,连接线路

7、底座固定

将机械臂底座固定在木板或铝板上,防止运动过程中倾倒。

8、连接电缆并检查测试

按电路测试时的顺序连接各电机驱动板和主控电路。

六、功能测试

1、CLI-Tool配置使用

(1)选择串口设备,“设备”—>“USB”—>“Robot Embedded Framework REF 1.0 CDC Interface”(注意这里USB有正反,如USB插反了会找到CPR2102串口)

(2)启动CLI-Tool

cd CLI-Tool/

python3 run_shell.py

启动后需稍等一段时间,当系统显示“Connect to Dummy-Robot......”即可开始输入控制命令。

(3)命令行控制

输入“dummy0.”按Tab键,右侧将出现命令行提示,根据需要调用。常用控制命令如下:

dummy0.robot.calibrate_home_offset  //校准

dummy0.robot.joint_1.set_position_with_time  //控制第1关节运动

dummy0.robot.joint_all  //所有关节

dummy0.robot.move_j  //关节坐标系

dummy0.robot.move_ i  //世界坐标系

dummy0.robot.reboot  //重启

dummy0.robot.resting  //回位

dummy0.robot.set_enable  //电机使能

dummy0.robot.joint_1.apply_home_offset  //设置关节1电机初始位置

dummy0.robot.joint_1.do_calibration  //关节1电机校准

dummy0.robot.joint_1.set_dce_kd(_ki  _kp  _kv)  //设置关节1电机PID

......

2、DummyStudio使用

启动DummyStudio选择“连接机器人”进入命令行模式。

(1)命令行模式:

!HOME

进入HOME状态(7字型)

!START

进入使能状态

!DISABLE

退出使能状态

!RESET

回到初始(折叠)状态

&0,25,108,0,50,0,

各关节转动角度。关节1:0度;关节2:25度;关节3:108度;关节4:0度;关节5:50度;关节6:0度

(2)图形模式:

先进入命令行模式,执行!START命令使电机处于使能状态,关闭命令窗口后就可以通过右下方的滑块操作各关节运动(先选中关节轴手动),按“复位”可回到“7”字状态。

3、电机参数修正

如发现关节电机转动方向反了,可通过修改对应电机的“true”“false”值来调节,另外还要根据实际使用的谐波减速器减速比设置对应电机的数值(除了电机6,我都设置为50)。完成设置后需重新编译并烧录软件。

DummyRobot::DummyRobot(CAN_HandleTypeDef* _hcan) :
    hcan(_hcan)
{
    motorJ[ALL] = new CtrlStepMotor(_hcan, 0, false, 1, -180, 180);
    motorJ[1] = new CtrlStepMotor(_hcan, 1, true, 50, -170, 170);
    motorJ[2] = new CtrlStepMotor(_hcan, 2, false, 50, -73, 90);
    motorJ[3] = new CtrlStepMotor(_hcan, 3, true, 50, 35, 180);
    motorJ[4] = new CtrlStepMotor(_hcan, 4, false, 50, -180, 180);
    motorJ[5] = new CtrlStepMotor(_hcan, 5, true, 50, -120, 120);
    motorJ[6] = new CtrlStepMotor(_hcan, 6, true, 10, -720, 720);
    hand = new DummyHand(_hcan, 7);

    dof6Solver = new DOF6Kinematic(0.109f, 0.035f, 0.146f, 0.115f, 0.052f, 0.072f);
}

4、电机PID参数调整

如在实际调试过程中,发现某些关节出现抖动,可通过命令调整该关节电机PID参数,直到抖动消失。可使用CLI-Tool下的“dummy0.robot.joint_1.set_dce_kd(_ki  _kp  _kv)”命令进行设置(joint_1表示1号关节,依次类推)。

七、其他

1、主要配件清单:

主要配件采购清单

2、关于3D打印

组装所需的3D打印件可以自己打印,也可以在淘宝找商家打印,除CNC外,需要打印的部件如下:

需3D打印部件

由于我选择的电机和谐波减速器尺寸与原底座不太匹配,固增加了底座的高度,这是加厚型底座3D模型:修正后底座3D模型