Choreo Robo Config Questions

My team and I have been working with choreo to get our auto paths to run. However, I have some concerns regarding the robot config, and any help on it would be appreciated

We know our robots mass, are relatively sure about it’s MOI, and have just empirically found its max speed and acceleration. The speed and acceleration values were 3.48mps and 1.92mps^2 respectively. When going into the choreo config, my idea was to adjust the motor max speed and motor max torque until the theoretical values in the bottom left matched the numbers we found experimentally. This resulted in a fairly reasonable value for the max speed (as in, not too far the motor calculator output of 4704), but the max torque is now far lower than the motor calculation originally gave (neo at 40amp limit gives 0.725 Nm). Is this ok, or is something wrong? It’s possible our MOI is a bit off (if 4.7 seems bad, please lmk), but changing that value did not affect the theoretical speed in the bottom left anyway.

For reference, we found our drive data by running all drive motors in the same direction on a large (36ft) carpeted space at 10V. 10V because past that, it seemed to be drawing too much from the battery and was unable to hold that as a steady voltage. We are using Neo 1.1’s as drive motors

I additionally have a similar idea to this to calculate the robot’s MOI empirically, via setting 10v to drive motors but having them spin the bot to find its angular acceleration and adjusting moi until that fits. Would that be ok as well?

Thank you in advance!

1 Like

Awesome post, lots of great questions here. Let me see if I can rearrange them and provide at least some partial answers. (As an ME, I am learning/re-learning this for myself as well, I’m not working from an intuitive understanding.)

.
1. Does your concept for deriving motor speed from the observed chassis velocity make sense?
Yes, as you are simply rearranging some algebra.

.
2. Does the result you found for motor speed (4400 RPM) make sense?
Yes, I think so. The max velocity you found corresponds fairly well to a system running at 9.3V, see Recalc model. Given that you’ve said the output was limited to 10V max, I think it’s a reasonable result.

.
3. Does your concept for deriving derive motor torque from the observed chassis acceleration make sense?
I don’t see why not, since again you are rearranging the algebra found here.

.
4. Does the result you found for motor torque (0.206 N*m) make sense?
Not really… at least not to me. I think we need more information. I would love if an EE would come and flex their knowledge here.

At 10V, the torque should actually be even higher at 40A since the motor is comparatively closer to stall at that condition…

T = kT * A
0.87 N-m = (3.02 N-m / 139 A) * 40 A
Referencing motors.vex.com’s curve for the Neo at 10V

=> I think we need to know what supply-side or stator-side current limits were imposed during your empirical testing.

To achieve only 1.92 m/s^2 (6.3 ft/s^2), it looks to me like the motor would need to be limited to ~13A per the above Recalc model (which I believe models supply current).

.
5. Does it make sense to limit Choreo’s trajectories to the max motor speed and torque derived from the empirical testing?
I believe this is the fundamental question you are asking! I think the answer is yes, because it will lead to trajectories that you can have greater confidence in… you can trust that that your bot will actually be able to handle what is asked of it.

.
6. Does MOI impact linear velocity and acceleration?
No.

.
7. Does 4.7 kg*m^2 seem like a reasonable MOI?
Yes, for a robot on the smaller side, with most of its mass concentrated at the center.

See our doc page Estimating Moment of Inertia for some suggestions here.

For 2363-2022, we used 5.6 kg*m^2 for based on these assumptions:

  • ~75% of the robot mass lies uniformly distributed along a hoop with radius ~14" from the CG. This represents the chassis rails, swerve modules, bumper, battery, intake, etc.
  • The remainder of the robot mass lies uniformly distributed along a hoop with radius ~6" from the CG. This represents the shooter subsystem and the 3 related actuators, bellypan electronics, etc.

.
8. Does your concept for deriving MOI from the behavior of a rotationally accelerating robot make sense?
Yes again :slight_smile:

3 Likes

Thank you so much for your response, that’s super helpful!

I’m in agreement that the torque seems low. However, I just ran the test again, this time checking current draws, and it seems to be pulling between 20-40 amps for the majority of the run, far higher than your calculed 13 amps. We are using many of the same neo motors on the drivetrain as we did last year, so maybe it’s just a motor inefficiency problem caused by use? If you or anyone else has any ideas about how we can increase our acceleration/torque, that’d be greatly appreciated.

Allowing more current though the motor is the best way to increase acceleration & torque.

For reference: we set the SmartCurrentLimit on our SparkMAXes to 80A (which also happens to be the factory default value), and even this is a touch conservative, IMO.

Are you configuring a current limit for drive motors?

This 20-40A, are you reading it upstream or downstream of your motor controllers?

Are you tripping breakers at your power distribution board during acceleration?

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.