Convert the RobStride no-load speeds from rpm correctly - #21
Merged
Merged
Conversation
velocity_limit is the no-load output speed of each datasheet, which gives
it in rpm. Six of the seven tables divided the rpm by 2*pi instead of
multiplying it by 2*pi/60, so they were 60/(4*pi^2) = 1.52 times too high:
model datasheet was (rad/s) is (rad/s)
RS01 315 rpm 50.13 32.99
RS02 410 rpm 65.25 42.94
RS03 200 rpm 31.83 20.94
RS04 200 rpm 31.83 20.94
RS05 480 rpm 76.39 50.27
RS06 480 rpm 76.39 50.27
RS00 (315 rpm, 32.99 rad/s) was right and keeps its value. The rpm
figures are the 空载转速 of the RobStride user manuals (使用说明书 251014),
and every peak torque in the tables matches the same manuals.
Each value is now written as rpm * RPM_TO_RAD_PER_S, so the datasheet
number and its conversion are both in the file.
A consumer that models the torque-speed curve, such as the DC-motor
actuator of lite-motion-tracking, gave these motors 1.52 times their real
speed range, and it exported that limit to the deployment.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Each velocity_limit is now the converted value, rounded to 2 decimals, with the datasheet rpm in its comment. RS00 goes from 32.987 to 32.99 rad/s. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
velocity_limitinlite_description/actuators/robstride.pyis the no-load output speed of each RobStride datasheet, which the datasheet gives in rpm. Six of the seven tables divided the rpm by 2π instead of multiplying it by 2π/60, so they were 60/(4π²) = 1.52× too high:The rpm values are the 空载转速 (no-load speed) of the RobStride user manuals (使用说明书 251014). The peak torques in the tables match the same manuals.
Each
velocity_limitis the converted value, rounded to 2 decimals. The datasheet rpm is in the comment of each line.Impact
A consumer that models the torque-speed curve, such as the DC-motor actuator of lite-motion-tracking, gave these motors 1.52× their real speed range. It also exported that limit to the deployment as
joint_velocity_limit.Not changed
The Damiao tables in
damiao.pymay have the same error: each value × 2π is a round rpm figure (J4340P 100, J6248P 60, JH11-51 60, J4310 450). I had no Damiao datasheet to check against, so they stay as they are.sito.py(TA40-101: 4.19 rad/s = 40 rpm) looks correctly converted.Test plan
pytest: 1590 passed, 36 skippedvelocity_limitequals the datasheet rpm × 2π/60, rounded to 2 decimals🤖 Generated with Claude Code