Skip to content

Commit c3a1bad

Browse files
y3rshahiuchingau
andauthored
feat(shared-data): bump gripper model version (#15413) (#15775)
## git cherry-pick 4f90e28 - #15413 was the edge PR - This is the only commit needed in the 7.5.0 release to allow for the new gripper model. - There are no changes to buildroot, oe-core, or ot3-firmware Co-authored-by: Alise Au <[email protected]>
1 parent c06a003 commit c3a1bad

File tree

6 files changed

+55
-3
lines changed

6 files changed

+55
-3
lines changed

Diff for: api/src/opentrons/config/gripper_config.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,12 @@ def info_num_to_model(num: str) -> GripperModel:
2424
# PVT will now be 1.2
2525
model_map = {
2626
"0": {"0": GripperModel.v1, "1": GripperModel.v1},
27-
"1": {"0": GripperModel.v1, "1": GripperModel.v1_1, "2": GripperModel.v1_2},
27+
"1": {
28+
"0": GripperModel.v1,
29+
"1": GripperModel.v1_1,
30+
"2": GripperModel.v1_2,
31+
"3": GripperModel.v1_3,
32+
},
2833
}
2934
return model_map[major_model][minor_model]
3035

Diff for: shared-data/gripper/definitions/1/gripperV1.3.json

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"$otSharedSchema": "gripper/schemas/1",
3+
"model": "gripperV1.3",
4+
"schemaVersion": 1,
5+
"displayName": "Flex Gripper",
6+
"gripForceProfile": {
7+
"polynomial": [
8+
[0, 3.759869],
9+
[1, 0.81005],
10+
[2, 0.04597701]
11+
],
12+
"defaultGripForce": 15.0,
13+
"defaultIdleForce": 10.0,
14+
"defaultHomeForce": 12.0,
15+
"min": 2.0,
16+
"max": 30.0
17+
},
18+
"geometry": {
19+
"baseOffsetFromMount": [19.5, -74.325, -94.825],
20+
"jawCenterOffsetFromBase": [0.0, 0.0, -86.475],
21+
"pinOneOffsetFromBase": [6.0, -54.0, -98.475],
22+
"pinTwoOffsetFromBase": [6.0, 54.0, -98.475],
23+
"jawWidth": {
24+
"min": 60.0,
25+
"max": 92.0
26+
},
27+
"maxAllowedGripError": 3.0
28+
}
29+
}

Diff for: shared-data/js/constants.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,13 @@ export const MAGNETIC_BLOCK_V1: 'magneticBlockV1' = 'magneticBlockV1'
4747
export const GRIPPER_V1: 'gripperV1' = 'gripperV1'
4848
export const GRIPPER_V1_1: 'gripperV1.1' = 'gripperV1.1'
4949
export const GRIPPER_V1_2: 'gripperV1.2' = 'gripperV1.2'
50-
export const GRIPPER_MODELS = [GRIPPER_V1, GRIPPER_V1_1, GRIPPER_V1_2]
50+
export const GRIPPER_V1_3: 'gripperV1.3' = 'gripperV1.3'
51+
export const GRIPPER_MODELS = [
52+
GRIPPER_V1,
53+
GRIPPER_V1_1,
54+
GRIPPER_V1_2,
55+
GRIPPER_V1_3,
56+
]
5157

5258
// robot display name
5359
export const OT2_DISPLAY_NAME: 'Opentrons OT-2' = 'Opentrons OT-2'

Diff for: shared-data/js/gripper.ts

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
import gripperV1 from '../gripper/definitions/1/gripperV1.json'
22
import gripperV1_1 from '../gripper/definitions/1/gripperV1.1.json'
33
import gripperV1_2 from '../gripper/definitions/1/gripperV1.2.json'
4+
import gripperV1_3 from '../gripper/definitions/1/gripperV1.3.json'
45

5-
import { GRIPPER_V1, GRIPPER_V1_1, GRIPPER_V1_2 } from './constants'
6+
import {
7+
GRIPPER_V1,
8+
GRIPPER_V1_1,
9+
GRIPPER_V1_2,
10+
GRIPPER_V1_3,
11+
} from './constants'
612

713
import type { GripperModel, GripperDefinition } from './types'
814

@@ -16,6 +22,8 @@ export const getGripperDef = (
1622
return gripperV1_1 as GripperDefinition
1723
case GRIPPER_V1_2:
1824
return gripperV1_2 as GripperDefinition
25+
case GRIPPER_V1_3:
26+
return gripperV1_3 as GripperDefinition
1927
default:
2028
console.warn(
2129
`Could not find a gripper with model ${gripperModel}, falling back to most recent definition: ${GRIPPER_V1_2}`

Diff for: shared-data/js/types.ts

+2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import {
2222
GRIPPER_V1,
2323
GRIPPER_V1_1,
2424
GRIPPER_V1_2,
25+
GRIPPER_V1_3,
2526
EXTENSION,
2627
MAGNETIC_BLOCK_V1,
2728
} from './constants'
@@ -230,6 +231,7 @@ export type GripperModel =
230231
| typeof GRIPPER_V1
231232
| typeof GRIPPER_V1_1
232233
| typeof GRIPPER_V1_2
234+
| typeof GRIPPER_V1_3
233235

234236
export type ModuleModelWithLegacy =
235237
| ModuleModel

Diff for: shared-data/python/opentrons_shared_data/gripper/gripper_definition.py

+2
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,15 @@ class GripperModel(str, Enum):
2424
v1 = "gripperV1"
2525
v1_1 = "gripperV1.1"
2626
v1_2 = "gripperV1.2"
27+
v1_3 = "gripperV1.3"
2728

2829
def __str__(self) -> str:
2930
"""Model name."""
3031
enum_to_str = {
3132
self.__class__.v1: "gripperV1",
3233
self.__class__.v1_1: "gripperV1.1",
3334
self.__class__.v1_2: "gripperV1.2",
35+
self.__class__.v1_3: "gripperV1.3",
3436
}
3537
return enum_to_str[self]
3638

0 commit comments

Comments
 (0)