Duetを使ったロボットアーム製作

DuetにはKinematicsを変更できるので,ステッピングモーターを使った自作ロボットアームも制御することができます.

ただし,このKinematicsは線形結合である必要があります(例:x=a * D1 + b * D2 + c * D3)

線形結合である場合以下のように行列を入力する

Parameters for Cartesian/CoreXY/CoreXZ/CoreXYU/CoreXYUV/MarkForged kinematics (RRF 2.03 and later only)
Xnn:nn:nn… Motor movement coefficients required to move X axis (first row of matrix)
Ynn:nn:nn… Motor movement coefficients required to move Y axis (second row of matrix)
Znn:nn:nn… Motor movement coefficients required to move Z axis (third row of matrix)
Unn:nn:nn…, Vnn:nn:nn… etc. Motor movement coefficients required to move U, V… axes (fourth and subsequent rows of matrix)
All these parameters are optional. The movement coefficient matrices are initialised to suitable value for the kinematics type you selected in the M667 or M669 command, but you can modify them using these parameters. If you send M669 with no parameters, the existing matrix will be reported.

Examples

M669
Kinematics is Cartesian, matrix:
1.00 0 0
0 1.00 0
0 0 1.00
CoreXY with extra Markforge U axis (see https://forum.duet3d.com/post/136554 )

M669 K1 X1:1:0:0 Y1:-1:0:-1 Z0:0:1:0 U0:0:0:1
Note U motor values in X, Y, Z and U parameters come after the Z motor values. M669 reports:

M669
Kinematics is modified CoreXY, matrix:
1.00 1.00 0 0
1.00 -1.00 0 -1.00
0 0 1.00 0
0 0 0 1.00

https://duet3d.dozuki.com/Wiki/Gcode#Section_Parameters_for_Cartesian_CoreXY_CoreXZ_CoreXYU_CoreXYUV_MarkForged_kinematics_RRF_2_03_and_later_only

SCARA型は以下

Parameters for serial SCARA kinematics
Pnnn Proximal arm length (mm)
Dnnn Distal arm length (mm)
Annn:nnn Proximal arm joint movement minimum and maximum angles, in degrees anticlockwise seen from above relative to the X axis
Bnnn:nnn Proximal-to-distal arm joint movement minimum and maximum angles, in degrees anticlockwise seen from above relative to both arms in line
Cnnn:nnn:nnn Crosstalk factors. The first component is the proximal motor steps to equivalent distal steps factor, the second is the proximal motor steps to equivalent Z motor steps factor, and the third component is the distal motor steps to equivalent Z motor steps factor.
Rnnn (optional, RRF 2.03 and later only) Minimum permitted printing radius from the proximal axis. If not specified, it will be calculated to be slightly larger than the distance between nozzle and proximal axis when the distal axis is homed.
Snnn Segments per second (because smooth XY motion is approximated by means of segmentation)
Tnnn Minimum segment length (mm) (because smooth XY motion is approximated by means of segmentation)
Xnnn X offset of bed origin from proximal joint
Ynnn Y offset of bed origin from proximal joint
Examples

M669 K4 P300 D250 A-90:90 B-135:135 C0:0:0 S100 X300 Y0
The minimum and maximum arm angles are also the arm angles assumed by the firmware when the homing switches are triggered. The P, D, A and B parameters are mandatory. The C, X and Y parameters default to zero, and the segmentation parameters default to firmware-dependent values.

https://duet3d.dozuki.com/Wiki/Gcode#Section_Parameters_for_serial_SCARA_kinematics

SCARA型について→もうすでに機能がある
https://forum.duet3d.com/topic/12147/duet-for-robotics

3軸ロボについて→自分で開発してくれ
https://forum.duet3d.com/topic/10137/duet-to-move-a-3-dof-robot?_=1592794098695