From 6a7fac87a4f9a913d7c6d0a3d017d66d9c816230 Mon Sep 17 00:00:00 2001 From: Christoph Glasmacher Date: Mon, 18 May 2026 13:59:28 +0200 Subject: [PATCH 1/3] feat:add description how motion of vehicle is controlled. refers to #903. Signed-off-by: Christoph Glasmacher --- osi_object.proto | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/osi_object.proto b/osi_object.proto index 8814782cb..b16ac8796 100644 --- a/osi_object.proto +++ b/osi_object.proto @@ -599,6 +599,41 @@ message MovingObject // optional double radius_wheel = 2; + enum MotionControlType + { + // Type of motion control is unknown. + // + TYPE_UNKNOWN = 0; + + // Other (unspecified but known) type of controller for moving object. + // + TYPE_OTHER = 1; + + // Real world regular person controls vheicle. + // + TYPE_REGULAR_DRIVER = 2; + + // Real world professional driver (e.g. safety driver) controls vehicle. + // + TYPE_PROFESSIONAL_DRIVER = 3; + + // Object is controlled by ADAS function but driver is in responsible. + // + TYPE_ADAS = 4; + + // Object is controlled by AD function (no responsibility but possibility for passenger (if there are any) to takeover). + // + TYPE_AD = 5; + + // Object is controlled remotely. + // + TYPE_REMOTE = 6; + } + + // The type of controller moving the object. + // + optional MotionControlType motion_control_type = 3; + // Number of independent wheels. // // \rules From dbee0de8e0d747e5eebbbbbef98d3a3378cbfe74 Mon Sep 17 00:00:00 2001 From: Christoph Glasmacher Date: Mon, 18 May 2026 17:34:54 +0200 Subject: [PATCH 2/3] feat: add new enum elements for different models for motion control. Signed-off-by: Christoph Glasmacher --- osi_object.proto | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/osi_object.proto b/osi_object.proto index b16ac8796..44035539f 100644 --- a/osi_object.proto +++ b/osi_object.proto @@ -625,14 +625,28 @@ message MovingObject // TYPE_AD = 5; + // Object is controlled by an everyday driving model + // Definition: A model that includes the behaviour of a road user in uncritical traffic situations, including interaction with the infrastructure (Bärgman et al., "Guidelines for the development, quality, and use of models of road-user behaviour and models for in-crash simulations in virtual safety assessment", 2025) + // + TYPE_EVERYDAY_TRAFFIC_INTERACTION_MODEL = 6; + + // Object is controlled by a critical event model + // Definition: A model that describes a road user’s responses to the unfolding of a critical event (Bärgman et al., "Guidelines for the development, quality, and use of models of road-user behaviour and models for in-crash simulations in virtual safety assessment", 2025) + // + TYPE_CRITICAL_EVENT_MODEL = 7; + + // Object is controlled by another model + // + TYPE_MODEL_OTHER = 8; + // Object is controlled remotely. // - TYPE_REMOTE = 6; + TYPE_REMOTE = 9; } // The type of controller moving the object. // - optional MotionControlType motion_control_type = 3; + optional MotionControlType motion_control_type = 0; // Number of independent wheels. // From 0f243cd0ca7936ebece1c1a9bdbaa13138ba1485 Mon Sep 17 00:00:00 2001 From: Christoph Glasmacher Date: Tue, 19 May 2026 10:38:51 +0200 Subject: [PATCH 3/3] feat: shift motion control to moving object since it distinction makes also sense for other moving objects such as pedestrians. Signed-off-by: Christoph Glasmacher --- osi_object.proto | 98 ++++++++++++++++++++++++------------------------ 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/osi_object.proto b/osi_object.proto index 44035539f..80b1088ee 100644 --- a/osi_object.proto +++ b/osi_object.proto @@ -554,6 +554,55 @@ message MovingObject // optional PedestrianAttributes pedestrian_attributes = 12; + enum MotionControlType + { + // Type of motion control is unknown. + // + TYPE_UNKNOWN = 0; + + // Other (unspecified but known) type of controller for moving object. + // + TYPE_OTHER = 1; + + // Real world regular person controls movement. + // + TYPE_REGULAR_PERSON = 2; + + // Real world professional (e.g. safety driver) controls movement. + // + TYPE_PROFESSIONAL_PERSON = 3; + + // Object is controlled by ADAS function but human is responsible. + // + TYPE_ADAS = 4; + + // Object is controlled by AD function (no responsibility but possibility for human (if there are any) to takeover). + // + TYPE_AD = 5; + + // Object is controlled by an everyday driving model + // Definition: A model that includes the behaviour of a road user in uncritical traffic situations, including interaction with the infrastructure (Bärgman et al., "Guidelines for the development, quality, and use of models of road-user behaviour and models for in-crash simulations in virtual safety assessment", 2025) + // + TYPE_EVERYDAY_TRAFFIC_INTERACTION_MODEL = 6; + + // Object is controlled by a critical event model + // Definition: A model that describes a road user’s responses to the unfolding of a critical event (Bärgman et al., "Guidelines for the development, quality, and use of models of road-user behaviour and models for in-crash simulations in virtual safety assessment", 2025) + // + TYPE_CRITICAL_EVENT_MODEL = 7; + + // Object is controlled by another model + // + TYPE_MODEL_OTHER = 8; + + // Object is controlled remotely. + // + TYPE_REMOTE = 9; + } + + // The type of controller moving the object. + // + optional MotionControlType motion_control_type = 0; + // // \brief The vehicle attributes for \c MovingObject (host or other). // @@ -599,55 +648,6 @@ message MovingObject // optional double radius_wheel = 2; - enum MotionControlType - { - // Type of motion control is unknown. - // - TYPE_UNKNOWN = 0; - - // Other (unspecified but known) type of controller for moving object. - // - TYPE_OTHER = 1; - - // Real world regular person controls vheicle. - // - TYPE_REGULAR_DRIVER = 2; - - // Real world professional driver (e.g. safety driver) controls vehicle. - // - TYPE_PROFESSIONAL_DRIVER = 3; - - // Object is controlled by ADAS function but driver is in responsible. - // - TYPE_ADAS = 4; - - // Object is controlled by AD function (no responsibility but possibility for passenger (if there are any) to takeover). - // - TYPE_AD = 5; - - // Object is controlled by an everyday driving model - // Definition: A model that includes the behaviour of a road user in uncritical traffic situations, including interaction with the infrastructure (Bärgman et al., "Guidelines for the development, quality, and use of models of road-user behaviour and models for in-crash simulations in virtual safety assessment", 2025) - // - TYPE_EVERYDAY_TRAFFIC_INTERACTION_MODEL = 6; - - // Object is controlled by a critical event model - // Definition: A model that describes a road user’s responses to the unfolding of a critical event (Bärgman et al., "Guidelines for the development, quality, and use of models of road-user behaviour and models for in-crash simulations in virtual safety assessment", 2025) - // - TYPE_CRITICAL_EVENT_MODEL = 7; - - // Object is controlled by another model - // - TYPE_MODEL_OTHER = 8; - - // Object is controlled remotely. - // - TYPE_REMOTE = 9; - } - - // The type of controller moving the object. - // - optional MotionControlType motion_control_type = 0; - // Number of independent wheels. // // \rules