Skip to content

Geometry

AbsolutePose

Bases: Pose

Absolute pose of the robot in 3D space.

Source code in mbodied/types/geometry.py
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
class AbsolutePose(Pose):
    """Absolute pose of the robot in 3D space."""

    x: float = AbsoluteMotionField(
        0,
        description="Absolute X position in 3D space. +x is forward; -x is backward.",
    )
    y: float = AbsoluteMotionField(
        0,
        description="Absolute Y position in 3D space. +y is left; -y is right.",
    )
    z: float = AbsoluteMotionField(
        0,
        description="Absolute Z position in 3D space. +z is up; -z is down.",
    )
    roll: float = AbsoluteMotionField(
        0,
        description="Absolute roll about the X-axis in radians. Positive roll is clockwise.",
    )
    pitch: float = AbsoluteMotionField(
        0,
        description="Absolute pitch about the Y-axis in radians. Positive pitch is down.",
    )
    yaw: float = AbsoluteMotionField(
        0,
        description="Absolute yaw about the Z-axis in radians. Positive yaw is left.",
    )

LocationAngle

Bases: Pose3D

Alias for Pose3D. A 2D+1 space representing x, y, and theta.

Source code in mbodied/types/geometry.py
21
22
23
24
class LocationAngle(Pose3D):
    """Alias for Pose3D. A 2D+1 space representing x, y, and theta."""

    pass

Pose

Bases: Pose6D

Alias for Pose6D. A movement for a 6D space representing x, y, z, roll, pitch, and yaw.

Source code in mbodied/types/geometry.py
56
57
58
59
class Pose(Pose6D):
    """Alias for Pose6D. A movement for a 6D space representing x, y, z, roll, pitch, and yaw."""

    pass

Pose3D

Bases: Motion

Action for a 2D+1 space representing x, y, and theta.

Source code in mbodied/types/geometry.py
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
class Pose3D(Motion):
    """Action for a 2D+1 space representing x, y, and theta."""

    x: float = MotionField(
        0.0,
        description="X position in 2D space. +x is forward; -x is backward.",
    )
    y: float = MotionField(
        0.0,
        description="Y position in 2D space. +y is left; -y is right.",
    )
    theta: float = MotionField(
        default_factory=lambda: 0.0,
        description="Rotation (radians) about the z axis. Positive is counter-clockwise.",
    )

Pose6D

Bases: Motion

Movement for a 6D space representing x, y, z, roll, pitch, and yaw.

Source code in mbodied/types/geometry.py
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
class Pose6D(Motion):
    """Movement for a 6D space representing x, y, z, roll, pitch, and yaw."""

    x: float = MotionField(
        default=0,
        description="X position in 3D space. +x is forward; -x is backward.",
    )
    y: float = MotionField(
        0,
        description="Y position in 3D space. +y is left; -y is right.",
    )
    z: float = MotionField(
        0,
        description="Z position in 3D space. +z is up; -z is down.",
    )
    roll: float = MotionField(
        0,
        description="Roll about the X-axis in radians. Positive roll is clockwise.",
    )
    pitch: float = MotionField(
        0,
        description="Pitch about the Y-axis in radians. Positive pitch is down.",
    )
    yaw: float = MotionField(
        0,
        description="Yaw about the Z-axis in radians. Positive yaw is left.",
    )

RelativePose

Bases: Pose

Relative pose of the robot in 3D space.

Source code in mbodied/types/geometry.py
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
class RelativePose(Pose):
    """Relative pose of the robot in 3D space."""

    x: float = RelativeMotionField(
        0,
        description="Relative X position in 3D space. +x is forward; -x is backward.",
    )
    y: float = RelativeMotionField(
        0,
        description="Relative Y position in 3D space. +y is left; -y is right.",
    )
    z: float = RelativeMotionField(
        0,
        description="Relative Z position in 3D space. +z is up; -z is down.",
    )
    roll: float = RelativeMotionField(
        0,
        description="Relative roll about the X-axis in radians. Positive roll is clockwise.",
    )
    pitch: float = RelativeMotionField(
        0,
        description="Relative pitch about the Y-axis in radians. Positive pitch is down.",
    )
    yaw: float = RelativeMotionField(
        0,
        description="Relative yaw about the Z-axis in radians. Positive yaw is left.",
    )