-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patharm.proto
73 lines (57 loc) · 1.32 KB
/
arm.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// Version: 1.2
syntax = "proto3";
import "version.proto";
import "utils.proto";
import "motor.proto";
import "geometry.proto";
message ArmData {
Coordinates currentPosition = 1;
Coordinates targetPosition = 2;
MotorData base = 3;
MotorData shoulder = 4;
MotorData elbow = 5;
Version version = 6;
}
message ArmCommand {
// General commands
bool stop = 1;
bool calibrate = 2;
// Move individual motors
MotorCommand swivel = 3;
MotorCommand shoulder = 4;
MotorCommand elbow = 5;
// Needed for IK: If the wrist-lift moves, we need to re-calculate IK to keep the end-effector
// stationary. See /Arm/src/ik/README.md in the Arm-Firmware repository.
MotorCommand gripper_lift = 6;
// Can be removed in future versions
float ik_x = 7;
float ik_y = 8;
float ik_z = 9;
// Custom actions
bool jab = 10;
Version version = 11;
}
message GripperData {
MotorData lift = 1;
MotorData rotate = 2;
MotorData pinch = 3;
Version version = 4;
int32 servoAngle = 5;
BoolState laserState = 6;
}
message GripperCommand {
// General commands
bool stop = 1;
bool calibrate = 2;
// Move individual motors
MotorCommand lift = 3;
MotorCommand rotate = 4;
MotorCommand pinch = 5;
// Custom actions
bool open = 6;
bool close = 7;
bool spin = 8;
Version version = 9;
int32 servoAngle = 10;
BoolState laserState = 11;
}