$darkmode
Public Member Functions | |
| virtual void | set_acceleration (double a) |
| virtual boost::optional< double > | acceleration () |
| virtual bool | is_acceleration () const |
| virtual void | set_steering_angle (double a) |
| virtual boost::optional< double > | steering_angle () |
| virtual bool | is_steering_angle () const |
| utility::ActuationLevel | actuation_level () const |
| fable::Json | active_state () const override |
| Duration | process (const Sync &sync) override |
| void | reset () override |
| Component (const std::string &name, const std::string &description="") | |
| Component (std::string &&name, std::string &&description="") | |
Public Member Functions inherited from cloe::Component | |
| Component (const std::string &name, const std::string &description="") | |
| Component (std::string &&name, std::string &&description="") | |
| uint64_t | id () const |
| template<typename T > | |
| T * | as () |
| Duration | process (const Sync &sync) override |
| void | reset () override |
| void | abort () override |
Public Member Functions inherited from cloe::Model | |
| virtual | ~Model () noexcept=default |
| virtual Duration | resolution () const |
| virtual bool | is_connected () const |
| virtual bool | is_operational () const |
| virtual void | connect () |
| virtual void | disconnect () |
| virtual void | enroll (Registrar &) |
| virtual void | start (const Sync &) |
| virtual void | pause (const Sync &) |
| virtual void | resume (const Sync &) |
| virtual void | stop (const Sync &) |
| Entity (std::string name) | |
| Entity (std::string name, std::string desc) | |
Public Member Functions inherited from cloe::Entity | |
| Entity (std::string name) | |
| Entity (std::string name, std::string desc) | |
| const std::string & | name () const |
| void | set_name (std::string name) |
| const std::string & | description () const |
| void | set_description (std::string desc) |
Protected Attributes | |
| utility::ActuationLevel | level_ |
| boost::optional< double > | target_acceleration_ |
| boost::optional< double > | target_steering_angle_ |
Protected Attributes inherited from cloe::Model | |
| bool | connected_ {false} |
| bool | operational_ {false} |
Protected Attributes inherited from cloe::Entity | |
| std::string | name_ |
| std::string | desc_ |
Additional Inherited Members | |
Protected Member Functions inherited from cloe::Entity | |
| virtual Logger | logger () const |
|
inlineoverridevirtual |
Write the JSON representation of an Actuator into j.
Currently, the API is unstable, because we don't have access to any real data.
Implements cloe::Component.
|
inline |
Return a single enum summarizing the current actuation level of control.
Useful for tracking changes.
|
inlinevirtual |
Return true if set_acceleration was called for the current step.
|
inlinevirtual |
Return true if set_target_steering_angle was called for the current step.
Perform model processing given the simulation context.
In particular, the model may read and write information from and to data it has, in particular any vehicles.
is_operational() should return true.sync.time(). Implements cloe::Model.
Reimplemented in cloe_esmini::ESMiniEgoControl, and vtd::VtdLatLongActuator.
|
inlineoverridevirtual |
Reset the model state.
This is called when Cloe is asked to reset the whole simulation to time 0. This can be the case when the simulator or a controller asks us to recover from a temporary problem without repeating the whole simulation setup.
The default implementation will raise an error. So if your model is not able to re-initialize, the simulation will be aborted.
Reimplemented from cloe::Model.
Reimplemented in cloe_esmini::ESMiniEgoControl, and vtd::VtdLatLongActuator.
|
inlinevirtual |
Set the vehicle target acceleration in m/s^2. The time that the vehicle requires to reach this acceleration is undefined.
|
inlinevirtual |
Set the target steering angle of the wheels in rad. The time that the vehicle requires to reach this steering angle is undefined. In most cases, the front left wheel defines the angle, and the time to target steering angle is zero.