55 adoreMatrix<double,10,1>
x_;
90 x_ = dlib::zeros_matrix<double>(10l,1l);
94 if(external_ego_measurement_models)
231 x_ = dlib::colm(X,X.nc()-1);
267 double distance_to_center = length*0.5-
params_->
get_d();
271 yout.
classification_ = adore::env::traffic::Participant::EClassification::CAR;
a vehicle model which can be used in simulations
Definition: vehiclemodel.h:43
adore::mad::AReader< adore::fun::MotionCommand > * control_input_
Definition: vehiclemodel.h:58
adore::mad::AReader< adore::fun::IndicatorCommand > * indstateReader_
Definition: vehiclemodel.h:63
bool checkpoint_clearance_
Definition: vehiclemodel.h:51
params::APVehicle * params_
Definition: vehiclemodel.h:45
adore::mad::AReader< double > * timer_
Definition: vehiclemodel.h:57
adore::mad::OdeRK4< double > solver_
Definition: vehiclemodel.h:65
virtual void run()
simulation step of the vehicle model
Definition: vehiclemodel.h:164
double indicator_left_off_from_
Definition: vehiclemodel.h:53
adore::mad::AWriter< adore::fun::VehicleMotionState9d > * gps_output_
Definition: vehiclemodel.h:60
bool supress_input_
Definition: vehiclemodel.h:52
adore::mad::AWriter< adore::fun::VehicleMotionState9d > * odom_output_
Definition: vehiclemodel.h:61
adore::mad::AWriter< adore::fun::VehicleExtendedState > * extended_state_output_
Definition: vehiclemodel.h:62
void setSupressInput(bool value)
supress input to introduce errors, without deactivating automatic control
Definition: vehiclemodel.h:135
adore::sim::AFactory::TParticipantWriter * participant_writer_
Definition: vehiclemodel.h:68
adore::mad::AWriter< adore::fun::VehicleMotionState9d > * sim_output_
Definition: vehiclemodel.h:59
double last_time_
Definition: vehiclemodel.h:46
adore::mad::AFeed< adore::sim::ResetVehiclePose > * reset_pose_feed_
Definition: vehiclemodel.h:66
bool last_time_valid_
Definition: vehiclemodel.h:49
adore::mad::AFeed< adore::sim::ResetVehicleTwist > * reset_twist_feed_
Definition: vehiclemodel.h:67
adoreMatrix< double, 10, 1 > x_
Definition: vehiclemodel.h:55
bool automatic_control_
Definition: vehiclemodel.h:50
bool setIndicatorRightOn(double duration)
Definition: vehiclemodel.h:140
bool setIndicatorLeftOn(double duration)
Definition: vehiclemodel.h:150
adore::fun::IndicatorCommand indicatorCommand_
Definition: vehiclemodel.h:64
void setCheckpointClearance()
confirmation of current checkout
Definition: vehiclemodel.h:127
double integration_step_
Definition: vehiclemodel.h:47
adore::env::traffic::Participant::TV2XStationID v2xStationID_
Definition: vehiclemodel.h:71
double indicator_right_off_from_
Definition: vehiclemodel.h:54
adore::fun::MotionCommand u_
Definition: vehiclemodel.h:56
VehicleModel(bool external_ego_measurement_models, adore::env::traffic::Participant::TTrackingID simulationID, adore::env::traffic::Participant::TV2XStationID v2xStationID)
Construct a new Vehicle Model object.
Definition: vehiclemodel.h:83
adore::env::traffic::Participant::TTrackingID simulationID_
Definition: vehiclemodel.h:70
void setAutomaticControl(bool value)
switches between manual and automatic control input
Definition: vehiclemodel.h:119
double last_time_checkpoint_clearance_
Definition: vehiclemodel.h:48
static adore::fun::AFactory * get()
Definition: afactory.h:170
Definition: motioncommand.h:26
void setAcceleration(double acceleration)
Definition: motioncommand.h:51
double getSteeringAngle() const
Definition: motioncommand.h:37
double getAcceleration() const
Definition: motioncommand.h:47
void setSteeringAngle(double steeringAngle)
Definition: motioncommand.h:41
Definition: vlb_openloop.h:32
Definition: vehicleextendedstate.h:26
void setGearState(GearState gearState)
Definition: vehicleextendedstate.h:54
void setCheckpointClearance(bool checkpointClearance)
Definition: vehicleextendedstate.h:106
void setAutomaticControlAccelerationActive(bool automaticControlAccelerationActive)
Definition: vehicleextendedstate.h:86
@ Drive
Definition: vehicleextendedstate.h:30
void setIndicatorRightOn(bool indicatorRightOn)
Definition: vehicleextendedstate.h:70
void setAutomaticControlAccelerationOn(bool automaticControlAccelerationOn)
Definition: vehicleextendedstate.h:78
void setIndicatorLeftOn(bool indicatorLeftOn)
Definition: vehicleextendedstate.h:62
void setAutomaticControlSteeringOn(bool automaticControlSteeringOn)
Definition: vehicleextendedstate.h:94
virtual bool hasNext() const =0
virtual void getLatest(T &value)=0
virtual void getData(T &value)=0
virtual bool hasData() const =0
virtual bool hasUpdate() const =0
virtual void write(const T &value)=0
virtual adoreMatrix< T > solve(AOdeModel< T > *model, const adoreMatrix< double, 1, 0 > &time, const adoreMatrix< double, 0, 1 > &x0) override
Definition: oderk4.h:37
virtual APVehicle * getVehicle() const =0
abstract class for vehicle configuration related paremeters
Definition: ap_vehicle.h:29
virtual double get_b() const =0
rear axle to cog
virtual double get_bodyWidth() const =0
virtual double get_steeringRatio() const =0
virtual double get_d() const =0
rear border to rear axle
virtual double get_a() const =0
cog to front axle
virtual double get_c() const =0
front axle to front border
static adore::params::AFactory * get()
Definition: afactory.h:103
virtual TVehicleMotionStateWriter * getVehicleMotionStateWriter()=0
write updates on the true vehicle motion state
virtual TVehicleMotionStateWriter * getOdometryEstimatedVehicleStateWriter()=0
write updates on the odometry estimated vehicle motion state
virtual TVehicleMotionStateWriter * getLocalizationEstimatedVehicleStateWriter()=0
write updates on the localization estimated vehicle motion state
virtual TMotionCommandReader * getMotionCommandReader()=0
read a motion command
virtual TVehiclePoseResetFeed * getVehiclePoseResetFeed()=0
read simulation commands for vehicle position and orientation resetting
virtual TVehicleTwistResetFeed * getVehicleTwistResetFeed()=0
read simulation commands for vehicle speed resetting
virtual TVehicleExtendedStateWriter * getVehicleExtendedStateWriter()=0
write updates on the vehicle extended state (buttons, etc.)
virtual TSimulationTimeReader * getSimulationTimeReader()=0
read the simulation time
virtual TParticipantWriter * getParticipantWriter()=0
send ego state to simulation feed
static adore::sim::AFactory * get()
Definition: afactory.h:145
adoreMatrix< T, 1, 0 > sequence(T x0, T dx, T xend)
Definition: adoremath.h:51
interval< T > cos(interval< T > x)
Definition: intervalarithmetic.h:225
T min(T a, T b, T c, T d)
Definition: adoremath.h:663
interval< T > sin(interval< T > x)
Definition: intervalarithmetic.h:204
Definition: areaofeffectconverter.h:20
This struct holds the motion state of the vehicle in 9d.
Definition: vehiclemotionstate9d.h:39
void setZ(double value)
Set the z-coordinate.
Definition: vehiclemotionstate9d.h:127
void setY(double value)
Set the y-coordinate.
Definition: vehiclemotionstate9d.h:121
double getX() const
Get the x-coordinate.
Definition: vehiclemotionstate9d.h:54
double getvx() const
Get the longitudinal velocity.
Definition: vehiclemotionstate9d.h:78
void setAx(double value)
Set the longitudinal acceleration.
Definition: vehiclemotionstate9d.h:157
double getOmega() const
Get the yaw rate.
Definition: vehiclemotionstate9d.h:90
void setvx(double value)
set the longitudinal velocity
Definition: vehiclemotionstate9d.h:139
double getY() const
Get the y-coordinate.
Definition: vehiclemotionstate9d.h:60
double getPSI() const
Get the heading.
Definition: vehiclemotionstate9d.h:72
double getAx() const
Get the longitudinal acceleration.
Definition: vehiclemotionstate9d.h:96
void setOmega(double value)
Set the yaw rate.
Definition: vehiclemotionstate9d.h:151
double getvy() const
Get the lateral velocity.
Definition: vehiclemotionstate9d.h:84
void setX(double value)
Set the x-coordinate.
Definition: vehiclemotionstate9d.h:115
double getZ() const
Get the z-coordinate.
Definition: vehiclemotionstate9d.h:66
void setPSI(double value)
set the heading
Definition: vehiclemotionstate9d.h:133
void setvy(double value)
set the lateral velocity
Definition: vehiclemotionstate9d.h:145
void setDelta(double value)
Set the steering angle.
Definition: vehiclemotionstate9d.h:163
void setTime(double value)
Set the time.
Definition: vehiclemotionstate9d.h:109
Struct for representing a participant in traffic.
Definition: participant.h:30
double acceleration_x_
Definition: participant.h:106
double width_
Definition: participant.h:101
double vy_
Definition: participant.h:104
double yaw_
Definition: participant.h:99
double vx_
Definition: participant.h:103
adoreMatrix< double, 3, 1 > center_
Definition: participant.h:98
long long int TV2XStationID
Definition: participant.h:33
EClassification classification_
Definition: participant.h:95
TTrackingID trackingID_
Definition: participant.h:78
double classification_certainty_
Definition: participant.h:96
double height_
Definition: participant.h:102
int TTrackingID
Definition: participant.h:32
double existance_certainty_
Definition: participant.h:80
TV2XStationID v2xStationID_
Definition: participant.h:79
double length_
Definition: participant.h:100
double yawrate_
Definition: participant.h:105
double observation_time_
Definition: participant.h:81
Definition: indicatorcommand.h:25
bool getIndicatorLeftOn() const
Definition: indicatorcommand.h:35
bool getIndicatorRightOn() const
Definition: indicatorcommand.h:45
provides encapsulation of values needed to reset the vehicle pose in a simulation
Definition: resetvehiclepose.h:26
double getX() const
Definition: resetvehiclepose.h:35
double getY() const
Definition: resetvehiclepose.h:43
double getPSI() const
Definition: resetvehiclepose.h:51
provides encapsulation of values needed to reset the vehicle twist (vx,vy and omega) in a simulation
Definition: resetvehicletwist.h:26
double getVy() const
Definition: resetvehicletwist.h:41
double getVx() const
Definition: resetvehicletwist.h:32
double getOmega() const
Definition: resetvehicletwist.h:50