luckyrobots 0.1.68__py3-none-any.whl → 0.1.69__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- luckyrobots/__init__.py +23 -12
- luckyrobots/client.py +800 -0
- luckyrobots/config/robots.yaml +231 -71
- luckyrobots/engine/__init__.py +23 -0
- luckyrobots/{utils → engine}/check_updates.py +108 -48
- luckyrobots/{utils → engine}/download.py +61 -39
- luckyrobots/engine/manager.py +427 -0
- luckyrobots/grpc/__init__.py +6 -0
- luckyrobots/grpc/generated/__init__.py +18 -0
- luckyrobots/grpc/generated/agent_pb2.py +61 -0
- luckyrobots/grpc/generated/agent_pb2_grpc.py +255 -0
- luckyrobots/grpc/generated/camera_pb2.py +45 -0
- luckyrobots/grpc/generated/camera_pb2_grpc.py +155 -0
- luckyrobots/grpc/generated/common_pb2.py +39 -0
- luckyrobots/grpc/generated/common_pb2_grpc.py +27 -0
- luckyrobots/grpc/generated/media_pb2.py +35 -0
- luckyrobots/grpc/generated/media_pb2_grpc.py +27 -0
- luckyrobots/grpc/generated/mujoco_pb2.py +47 -0
- luckyrobots/grpc/generated/mujoco_pb2_grpc.py +248 -0
- luckyrobots/grpc/generated/scene_pb2.py +54 -0
- luckyrobots/grpc/generated/scene_pb2_grpc.py +248 -0
- luckyrobots/grpc/generated/telemetry_pb2.py +43 -0
- luckyrobots/grpc/generated/telemetry_pb2_grpc.py +154 -0
- luckyrobots/grpc/generated/viewport_pb2.py +48 -0
- luckyrobots/grpc/generated/viewport_pb2_grpc.py +155 -0
- luckyrobots/grpc/proto/agent.proto +152 -0
- luckyrobots/grpc/proto/camera.proto +41 -0
- luckyrobots/grpc/proto/common.proto +36 -0
- luckyrobots/grpc/proto/hazel_rpc.proto +32 -0
- luckyrobots/grpc/proto/media.proto +26 -0
- luckyrobots/grpc/proto/mujoco.proto +64 -0
- luckyrobots/grpc/proto/scene.proto +70 -0
- luckyrobots/grpc/proto/telemetry.proto +43 -0
- luckyrobots/grpc/proto/viewport.proto +45 -0
- luckyrobots/luckyrobots.py +193 -0
- luckyrobots/models/__init__.py +13 -0
- luckyrobots/models/camera.py +97 -0
- luckyrobots/models/observation.py +135 -0
- luckyrobots/{utils/helpers.py → utils.py} +75 -40
- luckyrobots-0.1.69.dist-info/METADATA +262 -0
- luckyrobots-0.1.69.dist-info/RECORD +44 -0
- {luckyrobots-0.1.68.dist-info → luckyrobots-0.1.69.dist-info}/WHEEL +1 -1
- luckyrobots/core/luckyrobots.py +0 -628
- luckyrobots/core/manager.py +0 -236
- luckyrobots/core/models.py +0 -68
- luckyrobots/core/node.py +0 -273
- luckyrobots/message/__init__.py +0 -18
- luckyrobots/message/pubsub.py +0 -145
- luckyrobots/message/srv/client.py +0 -81
- luckyrobots/message/srv/service.py +0 -135
- luckyrobots/message/srv/types.py +0 -83
- luckyrobots/message/transporter.py +0 -427
- luckyrobots/utils/event_loop.py +0 -94
- luckyrobots/utils/sim_manager.py +0 -413
- luckyrobots-0.1.68.dist-info/METADATA +0 -253
- luckyrobots-0.1.68.dist-info/RECORD +0 -24
- {luckyrobots-0.1.68.dist-info → luckyrobots-0.1.69.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
|
2
|
+
"""Client and server classes corresponding to protobuf-defined services."""
|
|
3
|
+
import grpc
|
|
4
|
+
import warnings
|
|
5
|
+
|
|
6
|
+
from . import agent_pb2 as agent__pb2
|
|
7
|
+
|
|
8
|
+
GRPC_GENERATED_VERSION = "1.76.0"
|
|
9
|
+
GRPC_VERSION = grpc.__version__
|
|
10
|
+
_version_not_supported = False
|
|
11
|
+
|
|
12
|
+
try:
|
|
13
|
+
from grpc._utilities import first_version_is_lower
|
|
14
|
+
|
|
15
|
+
_version_not_supported = first_version_is_lower(
|
|
16
|
+
GRPC_VERSION, GRPC_GENERATED_VERSION
|
|
17
|
+
)
|
|
18
|
+
except ImportError:
|
|
19
|
+
_version_not_supported = True
|
|
20
|
+
|
|
21
|
+
if _version_not_supported:
|
|
22
|
+
raise RuntimeError(
|
|
23
|
+
f"The grpc package installed is at version {GRPC_VERSION},"
|
|
24
|
+
+ " but the generated code in agent_pb2_grpc.py depends on"
|
|
25
|
+
+ f" grpcio>={GRPC_GENERATED_VERSION}."
|
|
26
|
+
+ f" Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}"
|
|
27
|
+
+ f" or downgrade your generated code using grpcio-tools<={GRPC_VERSION}."
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class AgentServiceStub(object):
|
|
32
|
+
"""Per-agent RL-style observation streaming (training / inference clients consume this)."""
|
|
33
|
+
|
|
34
|
+
def __init__(self, channel):
|
|
35
|
+
"""Constructor.
|
|
36
|
+
|
|
37
|
+
Args:
|
|
38
|
+
channel: A grpc.Channel.
|
|
39
|
+
"""
|
|
40
|
+
self.GetAgentSchema = channel.unary_unary(
|
|
41
|
+
"/hazel.rpc.v1.AgentService/GetAgentSchema",
|
|
42
|
+
request_serializer=agent__pb2.GetAgentSchemaRequest.SerializeToString,
|
|
43
|
+
response_deserializer=agent__pb2.GetAgentSchemaResponse.FromString,
|
|
44
|
+
_registered_method=True,
|
|
45
|
+
)
|
|
46
|
+
self.GetObservation = channel.unary_unary(
|
|
47
|
+
"/hazel.rpc.v1.AgentService/GetObservation",
|
|
48
|
+
request_serializer=agent__pb2.GetObservationRequest.SerializeToString,
|
|
49
|
+
response_deserializer=agent__pb2.GetObservationResponse.FromString,
|
|
50
|
+
_registered_method=True,
|
|
51
|
+
)
|
|
52
|
+
self.StreamAgent = channel.unary_stream(
|
|
53
|
+
"/hazel.rpc.v1.AgentService/StreamAgent",
|
|
54
|
+
request_serializer=agent__pb2.StreamAgentRequest.SerializeToString,
|
|
55
|
+
response_deserializer=agent__pb2.AgentFrame.FromString,
|
|
56
|
+
_registered_method=True,
|
|
57
|
+
)
|
|
58
|
+
self.ResetAgent = channel.unary_unary(
|
|
59
|
+
"/hazel.rpc.v1.AgentService/ResetAgent",
|
|
60
|
+
request_serializer=agent__pb2.ResetAgentRequest.SerializeToString,
|
|
61
|
+
response_deserializer=agent__pb2.ResetAgentResponse.FromString,
|
|
62
|
+
_registered_method=True,
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
class AgentServiceServicer(object):
|
|
67
|
+
"""Per-agent RL-style observation streaming (training / inference clients consume this)."""
|
|
68
|
+
|
|
69
|
+
def GetAgentSchema(self, request, context):
|
|
70
|
+
"""Missing associated documentation comment in .proto file."""
|
|
71
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
72
|
+
context.set_details("Method not implemented!")
|
|
73
|
+
raise NotImplementedError("Method not implemented!")
|
|
74
|
+
|
|
75
|
+
def GetObservation(self, request, context):
|
|
76
|
+
"""Single-shot observation snapshot (unified observation surface)."""
|
|
77
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
78
|
+
context.set_details("Method not implemented!")
|
|
79
|
+
raise NotImplementedError("Method not implemented!")
|
|
80
|
+
|
|
81
|
+
def StreamAgent(self, request, context):
|
|
82
|
+
"""Server-streaming observations (and optional action echo) for a single agent.
|
|
83
|
+
|
|
84
|
+
The client specifies which agent to stream via StreamAgentRequest and may
|
|
85
|
+
provide a target FPS hint. Actions are currently sent via MujocoService
|
|
86
|
+
(SendControl); AgentFrame.actions is primarily used for telemetry.
|
|
87
|
+
"""
|
|
88
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
89
|
+
context.set_details("Method not implemented!")
|
|
90
|
+
raise NotImplementedError("Method not implemented!")
|
|
91
|
+
|
|
92
|
+
def ResetAgent(self, request, context):
|
|
93
|
+
"""Reset a specific agent (full reset: clear buffers, reset state, resample commands, apply MuJoCo state).
|
|
94
|
+
Useful for multi-env RL where individual agents need to be reset without resetting the entire scene.
|
|
95
|
+
"""
|
|
96
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
97
|
+
context.set_details("Method not implemented!")
|
|
98
|
+
raise NotImplementedError("Method not implemented!")
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
def add_AgentServiceServicer_to_server(servicer, server):
|
|
102
|
+
rpc_method_handlers = {
|
|
103
|
+
"GetAgentSchema": grpc.unary_unary_rpc_method_handler(
|
|
104
|
+
servicer.GetAgentSchema,
|
|
105
|
+
request_deserializer=agent__pb2.GetAgentSchemaRequest.FromString,
|
|
106
|
+
response_serializer=agent__pb2.GetAgentSchemaResponse.SerializeToString,
|
|
107
|
+
),
|
|
108
|
+
"GetObservation": grpc.unary_unary_rpc_method_handler(
|
|
109
|
+
servicer.GetObservation,
|
|
110
|
+
request_deserializer=agent__pb2.GetObservationRequest.FromString,
|
|
111
|
+
response_serializer=agent__pb2.GetObservationResponse.SerializeToString,
|
|
112
|
+
),
|
|
113
|
+
"StreamAgent": grpc.unary_stream_rpc_method_handler(
|
|
114
|
+
servicer.StreamAgent,
|
|
115
|
+
request_deserializer=agent__pb2.StreamAgentRequest.FromString,
|
|
116
|
+
response_serializer=agent__pb2.AgentFrame.SerializeToString,
|
|
117
|
+
),
|
|
118
|
+
"ResetAgent": grpc.unary_unary_rpc_method_handler(
|
|
119
|
+
servicer.ResetAgent,
|
|
120
|
+
request_deserializer=agent__pb2.ResetAgentRequest.FromString,
|
|
121
|
+
response_serializer=agent__pb2.ResetAgentResponse.SerializeToString,
|
|
122
|
+
),
|
|
123
|
+
}
|
|
124
|
+
generic_handler = grpc.method_handlers_generic_handler(
|
|
125
|
+
"hazel.rpc.v1.AgentService", rpc_method_handlers
|
|
126
|
+
)
|
|
127
|
+
server.add_generic_rpc_handlers((generic_handler,))
|
|
128
|
+
server.add_registered_method_handlers(
|
|
129
|
+
"hazel.rpc.v1.AgentService", rpc_method_handlers
|
|
130
|
+
)
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
# This class is part of an EXPERIMENTAL API.
|
|
134
|
+
class AgentService(object):
|
|
135
|
+
"""Per-agent RL-style observation streaming (training / inference clients consume this)."""
|
|
136
|
+
|
|
137
|
+
@staticmethod
|
|
138
|
+
def GetAgentSchema(
|
|
139
|
+
request,
|
|
140
|
+
target,
|
|
141
|
+
options=(),
|
|
142
|
+
channel_credentials=None,
|
|
143
|
+
call_credentials=None,
|
|
144
|
+
insecure=False,
|
|
145
|
+
compression=None,
|
|
146
|
+
wait_for_ready=None,
|
|
147
|
+
timeout=None,
|
|
148
|
+
metadata=None,
|
|
149
|
+
):
|
|
150
|
+
return grpc.experimental.unary_unary(
|
|
151
|
+
request,
|
|
152
|
+
target,
|
|
153
|
+
"/hazel.rpc.v1.AgentService/GetAgentSchema",
|
|
154
|
+
agent__pb2.GetAgentSchemaRequest.SerializeToString,
|
|
155
|
+
agent__pb2.GetAgentSchemaResponse.FromString,
|
|
156
|
+
options,
|
|
157
|
+
channel_credentials,
|
|
158
|
+
insecure,
|
|
159
|
+
call_credentials,
|
|
160
|
+
compression,
|
|
161
|
+
wait_for_ready,
|
|
162
|
+
timeout,
|
|
163
|
+
metadata,
|
|
164
|
+
_registered_method=True,
|
|
165
|
+
)
|
|
166
|
+
|
|
167
|
+
@staticmethod
|
|
168
|
+
def GetObservation(
|
|
169
|
+
request,
|
|
170
|
+
target,
|
|
171
|
+
options=(),
|
|
172
|
+
channel_credentials=None,
|
|
173
|
+
call_credentials=None,
|
|
174
|
+
insecure=False,
|
|
175
|
+
compression=None,
|
|
176
|
+
wait_for_ready=None,
|
|
177
|
+
timeout=None,
|
|
178
|
+
metadata=None,
|
|
179
|
+
):
|
|
180
|
+
return grpc.experimental.unary_unary(
|
|
181
|
+
request,
|
|
182
|
+
target,
|
|
183
|
+
"/hazel.rpc.v1.AgentService/GetObservation",
|
|
184
|
+
agent__pb2.GetObservationRequest.SerializeToString,
|
|
185
|
+
agent__pb2.GetObservationResponse.FromString,
|
|
186
|
+
options,
|
|
187
|
+
channel_credentials,
|
|
188
|
+
insecure,
|
|
189
|
+
call_credentials,
|
|
190
|
+
compression,
|
|
191
|
+
wait_for_ready,
|
|
192
|
+
timeout,
|
|
193
|
+
metadata,
|
|
194
|
+
_registered_method=True,
|
|
195
|
+
)
|
|
196
|
+
|
|
197
|
+
@staticmethod
|
|
198
|
+
def StreamAgent(
|
|
199
|
+
request,
|
|
200
|
+
target,
|
|
201
|
+
options=(),
|
|
202
|
+
channel_credentials=None,
|
|
203
|
+
call_credentials=None,
|
|
204
|
+
insecure=False,
|
|
205
|
+
compression=None,
|
|
206
|
+
wait_for_ready=None,
|
|
207
|
+
timeout=None,
|
|
208
|
+
metadata=None,
|
|
209
|
+
):
|
|
210
|
+
return grpc.experimental.unary_stream(
|
|
211
|
+
request,
|
|
212
|
+
target,
|
|
213
|
+
"/hazel.rpc.v1.AgentService/StreamAgent",
|
|
214
|
+
agent__pb2.StreamAgentRequest.SerializeToString,
|
|
215
|
+
agent__pb2.AgentFrame.FromString,
|
|
216
|
+
options,
|
|
217
|
+
channel_credentials,
|
|
218
|
+
insecure,
|
|
219
|
+
call_credentials,
|
|
220
|
+
compression,
|
|
221
|
+
wait_for_ready,
|
|
222
|
+
timeout,
|
|
223
|
+
metadata,
|
|
224
|
+
_registered_method=True,
|
|
225
|
+
)
|
|
226
|
+
|
|
227
|
+
@staticmethod
|
|
228
|
+
def ResetAgent(
|
|
229
|
+
request,
|
|
230
|
+
target,
|
|
231
|
+
options=(),
|
|
232
|
+
channel_credentials=None,
|
|
233
|
+
call_credentials=None,
|
|
234
|
+
insecure=False,
|
|
235
|
+
compression=None,
|
|
236
|
+
wait_for_ready=None,
|
|
237
|
+
timeout=None,
|
|
238
|
+
metadata=None,
|
|
239
|
+
):
|
|
240
|
+
return grpc.experimental.unary_unary(
|
|
241
|
+
request,
|
|
242
|
+
target,
|
|
243
|
+
"/hazel.rpc.v1.AgentService/ResetAgent",
|
|
244
|
+
agent__pb2.ResetAgentRequest.SerializeToString,
|
|
245
|
+
agent__pb2.ResetAgentResponse.FromString,
|
|
246
|
+
options,
|
|
247
|
+
channel_credentials,
|
|
248
|
+
insecure,
|
|
249
|
+
call_credentials,
|
|
250
|
+
compression,
|
|
251
|
+
wait_for_ready,
|
|
252
|
+
timeout,
|
|
253
|
+
metadata,
|
|
254
|
+
_registered_method=True,
|
|
255
|
+
)
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: camera.proto
|
|
5
|
+
# Protobuf Python Version: 6.31.1
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
|
|
13
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
14
|
+
_runtime_version.Domain.PUBLIC, 6, 31, 1, "", "camera.proto"
|
|
15
|
+
)
|
|
16
|
+
# @@protoc_insertion_point(imports)
|
|
17
|
+
|
|
18
|
+
_sym_db = _symbol_database.Default()
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
from . import common_pb2 as common__pb2
|
|
22
|
+
from . import media_pb2 as media__pb2
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
|
|
26
|
+
b'\n\x0c\x63\x61mera.proto\x12\x0chazel.rpc.v1\x1a\x0c\x63ommon.proto\x1a\x0bmedia.proto">\n\nCameraInfo\x12"\n\x02id\x18\x01 \x01(\x0b\x32\x16.hazel.rpc.v1.EntityId\x12\x0c\n\x04name\x18\x02 \x01(\t"\x14\n\x12ListCamerasRequest"@\n\x13ListCamerasResponse\x12)\n\x07\x63\x61meras\x18\x01 \x03(\x0b\x32\x18.hazel.rpc.v1.CameraInfo"\x9c\x01\n\x13StreamCameraRequest\x12$\n\x02id\x18\x01 \x01(\x0b\x32\x16.hazel.rpc.v1.EntityIdH\x00\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x12\x12\n\ntarget_fps\x18\x03 \x01(\r\x12\r\n\x05width\x18\x04 \x01(\r\x12\x0e\n\x06height\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\tB\x0c\n\nidentifier2\xb2\x01\n\rCameraService\x12R\n\x0bListCameras\x12 .hazel.rpc.v1.ListCamerasRequest\x1a!.hazel.rpc.v1.ListCamerasResponse\x12M\n\x0cStreamCamera\x12!.hazel.rpc.v1.StreamCameraRequest\x1a\x18.hazel.rpc.v1.ImageFrame0\x01\x42\x03\xf8\x01\x01\x62\x06proto3'
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
_globals = globals()
|
|
30
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
31
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "camera_pb2", _globals)
|
|
32
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
33
|
+
_globals["DESCRIPTOR"]._loaded_options = None
|
|
34
|
+
_globals["DESCRIPTOR"]._serialized_options = b"\370\001\001"
|
|
35
|
+
_globals["_CAMERAINFO"]._serialized_start = 57
|
|
36
|
+
_globals["_CAMERAINFO"]._serialized_end = 119
|
|
37
|
+
_globals["_LISTCAMERASREQUEST"]._serialized_start = 121
|
|
38
|
+
_globals["_LISTCAMERASREQUEST"]._serialized_end = 141
|
|
39
|
+
_globals["_LISTCAMERASRESPONSE"]._serialized_start = 143
|
|
40
|
+
_globals["_LISTCAMERASRESPONSE"]._serialized_end = 207
|
|
41
|
+
_globals["_STREAMCAMERAREQUEST"]._serialized_start = 210
|
|
42
|
+
_globals["_STREAMCAMERAREQUEST"]._serialized_end = 366
|
|
43
|
+
_globals["_CAMERASERVICE"]._serialized_start = 369
|
|
44
|
+
_globals["_CAMERASERVICE"]._serialized_end = 547
|
|
45
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
|
2
|
+
"""Client and server classes corresponding to protobuf-defined services."""
|
|
3
|
+
import grpc
|
|
4
|
+
import warnings
|
|
5
|
+
|
|
6
|
+
from . import camera_pb2 as camera__pb2
|
|
7
|
+
from . import media_pb2 as media__pb2
|
|
8
|
+
|
|
9
|
+
GRPC_GENERATED_VERSION = "1.76.0"
|
|
10
|
+
GRPC_VERSION = grpc.__version__
|
|
11
|
+
_version_not_supported = False
|
|
12
|
+
|
|
13
|
+
try:
|
|
14
|
+
from grpc._utilities import first_version_is_lower
|
|
15
|
+
|
|
16
|
+
_version_not_supported = first_version_is_lower(
|
|
17
|
+
GRPC_VERSION, GRPC_GENERATED_VERSION
|
|
18
|
+
)
|
|
19
|
+
except ImportError:
|
|
20
|
+
_version_not_supported = True
|
|
21
|
+
|
|
22
|
+
if _version_not_supported:
|
|
23
|
+
raise RuntimeError(
|
|
24
|
+
f"The grpc package installed is at version {GRPC_VERSION},"
|
|
25
|
+
+ " but the generated code in camera_pb2_grpc.py depends on"
|
|
26
|
+
+ f" grpcio>={GRPC_GENERATED_VERSION}."
|
|
27
|
+
+ f" Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}"
|
|
28
|
+
+ f" or downgrade your generated code using grpcio-tools<={GRPC_VERSION}."
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class CameraServiceStub(object):
|
|
33
|
+
"""Streams pixels from a camera entity (useful for external perception / debugging)."""
|
|
34
|
+
|
|
35
|
+
def __init__(self, channel):
|
|
36
|
+
"""Constructor.
|
|
37
|
+
|
|
38
|
+
Args:
|
|
39
|
+
channel: A grpc.Channel.
|
|
40
|
+
"""
|
|
41
|
+
self.ListCameras = channel.unary_unary(
|
|
42
|
+
"/hazel.rpc.v1.CameraService/ListCameras",
|
|
43
|
+
request_serializer=camera__pb2.ListCamerasRequest.SerializeToString,
|
|
44
|
+
response_deserializer=camera__pb2.ListCamerasResponse.FromString,
|
|
45
|
+
_registered_method=True,
|
|
46
|
+
)
|
|
47
|
+
self.StreamCamera = channel.unary_stream(
|
|
48
|
+
"/hazel.rpc.v1.CameraService/StreamCamera",
|
|
49
|
+
request_serializer=camera__pb2.StreamCameraRequest.SerializeToString,
|
|
50
|
+
response_deserializer=media__pb2.ImageFrame.FromString,
|
|
51
|
+
_registered_method=True,
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class CameraServiceServicer(object):
|
|
56
|
+
"""Streams pixels from a camera entity (useful for external perception / debugging)."""
|
|
57
|
+
|
|
58
|
+
def ListCameras(self, request, context):
|
|
59
|
+
"""Missing associated documentation comment in .proto file."""
|
|
60
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
61
|
+
context.set_details("Method not implemented!")
|
|
62
|
+
raise NotImplementedError("Method not implemented!")
|
|
63
|
+
|
|
64
|
+
def StreamCamera(self, request, context):
|
|
65
|
+
"""Missing associated documentation comment in .proto file."""
|
|
66
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
67
|
+
context.set_details("Method not implemented!")
|
|
68
|
+
raise NotImplementedError("Method not implemented!")
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def add_CameraServiceServicer_to_server(servicer, server):
|
|
72
|
+
rpc_method_handlers = {
|
|
73
|
+
"ListCameras": grpc.unary_unary_rpc_method_handler(
|
|
74
|
+
servicer.ListCameras,
|
|
75
|
+
request_deserializer=camera__pb2.ListCamerasRequest.FromString,
|
|
76
|
+
response_serializer=camera__pb2.ListCamerasResponse.SerializeToString,
|
|
77
|
+
),
|
|
78
|
+
"StreamCamera": grpc.unary_stream_rpc_method_handler(
|
|
79
|
+
servicer.StreamCamera,
|
|
80
|
+
request_deserializer=camera__pb2.StreamCameraRequest.FromString,
|
|
81
|
+
response_serializer=media__pb2.ImageFrame.SerializeToString,
|
|
82
|
+
),
|
|
83
|
+
}
|
|
84
|
+
generic_handler = grpc.method_handlers_generic_handler(
|
|
85
|
+
"hazel.rpc.v1.CameraService", rpc_method_handlers
|
|
86
|
+
)
|
|
87
|
+
server.add_generic_rpc_handlers((generic_handler,))
|
|
88
|
+
server.add_registered_method_handlers(
|
|
89
|
+
"hazel.rpc.v1.CameraService", rpc_method_handlers
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
# This class is part of an EXPERIMENTAL API.
|
|
94
|
+
class CameraService(object):
|
|
95
|
+
"""Streams pixels from a camera entity (useful for external perception / debugging)."""
|
|
96
|
+
|
|
97
|
+
@staticmethod
|
|
98
|
+
def ListCameras(
|
|
99
|
+
request,
|
|
100
|
+
target,
|
|
101
|
+
options=(),
|
|
102
|
+
channel_credentials=None,
|
|
103
|
+
call_credentials=None,
|
|
104
|
+
insecure=False,
|
|
105
|
+
compression=None,
|
|
106
|
+
wait_for_ready=None,
|
|
107
|
+
timeout=None,
|
|
108
|
+
metadata=None,
|
|
109
|
+
):
|
|
110
|
+
return grpc.experimental.unary_unary(
|
|
111
|
+
request,
|
|
112
|
+
target,
|
|
113
|
+
"/hazel.rpc.v1.CameraService/ListCameras",
|
|
114
|
+
camera__pb2.ListCamerasRequest.SerializeToString,
|
|
115
|
+
camera__pb2.ListCamerasResponse.FromString,
|
|
116
|
+
options,
|
|
117
|
+
channel_credentials,
|
|
118
|
+
insecure,
|
|
119
|
+
call_credentials,
|
|
120
|
+
compression,
|
|
121
|
+
wait_for_ready,
|
|
122
|
+
timeout,
|
|
123
|
+
metadata,
|
|
124
|
+
_registered_method=True,
|
|
125
|
+
)
|
|
126
|
+
|
|
127
|
+
@staticmethod
|
|
128
|
+
def StreamCamera(
|
|
129
|
+
request,
|
|
130
|
+
target,
|
|
131
|
+
options=(),
|
|
132
|
+
channel_credentials=None,
|
|
133
|
+
call_credentials=None,
|
|
134
|
+
insecure=False,
|
|
135
|
+
compression=None,
|
|
136
|
+
wait_for_ready=None,
|
|
137
|
+
timeout=None,
|
|
138
|
+
metadata=None,
|
|
139
|
+
):
|
|
140
|
+
return grpc.experimental.unary_stream(
|
|
141
|
+
request,
|
|
142
|
+
target,
|
|
143
|
+
"/hazel.rpc.v1.CameraService/StreamCamera",
|
|
144
|
+
camera__pb2.StreamCameraRequest.SerializeToString,
|
|
145
|
+
media__pb2.ImageFrame.FromString,
|
|
146
|
+
options,
|
|
147
|
+
channel_credentials,
|
|
148
|
+
insecure,
|
|
149
|
+
call_credentials,
|
|
150
|
+
compression,
|
|
151
|
+
wait_for_ready,
|
|
152
|
+
timeout,
|
|
153
|
+
metadata,
|
|
154
|
+
_registered_method=True,
|
|
155
|
+
)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: common.proto
|
|
5
|
+
# Protobuf Python Version: 6.31.1
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
|
|
13
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
14
|
+
_runtime_version.Domain.PUBLIC, 6, 31, 1, "", "common.proto"
|
|
15
|
+
)
|
|
16
|
+
# @@protoc_insertion_point(imports)
|
|
17
|
+
|
|
18
|
+
_sym_db = _symbol_database.Default()
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
|
|
22
|
+
b'\n\x0c\x63ommon.proto\x12\x0chazel.rpc.v1"\x16\n\x08\x45ntityId\x12\n\n\x02id\x18\x01 \x01(\x04"\'\n\x04Vec3\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\t\n\x01z\x18\x03 \x01(\x02"2\n\x04Quat\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\t\n\x01z\x18\x03 \x01(\x02\x12\t\n\x01w\x18\x04 \x01(\x02"z\n\tTransform\x12$\n\x08position\x18\x01 \x01(\x0b\x32\x12.hazel.rpc.v1.Vec3\x12$\n\x08rotation\x18\x02 \x01(\x0b\x32\x12.hazel.rpc.v1.Quat\x12!\n\x05scale\x18\x03 \x01(\x0b\x32\x12.hazel.rpc.v1.Vec3B\x03\xf8\x01\x01\x62\x06proto3'
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
_globals = globals()
|
|
26
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
27
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "common_pb2", _globals)
|
|
28
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
29
|
+
_globals["DESCRIPTOR"]._loaded_options = None
|
|
30
|
+
_globals["DESCRIPTOR"]._serialized_options = b"\370\001\001"
|
|
31
|
+
_globals["_ENTITYID"]._serialized_start = 30
|
|
32
|
+
_globals["_ENTITYID"]._serialized_end = 52
|
|
33
|
+
_globals["_VEC3"]._serialized_start = 54
|
|
34
|
+
_globals["_VEC3"]._serialized_end = 93
|
|
35
|
+
_globals["_QUAT"]._serialized_start = 95
|
|
36
|
+
_globals["_QUAT"]._serialized_end = 145
|
|
37
|
+
_globals["_TRANSFORM"]._serialized_start = 147
|
|
38
|
+
_globals["_TRANSFORM"]._serialized_end = 269
|
|
39
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
|
2
|
+
"""Client and server classes corresponding to protobuf-defined services."""
|
|
3
|
+
import grpc
|
|
4
|
+
import warnings
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
GRPC_GENERATED_VERSION = "1.76.0"
|
|
8
|
+
GRPC_VERSION = grpc.__version__
|
|
9
|
+
_version_not_supported = False
|
|
10
|
+
|
|
11
|
+
try:
|
|
12
|
+
from grpc._utilities import first_version_is_lower
|
|
13
|
+
|
|
14
|
+
_version_not_supported = first_version_is_lower(
|
|
15
|
+
GRPC_VERSION, GRPC_GENERATED_VERSION
|
|
16
|
+
)
|
|
17
|
+
except ImportError:
|
|
18
|
+
_version_not_supported = True
|
|
19
|
+
|
|
20
|
+
if _version_not_supported:
|
|
21
|
+
raise RuntimeError(
|
|
22
|
+
f"The grpc package installed is at version {GRPC_VERSION},"
|
|
23
|
+
+ " but the generated code in common_pb2_grpc.py depends on"
|
|
24
|
+
+ f" grpcio>={GRPC_GENERATED_VERSION}."
|
|
25
|
+
+ f" Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}"
|
|
26
|
+
+ f" or downgrade your generated code using grpcio-tools<={GRPC_VERSION}."
|
|
27
|
+
)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: media.proto
|
|
5
|
+
# Protobuf Python Version: 6.31.1
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
|
|
13
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
14
|
+
_runtime_version.Domain.PUBLIC, 6, 31, 1, "", "media.proto"
|
|
15
|
+
)
|
|
16
|
+
# @@protoc_insertion_point(imports)
|
|
17
|
+
|
|
18
|
+
_sym_db = _symbol_database.Default()
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
|
|
22
|
+
b'\n\x0bmedia.proto\x12\x0chazel.rpc.v1"\x87\x01\n\nImageFrame\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x10\n\x08\x63hannels\x18\x04 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x05 \x01(\t\x12\x14\n\x0ctimestamp_ms\x18\x06 \x01(\x04\x12\x14\n\x0c\x66rame_number\x18\x07 \x01(\r"H\n\x0fNamedImageFrame\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\'\n\x05\x66rame\x18\x02 \x01(\x0b\x32\x18.hazel.rpc.v1.ImageFrameB\x03\xf8\x01\x01\x62\x06proto3'
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
_globals = globals()
|
|
26
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
27
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "media_pb2", _globals)
|
|
28
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
29
|
+
_globals["DESCRIPTOR"]._loaded_options = None
|
|
30
|
+
_globals["DESCRIPTOR"]._serialized_options = b"\370\001\001"
|
|
31
|
+
_globals["_IMAGEFRAME"]._serialized_start = 30
|
|
32
|
+
_globals["_IMAGEFRAME"]._serialized_end = 165
|
|
33
|
+
_globals["_NAMEDIMAGEFRAME"]._serialized_start = 167
|
|
34
|
+
_globals["_NAMEDIMAGEFRAME"]._serialized_end = 239
|
|
35
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
|
2
|
+
"""Client and server classes corresponding to protobuf-defined services."""
|
|
3
|
+
import grpc
|
|
4
|
+
import warnings
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
GRPC_GENERATED_VERSION = "1.76.0"
|
|
8
|
+
GRPC_VERSION = grpc.__version__
|
|
9
|
+
_version_not_supported = False
|
|
10
|
+
|
|
11
|
+
try:
|
|
12
|
+
from grpc._utilities import first_version_is_lower
|
|
13
|
+
|
|
14
|
+
_version_not_supported = first_version_is_lower(
|
|
15
|
+
GRPC_VERSION, GRPC_GENERATED_VERSION
|
|
16
|
+
)
|
|
17
|
+
except ImportError:
|
|
18
|
+
_version_not_supported = True
|
|
19
|
+
|
|
20
|
+
if _version_not_supported:
|
|
21
|
+
raise RuntimeError(
|
|
22
|
+
f"The grpc package installed is at version {GRPC_VERSION},"
|
|
23
|
+
+ " but the generated code in media_pb2_grpc.py depends on"
|
|
24
|
+
+ f" grpcio>={GRPC_GENERATED_VERSION}."
|
|
25
|
+
+ f" Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}"
|
|
26
|
+
+ f" or downgrade your generated code using grpcio-tools<={GRPC_VERSION}."
|
|
27
|
+
)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: mujoco.proto
|
|
5
|
+
# Protobuf Python Version: 6.31.1
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
|
|
13
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
14
|
+
_runtime_version.Domain.PUBLIC, 6, 31, 1, "", "mujoco.proto"
|
|
15
|
+
)
|
|
16
|
+
# @@protoc_insertion_point(imports)
|
|
17
|
+
|
|
18
|
+
_sym_db = _symbol_database.Default()
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
|
|
22
|
+
b'\n\x0cmujoco.proto\x12\x0chazel.rpc.v1"K\n\nJointState\x12\x11\n\tpositions\x18\x01 \x03(\x02\x12\x12\n\nvelocities\x18\x02 \x03(\x02\x12\n\n\x02nq\x18\x03 \x01(\r\x12\n\n\x02nv\x18\x04 \x01(\r"*\n\x14GetJointStateRequest\x12\x12\n\nrobot_name\x18\x01 \x01(\t"b\n\x15GetJointStateResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\'\n\x05state\x18\x03 \x01(\x0b\x32\x18.hazel.rpc.v1.JointState":\n\x12SendControlRequest\x12\x12\n\nrobot_name\x18\x01 \x01(\t\x12\x10\n\x08\x63ontrols\x18\x02 \x03(\x02"7\n\x13SendControlResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t"*\n\x14GetMujocoInfoRequest\x12\x12\n\nrobot_name\x18\x01 \x01(\t"\x8a\x01\n\x15GetMujocoInfoResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\n\n\x02nq\x18\x03 \x01(\r\x12\n\n\x02nv\x18\x04 \x01(\r\x12\n\n\x02nu\x18\x05 \x01(\r\x12\x13\n\x0bjoint_names\x18\x06 \x03(\t\x12\x16\n\x0e\x61\x63tuator_names\x18\x07 \x03(\t2\xf6\x02\n\rMujocoService\x12X\n\rGetJointState\x12".hazel.rpc.v1.GetJointStateRequest\x1a#.hazel.rpc.v1.GetJointStateResponse\x12R\n\x0bSendControl\x12 .hazel.rpc.v1.SendControlRequest\x1a!.hazel.rpc.v1.SendControlResponse\x12X\n\rGetMujocoInfo\x12".hazel.rpc.v1.GetMujocoInfoRequest\x1a#.hazel.rpc.v1.GetMujocoInfoResponse\x12]\n\x10StreamJointState\x12".hazel.rpc.v1.GetJointStateRequest\x1a#.hazel.rpc.v1.GetJointStateResponse0\x01\x42\x03\xf8\x01\x01\x62\x06proto3'
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
_globals = globals()
|
|
26
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
27
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "mujoco_pb2", _globals)
|
|
28
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
29
|
+
_globals["DESCRIPTOR"]._loaded_options = None
|
|
30
|
+
_globals["DESCRIPTOR"]._serialized_options = b"\370\001\001"
|
|
31
|
+
_globals["_JOINTSTATE"]._serialized_start = 30
|
|
32
|
+
_globals["_JOINTSTATE"]._serialized_end = 105
|
|
33
|
+
_globals["_GETJOINTSTATEREQUEST"]._serialized_start = 107
|
|
34
|
+
_globals["_GETJOINTSTATEREQUEST"]._serialized_end = 149
|
|
35
|
+
_globals["_GETJOINTSTATERESPONSE"]._serialized_start = 151
|
|
36
|
+
_globals["_GETJOINTSTATERESPONSE"]._serialized_end = 249
|
|
37
|
+
_globals["_SENDCONTROLREQUEST"]._serialized_start = 251
|
|
38
|
+
_globals["_SENDCONTROLREQUEST"]._serialized_end = 309
|
|
39
|
+
_globals["_SENDCONTROLRESPONSE"]._serialized_start = 311
|
|
40
|
+
_globals["_SENDCONTROLRESPONSE"]._serialized_end = 366
|
|
41
|
+
_globals["_GETMUJOCOINFOREQUEST"]._serialized_start = 368
|
|
42
|
+
_globals["_GETMUJOCOINFOREQUEST"]._serialized_end = 410
|
|
43
|
+
_globals["_GETMUJOCOINFORESPONSE"]._serialized_start = 413
|
|
44
|
+
_globals["_GETMUJOCOINFORESPONSE"]._serialized_end = 551
|
|
45
|
+
_globals["_MUJOCOSERVICE"]._serialized_start = 554
|
|
46
|
+
_globals["_MUJOCOSERVICE"]._serialized_end = 928
|
|
47
|
+
# @@protoc_insertion_point(module_scope)
|