luckyrobots 0.1.71__py3-none-any.whl → 0.1.73__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 +5 -32
- luckyrobots/client.py +90 -458
- luckyrobots/config/robots.yaml +72 -48
- luckyrobots/engine/__init__.py +5 -20
- luckyrobots/grpc/generated/agent_pb2.py +7 -3
- luckyrobots/grpc/generated/agent_pb2_grpc.py +46 -0
- luckyrobots/grpc/generated/scene_pb2.py +13 -3
- luckyrobots/grpc/generated/scene_pb2_grpc.py +88 -0
- luckyrobots/grpc/proto/agent.proto +29 -0
- luckyrobots/grpc/proto/scene.proto +34 -0
- luckyrobots/luckyrobots.py +37 -6
- luckyrobots/models/__init__.py +2 -14
- luckyrobots/models/observation.py +4 -33
- luckyrobots/utils.py +1 -43
- {luckyrobots-0.1.71.dist-info → luckyrobots-0.1.73.dist-info}/METADATA +1 -1
- {luckyrobots-0.1.71.dist-info → luckyrobots-0.1.73.dist-info}/RECORD +18 -22
- luckyrobots/engine/check_updates.py +0 -264
- luckyrobots/engine/download.py +0 -125
- luckyrobots/models/camera.py +0 -97
- luckyrobots/models/randomization.py +0 -77
- {luckyrobots-0.1.71.dist-info → luckyrobots-0.1.73.dist-info}/WHEEL +0 -0
- {luckyrobots-0.1.71.dist-info → luckyrobots-0.1.73.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Domain randomization configuration for physics parameters.
|
|
3
|
-
|
|
4
|
-
This model maps to the DomainRandomizationConfig proto message in agent.proto.
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
from typing import Optional
|
|
8
|
-
from pydantic import BaseModel, Field, ConfigDict
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class DomainRandomizationConfig(BaseModel):
|
|
12
|
-
"""Domain randomization configuration for physics parameters.
|
|
13
|
-
|
|
14
|
-
All range fields are [min, max] tuples. None/empty means "use defaults".
|
|
15
|
-
|
|
16
|
-
Usage:
|
|
17
|
-
randomization_cfg = DomainRandomizationConfig(
|
|
18
|
-
friction_range=(0.5, 1.5),
|
|
19
|
-
mass_scale_range=(0.8, 1.2),
|
|
20
|
-
joint_position_noise=0.05,
|
|
21
|
-
)
|
|
22
|
-
client.reset_agent(randomization_cfg=randomization_cfg)
|
|
23
|
-
"""
|
|
24
|
-
|
|
25
|
-
model_config = ConfigDict(frozen=True)
|
|
26
|
-
|
|
27
|
-
# Initial state randomization
|
|
28
|
-
pose_position_noise: Optional[tuple[float, float, float]] = Field(
|
|
29
|
-
default=None, description="[x, y, z] position noise std"
|
|
30
|
-
)
|
|
31
|
-
pose_orientation_noise: Optional[float] = Field(
|
|
32
|
-
default=None, description="Orientation noise std (radians)"
|
|
33
|
-
)
|
|
34
|
-
joint_position_noise: Optional[float] = Field(
|
|
35
|
-
default=None, description="Joint position noise std"
|
|
36
|
-
)
|
|
37
|
-
joint_velocity_noise: Optional[float] = Field(
|
|
38
|
-
default=None, description="Joint velocity noise std"
|
|
39
|
-
)
|
|
40
|
-
|
|
41
|
-
# Physics parameters (all [min, max] ranges)
|
|
42
|
-
friction_range: Optional[tuple[float, float]] = Field(
|
|
43
|
-
default=None, description="Surface friction coefficient [min, max]"
|
|
44
|
-
)
|
|
45
|
-
restitution_range: Optional[tuple[float, float]] = Field(
|
|
46
|
-
default=None, description="Bounce/restitution coefficient [min, max]"
|
|
47
|
-
)
|
|
48
|
-
mass_scale_range: Optional[tuple[float, float]] = Field(
|
|
49
|
-
default=None, description="Body mass multiplier [min, max]"
|
|
50
|
-
)
|
|
51
|
-
com_offset_range: Optional[tuple[float, float]] = Field(
|
|
52
|
-
default=None, description="Center of mass offset [min, max]"
|
|
53
|
-
)
|
|
54
|
-
|
|
55
|
-
# Motor/actuator randomization
|
|
56
|
-
motor_strength_range: Optional[tuple[float, float]] = Field(
|
|
57
|
-
default=None, description="Motor strength multiplier [min, max]"
|
|
58
|
-
)
|
|
59
|
-
motor_offset_range: Optional[tuple[float, float]] = Field(
|
|
60
|
-
default=None, description="Motor position offset [min, max]"
|
|
61
|
-
)
|
|
62
|
-
|
|
63
|
-
# External disturbances
|
|
64
|
-
push_interval_range: Optional[tuple[float, float]] = Field(
|
|
65
|
-
default=None, description="Time between pushes [min, max]"
|
|
66
|
-
)
|
|
67
|
-
push_velocity_range: Optional[tuple[float, float]] = Field(
|
|
68
|
-
default=None, description="Push velocity magnitude [min, max]"
|
|
69
|
-
)
|
|
70
|
-
|
|
71
|
-
# Terrain configuration
|
|
72
|
-
terrain_type: Optional[str] = Field(
|
|
73
|
-
default=None, description="Terrain type identifier"
|
|
74
|
-
)
|
|
75
|
-
terrain_difficulty: Optional[float] = Field(
|
|
76
|
-
default=None, description="Terrain difficulty level"
|
|
77
|
-
)
|
|
File without changes
|
|
File without changes
|