Documentation fixes for unit change

Fixed naming, docs, and test for CAN protocol - set trap traj a per css is now set trap traj inertia
This commit is contained in:
PAJohnson
2020-07-28 20:49:55 -04:00
parent 0670017a25
commit b0700ef371
12 changed files with 41 additions and 42 deletions
+19 -19
View File
@@ -32,9 +32,9 @@ t motor destination
```
* `t` for trajectory
* `motor` is the motor number, `0` or `1`.
* `destination` is the goal position, in encoder counts.
* `destination` is the goal position, in [turns].
Example: `t 0 -20000`
Example: `t 0 -2`
For general moving around of the axis, this is the recommended command.
@@ -45,26 +45,26 @@ For basic use where you send one setpoint at at a time, use the `q` command.
If you have a realtime controller that is streaming setpoints and tracking a trajectory, use the `p` command.
```
q motor position velocity_lim current_lim
q motor position velocity_lim torque_lim
```
* `q` for position
* `motor` is the motor number, `0` or `1`.
* `position` is the desired position, in encoder counts.
* `velocity_lim` is the velocity limit, in counts/s (optional).
* `current_lim` is the current limit, in A (optional).
* `position` is the desired position, in [turns].
* `velocity_lim` is the velocity limit, in [turns/s] (optional).
* `torque_lim` is the torque limit, in [Nm] (optional).
Example: `q 0 -20000 10000 10`
Example: `q 0 -2 1 0.1`
```
p motor position velocity_ff current_ff
```
* `p` for position
* `motor` is the motor number, `0` or `1`.
* `position` is the desired position, in encoder counts.
* `velocity_ff` is the velocity feed-forward term, in counts/s (optional).
* `current_ff` is the current feed-forward term, in A (optional).
* `position` is the desired position, in [turns].
* `velocity_ff` is the velocity feed-forward term, in [turns/s] (optional).
* `torque_ff` is the current feed-forward term, in [Nm] (optional).
Example: `p 0 -20000 0 0`
Example: `p 0 -2 0 0`
Note that if you don't know what feed-forward is or what it's used for, simply omit it.
@@ -72,14 +72,14 @@ This command updates the watchdog timer for the motor.
#### Motor Velocity command
```
v motor velocity current_ff
v motor velocity torque_ff
```
* `v` for velocity
* `motor` is the motor number, `0` or `1`.
* `velocity` is the desired velocity in counts/s.
* `current_ff` is the current feed-forward term, in A (optional).
* `velocity` is the desired velocity in [turns/s].
* `torque_ff` is the torque feed-forward term, in [Nm] (optional).
Example: `v 0 1000 0`
Example: `v 0 1 0`
Note that if you don't know what feed-forward is or what it's used for, simply omit it.
@@ -87,11 +87,11 @@ This command updates the watchdog timer for the motor.
#### Motor Current command
```
c motor current
c motor torque
```
* `c` for current
* `motor` is the motor number, `0` or `1`.
* `current` is the desired current in A.
* `torque` is the desired current in [Nm].
This command updates the watchdog timer for the motor.
@@ -103,8 +103,8 @@ response:
pos vel
```
* `f` for feedback
* `pos` is the encoder position in counts (float)
* `vel` is the encoder velocity in counts/s (float)
* `pos` is the encoder position in [turns] (float)
* `vel` is the encoder velocity in [turns/s] (float)
#### Update motor watchdog
```
+1 -1
View File
@@ -54,7 +54,7 @@ CMD ID | Name | Sender | Signals | Start byte | Signal Type | Bits | Factor | Of
0x010 | Start Anticogging | Master | - | - | - | - | - | - | -
0x011 | Set Traj Vel Limit | Master | Traj Vel Limit | 0 | IEEE 754 Float | 32 | 1 | 0 | Intel
0x012 | Set Traj Accel Limits | Master | Traj Accel Limit<br>Traj Decel Limit | 0<br>4 | IEEE 754 Float<br>IEEE 754 Float | 32<br>32 | 1<br>1 | 0<br>0 | Intel<br>Intel
0x013 | Set Traj A per Count / s^2 | Master | Traj A per CSS | 0 | IEEE 754 Float | 32 | 1 | 0 | Intel
0x013 | Set Traj Inertia | Master | Traj Inertia | 0 | IEEE 754 Float | 32 | 1 | 0 | Intel
0x014 | Get IQ\* | Axis | Iq Setpoint<br>Iq Measured | 0<br>4 | IEEE 754 Float<br>IEEE 754 Float | 32<br>32 | 1<br>1 | 0<br>0 | Intel<br>Intel
0x015 | Get Sensorless Estimates\* | Master | Sensorless Pos Estimate<br>Sensorless Vel Estimate | 0<br>4 | IEEE 754 Float<br>IEEE 754 Float | 32<br>32 | 1<br>1 | 0<br>0 | Intel<br>Intel
0x016 | Reboot ODrive | Master\*\*\* | - | - | - | - | - | - | -
+2 -2
View File
@@ -94,9 +94,9 @@ There is one additional configuration parameter specifically for the homing proc
Name | Type | Default
--- | -- | --
homing_speed | float | 2000.0f
homing_speed | float | 0.25f
`homing_speed` is the axis travel speed during homing, in counts/second. If you are using SPI based encoders and the axis is homing in the wrong direction, you can enter a negative value for the homing speed and a negative value for the minimum endstop offset.
`homing_speed` is the axis travel speed during homing, in [turns/second]. If you are using SPI based encoders and the axis is homing in the wrong direction, you can enter a negative value for the homing speed and a negative value for the minimum endstop offset.
### Performing the Homing Sequence
+1 -1
View File
@@ -296,7 +296,7 @@ In the above image blue is position and orange is velocity.
`vel_limit` is the maximum planned trajectory speed. This sets your coasting speed.<br>
`accel_limit` is the maximum acceleration in turns / sec^2<br>
`decel_limit` is the maximum deceleration in turns / sec^2<br>
`controller.config.inertia` is a value which correlates acceleration (in turns / sec^2) and motor current. It is 0 by default. It is optional, but can improve response of your system if correctly tuned. Keep in mind this will need to change with the load / mass of your system.
`controller.config.inertia` is a value which correlates acceleration (in turns / sec^2) and motor torque. It is 0 by default. It is optional, but can improve response of your system if correctly tuned. Keep in mind this will need to change with the load / mass of your system.
All values should be strictly positive (>= 0).
+1 -1
View File
@@ -102,7 +102,7 @@ Pinout:
To enable step/dir mode for the GPIO, set `<axis>.config.enable_step_dir` to true for each axis that you wish to use this on.
Axis 0 step/dir pins conflicts with UART, and the UART takes priority. So to be able to use step/dir on Axis 0, you must also set `odrv0.config.enable_uart = False`. See the [pin function priorities](#pin-function-priorities) for more detail. Don't forget to save configuration and reboot.
There is also a config variable called `<axis>.config.turns_per_step`, which specifies how many encoder counts a "step" corresponds to. It can be any floating point value.
There is also a config variable called `<axis>.config.turns_per_step`, which specifies how many turns a "step" corresponds to. The default value is 1.0f/1024.0f. It can be any floating point value.
The maximum step rate is pending tests, but it should handle at least 50kHz. If you want to test it, please be aware that the failure mode on too high step rates is expected to be that the motors shuts down and coasts.
Please be aware that there is no enable line right now, and the step/direction interface is enabled by default, and remains active as long as the ODrive is in position control mode. To get the ODrive to go into position control mode at bootup, see how to configure the [startup procedure](commands.md#startup-procedure).
+1 -1
View File
@@ -211,7 +211,7 @@ To change what parameters are plotted open odrivetool (located in Anaconda3\Scri
my_odrive.axis1.encoder.pos_estimate,
])
```
For example, to plot the approximate motor torque [N.cm] and the velocity [RPM] of axis1 with a 150KV motor and an 8192 count per rotation econder you would modify the function to read:
For example, to plot the approximate motor torque [Nm] and the velocity [RPM] of axis0, you would modify the function to read:
```
# If you want to plot different values, change them here.
# You can plot any number of values concurrently.