Sim4RAD: A MATLAB Toolkit for Design-Phase Sizing, Actuator Selection and URDF-Model Verification of Serial Robotic Arms
Organizations: Tencent Robotics X Lab (affiliation when this work was conducted)
Abstract
Actuator sizing is an early and consequential decision: joint torque and velocity specifications fix the motors, gearboxes and brakes before any CAD model exists. Sim4RAD is a MATLAB toolkit for that phase and for the verification that follows it. It builds a rigid-body model from a handful of parameters, and four analyses supply the specification: a static analysis combining lever-arm sampling with a posture search, giving a rated torque at a chosen payload envelope and a reproducible peak torque; a dynamics pipeline that reshapes a trajectory under one of four constraints, including the actuator torque-speed envelope; a stochastic analysis over many random motions, so a specification rests on a class of motions, not one trajectory; and a workspace and dexterity analysis that separates where the arm can reach from how it can reach there. Replacing the synthesized model by a URDF file turns the same analyses to verification. A 7-DOF anthropomorphic arm is compared in three layouts differing in the shoulder axis order and in whether the last wrist joint is coaxial with the payload. The static demand at half arm length is nearly the same in all three, and it sizes the joints rather than the sampled motion; reordering the shoulder axes leaves the worst-case torque unchanged at 55 N m and the reachable volume within 8 percent. A last wrist joint coaxial with the payload removes its gravity torque, reduces the adjacent wrist joint by almost a third and cuts the last joint demand tenfold in a 5 m/s scan, at the price of dexterity (mean 0.570 to 0.348). The same arm needs 20 to 37 times more torque for a 5 m/s target than for a 2 s motion: the scenario, not the trajectory, must be fixed first. Verification should use the URDF model of the detailed design; the toolkit is available at https://github.com/LasterLi/Sim4RAD.
Figures & tables
| File | Content |
|---|---|
| config_modeling.yaml | gravity direction, model source (manual or URDF), |
| joint limits, end load, sampling count | |
| config_manual_robot.yaml | DOF, link/joint frames, link radii, estimated mass |
| config_dynamics.yaml | time step, planning space, interpolation, trajectory |
| definition, constraint mode, actuator parameters | |
| config_stochastic_dynamics.yaml | number of stochastic trajectories, parallelism |
| A | B | C | |
| Link 1 | as A | ||
| Link 2 | as A | ||
| Link 3 | as A | ||
| Link 4 | as A | ||
| Link 5 | as A | ||
| Link 6 | as A |
| Layout | Requirement | J1 | J2 | J3 | J4 | J5 | J6 | J7 |
|---|---|---|---|---|---|---|---|---|
| A | half-arm | 36.66 | 38.14 | 23.44 | 23.86 | 4.89 | 4.88 | 4.90 |
| A | full range | 54.95 | 54.85 | 23.79 | 23.95 | 4.89 | 4.90 | 4.90 |
| B | half-arm | 39.59 | 36.55 | 23.15 | 23.83 | 4.90 | 4.89 | 4.90 |
| B | full range | 57.14 | 55.02 | 23.79 | 23.90 | 4.90 | 4.90 | 4.90 |
| C | half-arm | 36.46 | 38.48 | 23.62 | 23.95 | 3.44 | 4.90 | 0.00 |
| C | full range | 54.97 | 54.99 | 23.92 | 23.95 | 3.44 | 4.90 | 0.00 |
| Layout | J1 | J2 | J3 | J4 | J5 | J6 | J7 |
|---|---|---|---|---|---|---|---|
| A | 55.14 | 55.14 | 23.96 | 23.96 | 4.90 | 4.90 | 4.90 |
| B | 55.14 | 55.14 | 23.96 | 23.96 | 4.90 | 4.90 | 4.90 |
| C | 55.14 | 55.14 | 23.96 | 23.96 | 3.46 | 4.90 | 0.00 |
| Functional joint | A | B | C | A: gravity | A: inertia |
|---|---|---|---|---|---|
| Shoulder pitch | 9.67 | 13.34 | 11.99 | 20.66 | 2.46 |
| Shoulder lateral | 18.82 | 14.41 | 20.54 | ||
| Shoulder yaw | 11.77 | 12.87 | 12.10 | ||
| Elbow pitch | 8.29 | 9.96 | 7.16 | ||
| Elbow roll | 1.99 | 2.36 | 0.57 | ||
| Wrist pitch | 1.10 | 1.58 | 1.55 |
| Joint | A | B | C | Limit |
|---|---|---|---|---|
| 1 | 404.61 | 426.72 | 403.73 | 135 |
| 2 | 628.01 | 587.70 | 702.74 | 135 |
| 3 | 315.25 | 205.62 | 294.14 | 67.5 |
| 4 | 263.38 | 329.96 | 308.41 | 82.8 |
| 5 | 56.89 | 59.18 | 46.27 | 82.8 |
| 6 | 65.70 | 56.91 | 78.43 | 41.4 |
| Joint | A | B | C | Limit |
|---|---|---|---|---|
| 1 | 200.95 | 162.62 | 203.38 | 90 |
| 2 | 113.29 | 141.92 | 121.80 | 90 |
| 3 | 210.75 | 192.72 | 213.22 | 90 |
| 4 | 122.51 | 126.85 | 103.42 | 180 |
| 5 | 219.89 | 344.22 | 264.70 | 180 |
| 6 | 88.73 | 91.73 | 116.40 | 360 |
| A | B | C | |
|---|---|---|---|
| Reachable positions | 246 | 265 | 245 |
| Reachable volume (m 3 ) | 0.830 | 0.894 | 0.827 |
| Mean dexterity | 0.570 | 0.594 | 0.348 |
| Maximum dexterity | 1.000 | 1.000 | 0.667 |
| Positions with dexterity | 68 % | 73 % | 21 % |
| A | B | C | |
| Difference from A | — | shoulder order swapped | last joint coaxial |
| Static half-arm ( ) | 36.7 / 38.1 / 23.4 / 23.9 / 4.9 / 4.9 / 4.9 | 39.6 / 36.6 / 23.2 / 23.8 / 4.9 / 4.9 / 4.9 | 36.5 / 38.5 / 23.6 / 24.0 / 3.4 / 4.9 / 0 |
| Static worst case ( ) | 55.1 / 55.1 / 24.0 / 24.0 / 4.9 / 4.9 / 4.9 | same as A | 55.1 / 55.1 / 24.0 / 24.0 / 3.5 / 4.9 / 0 |
| 2 s motion, max ( ) | 18.8 | 14.4 | 20.5 |
| 5 m/s scan, J2 ( ) | 628.0 | 587.7 | 702.7 |
| 5 m/s scan, J7 ( ) | 58.3 | 70.6 | 6.3 |
Robotics
Robotics studies the design and control of machines that perceive, move, and act in physical environments.
See all 751 papers