Skip to content

Commit 50e03d8

Browse files
committed
Bump version to 0.5.2
1 parent 566e4c8 commit 50e03d8

308 files changed

Lines changed: 71077 additions & 11724 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎README.md‎

Lines changed: 1829 additions & 99 deletions
Large diffs are not rendered by default.

‎cyberwave/__init__.py‎

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
CyberwaveError,
4242
CyberwaveAPIError,
4343
CyberwaveConnectionError,
44+
CyberwaveInsufficientCreditsError,
4445
CyberwaveTimeoutError,
4546
CyberwaveValidationError,
4647
)
@@ -98,6 +99,55 @@
9899
"ScopedMotionHandle": (".motion", "ScopedMotionHandle"),
99100
"TwinNavigationHandle": (".motion", "TwinNavigationHandle"),
100101
"NavigationPlan": (".navigation", "NavigationPlan"),
102+
"LOCOMOTION_VELOCITY_COMMAND_CONTRACT": (
103+
".locomotion_contracts",
104+
"LOCOMOTION_VELOCITY_COMMAND_CONTRACT",
105+
),
106+
"AERIAL_VELOCITY_COMMAND_CONTRACT": (
107+
".locomotion_contracts",
108+
"AERIAL_VELOCITY_COMMAND_CONTRACT",
109+
),
110+
"LOCOMOTION_VELOCITY_COMMAND_REQUIRED_FIELDS": (
111+
".locomotion_contracts",
112+
"LOCOMOTION_VELOCITY_COMMAND_REQUIRED_FIELDS",
113+
),
114+
"AERIAL_VELOCITY_COMMAND_REQUIRED_FIELDS": (
115+
".locomotion_contracts",
116+
"AERIAL_VELOCITY_COMMAND_REQUIRED_FIELDS",
117+
),
118+
"LocomotionVelocityCommand": (
119+
".locomotion_contracts",
120+
"LocomotionVelocityCommand",
121+
),
122+
"BodyVelocityCommand": (".locomotion_contracts", "BodyVelocityCommand"),
123+
"LocomotionVelocityCommandError": (
124+
".locomotion_contracts",
125+
"LocomotionVelocityCommandError",
126+
),
127+
"build_locomotion_velocity_command": (
128+
".locomotion_contracts",
129+
"build_locomotion_velocity_command",
130+
),
131+
"normalize_locomotion_velocity_command": (
132+
".locomotion_contracts",
133+
"normalize_locomotion_velocity_command",
134+
),
135+
"normalize_body_velocity_command": (
136+
".locomotion_contracts",
137+
"normalize_body_velocity_command",
138+
),
139+
"stop_locomotion_velocity_command": (
140+
".locomotion_contracts",
141+
"stop_locomotion_velocity_command",
142+
),
143+
"stop_aerial_velocity_command": (
144+
".locomotion_contracts",
145+
"stop_aerial_velocity_command",
146+
),
147+
"hold_seconds_for_velocity_command": (
148+
".locomotion_contracts",
149+
"hold_seconds_for_velocity_command",
150+
),
101151
# Keyboard teleop
102152
"KeyboardBindings": (".keyboard", "KeyboardBindings"),
103153
"KeyboardTeleop": (".keyboard", "KeyboardTeleop"),
@@ -108,6 +158,21 @@
108158
"ProjectManager": (".resources", "ProjectManager"),
109159
"EnvironmentManager": (".resources", "EnvironmentManager"),
110160
"AssetManager": (".resources", "AssetManager"),
161+
"AssetControllerSetupRecommendation": (
162+
".resources",
163+
"AssetControllerSetupRecommendation",
164+
),
165+
"AssetControllerSetupRuntimeOption": (
166+
".resources",
167+
"AssetControllerSetupRuntimeOption",
168+
),
169+
"AssetControllerSetupRuntimePolicy": (
170+
".resources",
171+
"AssetControllerSetupRuntimePolicy",
172+
),
173+
"AssetControllerSetupView": (".resources", "AssetControllerSetupView"),
174+
"ControlRuntimeTargetPayload": (".resources", "ControlRuntimeTargetPayload"),
175+
"PolicyRefPayload": (".resources", "PolicyRefPayload"),
111176
"EdgeManager": (".resources", "EdgeManager"),
112177
"TwinManager": (".resources", "TwinManager"),
113178
# Workflow management (also pulls in REST layer)
@@ -152,6 +217,14 @@
152217
"format_device_info_table": (".fingerprint", "format_device_info_table"),
153218
# Scene
154219
"Scene": (".scene", "Scene"),
220+
# Centered placement helpers
221+
"CenteredPlacement": (".placement", "CenteredPlacement"),
222+
"GENERIC_CUBE_BOUNDS": (".placement", "GENERIC_CUBE_BOUNDS"),
223+
"compute_centered_placement": (".placement", "compute_centered_placement"),
224+
"compute_center_from_origin": (".placement", "compute_center_from_origin"),
225+
# RL task scene-entity + task-spec helpers
226+
"RLTaskClient": (".rl_tasks", "RLTaskClient"),
227+
"TaskSpecExport": (".rl_tasks", "TaskSpecExport"),
155228
}
156229

157230
# Optional camera streaming symbols — only available with extra deps.
@@ -211,6 +284,14 @@ def __getattr__(name: str) -> Any:
211284
"Cyberwave",
212285
# Scene
213286
"Scene",
287+
# Centered placement helpers
288+
"CenteredPlacement",
289+
"GENERIC_CUBE_BOUNDS",
290+
"compute_centered_placement",
291+
"compute_center_from_origin",
292+
# RL task helpers
293+
"RLTaskClient",
294+
"TaskSpecExport",
214295
# Configuration
215296
"CyberwaveConfig",
216297
"get_config",
@@ -241,13 +322,27 @@ def __getattr__(name: str) -> Any:
241322
"ScopedMotionHandle",
242323
"TwinNavigationHandle",
243324
"NavigationPlan",
325+
"LOCOMOTION_VELOCITY_COMMAND_CONTRACT",
326+
"AERIAL_VELOCITY_COMMAND_CONTRACT",
327+
"LOCOMOTION_VELOCITY_COMMAND_REQUIRED_FIELDS",
328+
"AERIAL_VELOCITY_COMMAND_REQUIRED_FIELDS",
329+
"LocomotionVelocityCommand",
330+
"BodyVelocityCommand",
331+
"LocomotionVelocityCommandError",
332+
"build_locomotion_velocity_command",
333+
"normalize_locomotion_velocity_command",
334+
"normalize_body_velocity_command",
335+
"stop_locomotion_velocity_command",
336+
"stop_aerial_velocity_command",
337+
"hold_seconds_for_velocity_command",
244338
# Keyboard teleop
245339
"KeyboardBindings",
246340
"KeyboardTeleop",
247341
# Exceptions
248342
"CyberwaveError",
249343
"CyberwaveAPIError",
250344
"CyberwaveConnectionError",
345+
"CyberwaveInsufficientCreditsError",
251346
"CyberwaveTimeoutError",
252347
"CyberwaveValidationError",
253348
# Compact API
@@ -259,6 +354,12 @@ def __getattr__(name: str) -> Any:
259354
"ProjectManager",
260355
"EnvironmentManager",
261356
"AssetManager",
357+
"AssetControllerSetupRecommendation",
358+
"AssetControllerSetupRuntimeOption",
359+
"AssetControllerSetupRuntimePolicy",
360+
"AssetControllerSetupView",
361+
"ControlRuntimeTargetPayload",
362+
"PolicyRefPayload",
262363
"EdgeManager",
263364
"TwinManager",
264365
# Workflow management

‎cyberwave/_version.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from importlib.metadata import PackageNotFoundError
66
from importlib.metadata import version as metadata_version
77

8-
STATIC_VERSION = "0.5.1"
8+
STATIC_VERSION = "0.5.2"
99

1010
try:
1111
from ._build_version import BUILD_VERSION

‎cyberwave/assets.pyi‎

Lines changed: 21 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -455,10 +455,10 @@ class ComauedoTwin(Twin):
455455
"""Controller for robot joints"""
456456
...
457457

458-
class DjidjiTelloTwin(Twin):
458+
class DjitelloTwin(Twin):
459459
"""
460460
Digital twin for DJI Tello
461-
Registry ID: dji/dji-tello
461+
Registry ID: dji/tello
462462
"""
463463
def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
464464
"""Move the twin to a new position"""
@@ -873,22 +873,6 @@ class Logitechc920Twin(Twin):
873873
"""
874874
pass
875875

876-
class TheRobotStudioso101WithCameraTwin(Twin):
877-
"""
878-
Digital twin for SO-101 with camera
879-
Registry ID: the-robot-studio/so101-with-camera
880-
"""
881-
def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
882-
"""Move the twin to a new position"""
883-
...
884-
def move_to(self, position: list[float]) -> None:
885-
"""Move to a specific position [x, y, z]"""
886-
...
887-
@property
888-
def joints(self) -> JointsHandle:
889-
"""Controller for robot joints"""
890-
...
891-
892876
class UniversalRobotsur7Twin(Twin):
893877
"""
894878
Digital twin for UR7
@@ -1148,10 +1132,10 @@ class NeuraRoboticsmaira6mTwin(Twin):
11481132
"""Controller for robot joints"""
11491133
...
11501134

1151-
class DjidjiMini4ProTwin(Twin):
1135+
class Djimini4ProTwin(Twin):
11521136
"""
11531137
Digital twin for DJI Mini 4 Pro
1154-
Registry ID: dji/dji-mini-4-pro
1138+
Registry ID: dji/mini-4-pro
11551139
"""
11561140
def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
11571141
"""Move the twin to a new position"""
@@ -1169,17 +1153,12 @@ class CyberwaveepalTwin(Twin):
11691153
Digital twin for EPAL Euro Pallet
11701154
Registry ID: cyberwave/epal
11711155
"""
1172-
def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
1173-
"""Move the twin to a new position"""
1174-
...
1175-
def move_to(self, position: list[float]) -> None:
1176-
"""Move to a specific position [x, y, z]"""
1177-
...
1156+
pass
11781157

1179-
class DjidjiMini3Twin(Twin):
1158+
class Djimini3Twin(Twin):
11801159
"""
11811160
Digital twin for DJI Mini 3
1182-
Registry ID: dji/dji-mini-3
1161+
Registry ID: dji/mini-3
11831162
"""
11841163
def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
11851164
"""Move the twin to a new position"""
@@ -1290,6 +1269,16 @@ class Cyberwavego2BackpackTwin(Twin):
12901269
"""
12911270
pass
12921271

1272+
class ObsbotobsbotTiny3Twin(Twin):
1273+
"""
1274+
Digital twin for Obsbot Tiny 3
1275+
Registry ID: obsbot/obsbot-tiny-3
1276+
"""
1277+
@property
1278+
def joints(self) -> JointsHandle:
1279+
"""Controller for robot joints"""
1280+
...
1281+
12931282
# Asset registry mapping registry_id to Twin class
12941283
ASSET_REGISTRY: dict[str, type[Twin]] = {
12951284
"the-robot-studio/so101": TheRobotStudioso101Twin,
@@ -1326,7 +1315,7 @@ ASSET_REGISTRY: dict[str, type[Twin]] = {
13261315
"rethink-robotics/sawyer": RethinkRoboticssawyerTwin,
13271316
"anybotics/anymal-c": AnyboticsanymalCTwin,
13281317
"comau/edo": ComauedoTwin,
1329-
"dji/dji-tello": DjidjiTelloTwin,
1318+
"dji/tello": DjitelloTwin,
13301319
"bitcraze/crazyflie-2": Bitcrazecrazyflie2Twin,
13311320
"fourier/fftai-gr1t1": FourierfftaiGr1t1Twin,
13321321
"fourier/fftai-gr1t2": FourierfftaiGr1t2Twin,
@@ -1365,7 +1354,6 @@ ASSET_REGISTRY: dict[str, type[Twin]] = {
13651354
"hoverspect/avientory-platform": HoverspectavientoryPlatformTwin,
13661355
"apeiroon/bx100": Apeiroonbx100Twin,
13671356
"logitech/c920": Logitechc920Twin,
1368-
"the-robot-studio/so101-with-camera": TheRobotStudioso101WithCameraTwin,
13691357
"universal_robots/ur7": UniversalRobotsur7Twin,
13701358
"waveshare/ugv-beast": WaveshareugvBeastTwin,
13711359
"alto-robotics/node": AltoRoboticsnodeTwin,
@@ -1395,9 +1383,9 @@ ASSET_REGISTRY: dict[str, type[Twin]] = {
13951383
"sam-wilcocks-workspace/d500-lidar-2": SamWilcocksWorkspaced500Lidar2Twin,
13961384
"neura-robotics/maira7s": NeuraRoboticsmaira7sTwin,
13971385
"neura-robotics/maira6m": NeuraRoboticsmaira6mTwin,
1398-
"dji/dji-mini-4-pro": DjidjiMini4ProTwin,
1386+
"dji/mini-4-pro": Djimini4ProTwin,
13991387
"cyberwave/epal": CyberwaveepalTwin,
1400-
"dji/dji-mini-3": DjidjiMini3Twin,
1388+
"dji/mini-3": Djimini3Twin,
14011389
"mls-team/math-scavator-9000": MlsTeammathScavator9000Twin,
14021390
"cyberwave/generic-microphone": CyberwavegenericMicrophoneTwin,
14031391
"cyberwave/generic-speaker": CyberwavegenericSpeakerTwin,
@@ -1409,4 +1397,5 @@ ASSET_REGISTRY: dict[str, type[Twin]] = {
14091397
"cyberwave/electric-substation": CyberwaveelectricSubstationTwin,
14101398
"mls-team/obsbot-tiny-3": MlsTeamobsbotTiny3Twin,
14111399
"cyberwave/go2-backpack": Cyberwavego2BackpackTwin,
1400+
"obsbot/obsbot-tiny-3": ObsbotobsbotTiny3Twin,
14121401
}

0 commit comments

Comments
 (0)