sim.world_gen.hoop_course_node#

Attributes#

Classes#

CourseStyle

Abstract base class for all course styles.

AscentCourse

Abstract base class for all course styles.

DescentCourse

Abstract base class for all course styles.

SlalomCourse

Abstract base class for all course styles.

StraightCourse

Simple straight course with hoops in a straight line.

BezierCourse

Smooth cubic Bezier curve between UAV start and DLZ.

HoopCourseConfig

!!! abstract "Usage Documentation"

HoopCourseNode

World generation node for in_house competition.

Functions#

main([args])

Module Contents#

Pose#
class CourseStyle(dlz: Tuple[float, float, float], uav: Tuple[float, float, float], num_hoops: int, max_dist: int, height: int, rng: random.Random | None = None)#

Bases: abc.ABC

Abstract base class for all course styles.

dlz#
uav#
num_hoops#
height#
max_dist#
rng#
abstractmethod generate_course() List[Pose]#

Generate a list of (x, y, z, roll, pitch, yaw) for hoop placement.

class AscentCourse(dlz: Tuple[float, float, float], uav: Tuple[float, float, float], num_hoops: int, max_dist: int, start_height: int, rng: random.Random | None = None)#

Bases: CourseStyle

Abstract base class for all course styles.

start_height#
generate_course() List[Pose]#

Generate a list of (x, y, z, roll, pitch, yaw) for hoop placement.

class DescentCourse(dlz: Tuple[float, float, float], uav: Tuple[float, float, float], num_hoops: int, max_dist: int, start_height: int, rng: random.Random | None = None)#

Bases: CourseStyle

Abstract base class for all course styles.

start_height#
generate_course() List[Pose]#

Generate a list of (x, y, z, roll, pitch, yaw) for hoop placement.

class SlalomCourse(dlz: Tuple[float, float, float], uav: Tuple[float, float, float], num_hoops: int, max_dist: int, width: int, height: int, rng: random.Random | None = None)#

Bases: CourseStyle

Abstract base class for all course styles.

width#
height#
generate_course() List[Pose]#

Generate a list of (x, y, z, roll, pitch, yaw) for hoop placement.

class StraightCourse(dlz: Tuple[float, float, float], uav: Tuple[float, float, float], num_hoops: int, max_dist: int, height: float = 2.0, spacing: float = 2.0, rng: random.Random | None = None)#

Bases: CourseStyle

Simple straight course with hoops in a straight line. Perfect for testing basic navigation and scoring.

height = 2.0#
spacing = 2.0#
generate_course() List[Pose]#

Generate a straight line of hoops.

Returns:

List of (x, y, z, roll, pitch, yaw) positions for each hoop

class BezierCourse(dlz: Tuple[float, float, float], uav: Tuple[float, float, float], num_hoops: int, max_dist: int, height: float = 2.0, lateral_offset: float = 4.0, rng: random.Random | None = None)#

Bases: CourseStyle

Smooth cubic Bezier curve between UAV start and DLZ. P0 = UAV, P3 = DLZ P1/P2 are along the line with lateral offsets to create an arc.

height = 2.0#
lateral_offset = 4.0#
generate_course() List[Pose]#

Generate a list of (x, y, z, roll, pitch, yaw) for hoop placement.

class HoopCourseConfig(/, **data: Any)#

Bases: pydantic.BaseModel

!!! abstract “Usage Documentation”

[Models](../concepts/models.md)

A base class for creating Pydantic models.

__class_vars__#

The names of the class variables defined on the model.

__private_attributes__#

Metadata about the private attributes of the model.

__signature__#

The synthesized __init__ [Signature][inspect.Signature] of the model.

__pydantic_complete__#

Whether model building is completed, or if there are still undefined fields.

__pydantic_core_schema__#

The core schema of the model.

__pydantic_custom_init__#

Whether the model has a custom __init__ function.

__pydantic_decorators__#

Metadata containing the decorators defined on the model. This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.

__pydantic_generic_metadata__#

A dictionary containing metadata about generic Pydantic models. The origin and args items map to the [__origin__][genericalias.__origin__] and [__args__][genericalias.__args__] attributes of [generic aliases][types-genericalias], and the parameter item maps to the __parameter__ attribute of generic classes.

__pydantic_parent_namespace__#

Parent namespace of the model, used for automatic rebuilding of models.

__pydantic_post_init__#

The name of the post-init method for the model, if defined.

__pydantic_root_model__#

Whether the model is a [RootModel][pydantic.root_model.RootModel].

__pydantic_serializer__#

The pydantic-core SchemaSerializer used to dump instances of the model.

__pydantic_validator__#

The pydantic-core SchemaValidator used to validate instances of the model.

__pydantic_fields__#

A dictionary of field names and their corresponding [FieldInfo][pydantic.fields.FieldInfo] objects.

__pydantic_computed_fields__#

A dictionary of computed field names and their corresponding [ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects.

__pydantic_extra__#

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

__pydantic_fields_set__#

The names of fields explicitly set during instantiation.

__pydantic_private__#

Values of private attributes set on the model instance.

course: str#
dlz: Tuple[float, float, float]#
uav: Tuple[float, float, float]#
num_hoops: int#
max_dist: int#
height: int#
class HoopCourseNode#

Bases: sim.world_gen.world_node.WorldNode

World generation node for in_house competition. Generates a hoop course with various course styles (ascent, descent, slalom, etc.).

config#
course#
dlz#
uav#
num_hoops#
max_dist#
height#
hoops: List[sim.world_gen.entity.Entity] = []#
srv#
hoop_list_req(request, response)#
create_dlzs_from_hoops(hoops: List[sim.world_gen.entity.Entity]) List[sim.world_gen.entity.Entity]#
generate_world() bool#

Generate the world file with hoops and DLZs.

Implements the abstract method from WorldNode.

main(args=None)#