Messages - calibrations
Contents
Messages - calibrations
#
This package contains messages that are used to represent calibration data for sensors and actuators.
CameraExtrinsic#
This message holds a collection of homographies that describe the transformation of pixels from the camera frame
to other reference frames. For example, the transformation from the camera frame to the ground plane frame, used
to project detected colored segments onto the ground in front of the robot, is stored as the pair
("/ROBOT_NAME/base_footprint", Homography(...))
.
- pydantic model duckietown_messages.calibrations.camera_extrinsic.CameraExtrinsicCalibration#
Show JSON schema
{ "title": "CameraExtrinsicCalibration", "type": "object", "properties": { "header": { "title": "Header", "description": "Auto-generated header", "allOf": [ { "$ref": "#/definitions/Header" } ] }, "homographies": { "title": "Homographies", "description": "Collection of known homography matrices for different target reference frames", "type": "object", "additionalProperties": { "$ref": "#/definitions/Homography" } } }, "required": [ "homographies" ], "definitions": { "Header": { "title": "Header", "type": "object", "properties": { "version": { "title": "Version", "description": "Version of the message this header is attached to", "default": "1.0", "pattern": "^[0-9]+\\.[0-9]+(\\.[0-9]+)?$", "example": "0.1.3", "type": "string" }, "frame": { "title": "Frame", "description": "Reference frame this data is captured in", "type": "string" }, "txt": { "title": "Txt", "description": "Auxiliary data attached to the message", "type": "object" } } }, "Homography": { "title": "Homography", "type": "object", "properties": { "header": { "title": "Header", "description": "Auto-generated header", "allOf": [ { "$ref": "#/definitions/Header" } ] }, "data": { "title": "Data", "description": "Homography matrix (flattened)", "type": "array", "items": { "type": "number" } } }, "required": [ "data" ] } } }
- Fields
- field header: duckietown_messages.standard.header.Header [Optional]#
Auto-generated header
- field homographies: Dict[str, duckietown_messages.geometry_2d.homography.Homography] [Required]#
Collection of known homography matrices for different target reference frames
- classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) Model #
Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values
- copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) Model #
Duplicate a model, optionally choose which fields to include, exclude and change.
- Parameters
include – fields to include in new model
exclude – fields to exclude from new model, as with values this takes precedence over include
update – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data
deep – set to True to make a deep copy of the model
- Returns
new model instance
- dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) DictStrAny #
Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
- classmethod from_orm(obj: Any) Model #
- classmethod from_rawdata(rd: dtps_http.structures.RawData) duckietown_messages.base.BaseMessage #
- json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) unicode #
Generate a JSON representation of the model, include and exclude arguments as per dict().
encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().
- classmethod parse_file(path: Union[str, pathlib.Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: pydantic.parse.Protocol = None, allow_pickle: bool = False) Model #
- classmethod parse_obj(obj: Any) Model #
- classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: pydantic.parse.Protocol = None, allow_pickle: bool = False) Model #
- classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') DictStrAny #
- classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) unicode #
- to_rawdata() dtps_http.structures.RawData #
- classmethod update_forward_refs(**localns: Any) None #
Try to update ForwardRefs on fields based on this Model, globalns and localns.
- classmethod validate(value: Any) Model #
CameraIntrinsic#
This message holds the intrinsic calibration parameters of a camera. These parameters are used to project 3D points onto the image plane and to undistort images.
- pydantic model duckietown_messages.calibrations.camera_intrinsic.CameraIntrinsicCalibration#
Show JSON schema
{ "title": "CameraIntrinsicCalibration", "type": "object", "properties": { "header": { "title": "Header", "description": "Auto-generated header", "allOf": [ { "$ref": "#/definitions/Header" } ] }, "K": { "title": "K", "description": "Intrinsic camera matrix (flattened)", "type": "array", "items": {} }, "D": { "title": "D", "description": "Distortion coefficients", "type": "array", "items": {} }, "P": { "title": "P", "description": "Projection matrix (flattened)", "type": "array", "items": {} }, "R": { "title": "R", "description": "Rectification matrix (flattened)", "type": "array", "items": {} } }, "required": [ "K", "D", "P" ], "definitions": { "Header": { "title": "Header", "type": "object", "properties": { "version": { "title": "Version", "description": "Version of the message this header is attached to", "default": "1.0", "pattern": "^[0-9]+\\.[0-9]+(\\.[0-9]+)?$", "example": "0.1.3", "type": "string" }, "frame": { "title": "Frame", "description": "Reference frame this data is captured in", "type": "string" }, "txt": { "title": "Txt", "description": "Auxiliary data attached to the message", "type": "object" } } } } }
- Fields
- field header: duckietown_messages.standard.header.Header [Optional]#
Auto-generated header
- field K: list [Required]#
Intrinsic camera matrix (flattened)
- field D: list [Required]#
Distortion coefficients
- field P: list [Required]#
Projection matrix (flattened)
- field R: Optional[list] = None#
Rectification matrix (flattened)
- classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) Model #
Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values
- copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) Model #
Duplicate a model, optionally choose which fields to include, exclude and change.
- Parameters
include – fields to include in new model
exclude – fields to exclude from new model, as with values this takes precedence over include
update – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data
deep – set to True to make a deep copy of the model
- Returns
new model instance
- dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) DictStrAny #
Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
- classmethod from_orm(obj: Any) Model #
- classmethod from_rawdata(rd: dtps_http.structures.RawData) duckietown_messages.base.BaseMessage #
- json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) unicode #
Generate a JSON representation of the model, include and exclude arguments as per dict().
encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().
- classmethod parse_file(path: Union[str, pathlib.Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: pydantic.parse.Protocol = None, allow_pickle: bool = False) Model #
- classmethod parse_obj(obj: Any) Model #
- classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: pydantic.parse.Protocol = None, allow_pickle: bool = False) Model #
- classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') DictStrAny #
- classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) unicode #
- to_rawdata() dtps_http.structures.RawData #
- classmethod update_forward_refs(**localns: Any) None #
Try to update ForwardRefs on fields based on this Model, globalns and localns.
- classmethod validate(value: Any) Model #
DCMotor#
This message holds the calibration profile for a DC motor. A correction factor is applied to the PWM signal to account
for the non-linear relationship between the PWM signal and the motor’s angular velocity. The calibration profile is
stored as a list of (PWM, correction)
pairs for various samples of PWM values. The correction factor is a multiplier
that is applied to the PWM signal to obtain the corrected PWM signal.
- pydantic model duckietown_messages.calibrations.dc_motor.DCMotorCalibration#
Show JSON schema
{ "title": "DCMotorCalibration", "type": "object", "properties": { "header": { "title": "Header", "description": "Auto-generated header", "allOf": [ { "$ref": "#/definitions/Header" } ] }, "gain": { "title": "Gain", "description": "Gain of the motor as a list of pairs (commanded PWM, correction factor). Always apply the correction factor of the closest commanded PWM value.", "type": "array", "items": { "$ref": "#/definitions/Pair_float__float_" } } }, "required": [ "gain" ], "definitions": { "Header": { "title": "Header", "type": "object", "properties": { "version": { "title": "Version", "description": "Version of the message this header is attached to", "default": "1.0", "pattern": "^[0-9]+\\.[0-9]+(\\.[0-9]+)?$", "example": "0.1.3", "type": "string" }, "frame": { "title": "Frame", "description": "Reference frame this data is captured in", "type": "string" }, "txt": { "title": "Txt", "description": "Auxiliary data attached to the message", "type": "object" } } }, "Pair_float__float_": { "title": "Pair[float, float]", "description": "Abstract base class for generic types.\n\nA generic type is typically declared by inheriting from\nthis class parameterized with one or more type variables.\nFor example, a generic mapping type might be defined as::\n\n class Mapping(Generic[KT, VT]):\n def __getitem__(self, key: KT) -> VT:\n ...\n # Etc.\n\nThis class can then be used as follows::\n\n def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT:\n try:\n return mapping[key]\n except KeyError:\n return default", "type": "object", "properties": { "header": { "title": "Header", "description": "Auto-generated header", "allOf": [ { "$ref": "#/definitions/Header" } ] }, "first": { "title": "First", "description": "First element of the pair", "type": "number" }, "second": { "title": "Second", "description": "Second element of the pair", "type": "number" } }, "required": [ "first", "second" ] } } }
- Fields
- field header: duckietown_messages.standard.header.Header [Optional]#
Auto-generated header
- field gain: List[duckietown_messages.calibrations.dc_motor.Pair[float, float]] [Required]#
Gain of the motor as a list of pairs (commanded PWM, correction factor). Always apply the correction factor of the closest commanded PWM value.
- classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) Model #
Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values
- copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) Model #
Duplicate a model, optionally choose which fields to include, exclude and change.
- Parameters
include – fields to include in new model
exclude – fields to exclude from new model, as with values this takes precedence over include
update – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data
deep – set to True to make a deep copy of the model
- Returns
new model instance
- dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) DictStrAny #
Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
- classmethod from_orm(obj: Any) Model #
- classmethod from_rawdata(rd: dtps_http.structures.RawData) duckietown_messages.base.BaseMessage #
- json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) unicode #
Generate a JSON representation of the model, include and exclude arguments as per dict().
encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().
- classmethod parse_file(path: Union[str, pathlib.Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: pydantic.parse.Protocol = None, allow_pickle: bool = False) Model #
- classmethod parse_obj(obj: Any) Model #
- classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: pydantic.parse.Protocol = None, allow_pickle: bool = False) Model #
- classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') DictStrAny #
- classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) unicode #
- to_rawdata() dtps_http.structures.RawData #
- classmethod update_forward_refs(**localns: Any) None #
Try to update ForwardRefs on fields based on this Model, globalns and localns.
- classmethod validate(value: Any) Model #