Skip to content

set parameter oplet

JamesWigglesworth edited this page Jan 23, 2019 · 102 revisions

High level Parameters in the Dexter Firmware are set with the "S" Oplet. For direct control of low level FPGA parameters, see the "w" Oplet

# Name Default Suggested Range DDE Units Socket Units Socket Type Description
0 "MaxSpeed" 30 0.001 - 45 (deg/s) (nbits) integer Maximum velocity of next move in "nbits"1. Default is 250000. See also StartSpeed below.
1 "Acceleration" 0.0001 0.0001 - 0.1 (deg/s2) (nbits) integer Maximum acceleration of next move in "nbits"1. Default is 3.
2 "J1Force" How hard each joint tries to return to commanded position in force protect modes
3 "J3Force"
4 "J2Force"
5 "J4Force"
6 "J5Force"
7 "J1Friction" 5 0-50 unitless unitless fixed point? 2 The friction felt during FollowMe mode
8 "J3Friction" 5 0-50 unitless unitless fixed point?
9 "J2Friction" 5 0-50 unitless unitless fixed point?
10 "J4Friction" 15 0-150 unitless unitless fixed point?
11 "J5Friction" 15 0-150 unitless unitless fixed point?
12 "J1BoundryHigh" 180 -180-180 (deg) (arcsec) integer
13 "J1BoundryLow" 180 -180-180 (deg) (arcsec) integer
14 "J3BoundryHigh" 180 -180-180 (deg) (arcsec) integer
15 "J3BoundryLow" 180 -180-180 (deg) (arcsec) integer
16 "J2BoundryHigh" 180 -180-180 (deg) (arcsec) integer
17 "J2BoundryLow" 180 -180-180 (deg) (arcsec) integer
18 "J4BoundryHigh" 180 -180-180 (deg) (arcsec) integer
19 "J4BoundryLow" 180 -180-180 (deg) (arcsec) integer
20 "J5BoundryHigh" 180 -180-180 (deg) (arcsec) integer
21 "J5BoundryLow" 180 -180-180 (deg) (arcsec) integer
22 "GripperMotor" Set mode to use standard servo (not Dynamixel) as the 6th / 7th axis for Tool interface.
23 "EERoll" 6th axis position / Tool Interface Roll (was standard servo, May 29,2018 changed to Dynamixel)
24 "EESpan" 7th axis position / End Effector actuation (was standard servo, May 29,2018 changed to Dynamixel)
25 "StartSpeed" Velocity at start (and currently, the end as well) of the next move in "nbits"1
26 "EndSpeed" (not implemented) Currently StartSpeed is the speed for both the start and end of each move.
27 "ServoSet2X" Address, Register, Value (as of May 29,2018 was "End") see: Servo
28 "ServoSet"
29 "RebootServo" May 29,2018
30 "RunFile" FilePathName Oct 12, 2018 If it exists, the file will be opened and all instructions from it parsed and executed. By convention, files end with .make_ins extension. Each line should be one instruction just like any sent over the socket connection (the job, instruction, start, and end time values are NOT included; start with the oplet). A sample line might be
S J1_PID_P 0.2 ; set base drive
Anything after a ';' is ignored.
Was: "Ctrl" parms/values Aug 24, 2018 Compact setting of values related to operational mode. (Depreciated, replaced with RunFile)
31 "J1_PID_P" 0.2 0 - 1 unitless unitless float Float Oct 12, 2018 Set Joint PID P with a floating point number. Helps with Issue #33
32 "J2_PID_P" 0.2 0 - 1 unitless unitless float
33 "J3_PID_P" 2 0 - 4 unitless unitless float
34 "J4_PID_P" 0.1 0 - 0.5 unitless unitless float
35 "J5_PID_P" 0.1 0 - 0.5 unitless unitless float
36 "AngularSpeed" 30 1 - 45 (deg/s) (arcsec/s) integer
37 "AngularSpeedStartAndEnd" 0.1 0 - 45 (deg/s) (arcsec/s) integer
38 "AngularAcceleration" 0.1 0.0003 - 0.1 (deg/s2) (arcsec/s2) integer
39 "CartesianSpeed" 300000 10000 - 500000 (micron/s) (micron/s) integer
40 "CartesianSpeedStart" 0 0 - 500000 (micron/s) (micron/s) integer
41 "CartesianSpeedEnd" 0 0 - 500000 (micron/s) (micron/s) integer
42 "CartesianAcceleration" 1000000 0 - 500000 (micron/s2) (micron/s2) integer
43 "CartesianStepSize" 10 1 - 10000 (micron) (micron) integer
44 "CartesianPivotSpeed" 108000 1 - 360000 (arcsec/s) (arcsec/s) integer
45 "CartesianPivotSpeedStart" 0 1 - 360000 (arcsec/s) (arcsec/s) integer
46 "CartesianPivotSpeedEnd" 0 1 - 360000 (arcsec/s) (arcsec/s) integer
47 "CartesianPivotAcceleration" 10800000 1 - 10800000 (arcsec/s2) (arcsec/s2) integer
48 "EyeNumbers" integer array of 5 Sets the index for which Eye Dexter thinks it is at. Where it is within an eye is calculated with encoder measurements and effectively cannot be set. Takes 5 signed integer arguments where 0 is the circle that contains 0 degrees. See read_from_robot, #EyeNumbers.
49 "CommandedAngles" (arcsec) (arcsec) integer array of 5 Sets where Dexter thinks it is without actually moving the robot. Takes 5 angles in integer arcseconds. These are the same values that are returned in the robot status under *_AT.

Note 1 nbits are a value added to a register every clock cycle for a 128Khz clock such that once it overflows, an action will be taken. Converted automatically by DDE in the socket communications code for the "MaxSpeed", "StartSpeed", and "Acceleration" parameters. The global constant "_nbits_cf" is 7754.73550222 and the values given are divided by that constant. This converts degrees / second (or degrees / second / second in the case of Acceleration) into nbits.

Note 2 Frictions can be fractional, but are limited to a range of +-(256 + 1/256). E.g. 1.1 becomes 1 plus a fractional value of 25/256

Clone this wiki locally