|
| ConstantVelocity & | operator= (const ConstantVelocity &rhs) |
| | Default assignment operator. More...
|
| |
| void | predict (Eigen::Matrix< float32_t, 4U, 1U > &x, const std::chrono::nanoseconds &dt) const override |
| | Do motion based on current state, store result somewhere else. This is intended to be used with motion planning/collision avoidance i.e. to make multiple calls to predict with different time deltas for a rollout to get a concrete representation of predicted trajectories. This function does not mutate the core state of the motion model, and should only mutate some cached worker variables at most. More...
|
| |
| void | predict (const std::chrono::nanoseconds &dt) override |
| | Update current state with a given motion. Note that this should be called after compute_jacobian() as it will change the object's state. This is meant to be called before doing assignment and observation updating. This is the equivalent of temporal update for the state. This function mutates the core state of the motion model. More...
|
| |
| void | compute_jacobian (Eigen::Matrix< float32_t, 4U, 4U > &F, const std::chrono::nanoseconds &dt) override |
| | Compute the jacobian based on the current state and store the result somewhere else. More...
|
| |
| void | compute_jacobian_and_predict (Eigen::Matrix< float32_t, 4U, 4U > &F, const std::chrono::nanoseconds &dt) override |
| | This is called by Esrcf. This should be first a computation of the jacobian, and then a motion to update the state. This is a distinct function because depending on the motion model, there is some caching and optimization that can be done computing both the motion and jacobian together. More...
|
| |
| float32_t | operator[] (const index_t idx) const override |
| | Get elements of the model's state. More...
|
| |
| void | reset (const Eigen::Matrix< float32_t, 4U, 1U > &x) override |
| | Set the state. More...
|
| |
| const Eigen::Matrix< float32_t, 4U, 1U > & | get_state () const override |
| | const access to internal state More...
|
| |
| virtual void | predict (Eigen::Matrix< float32_t, NumStates, 1U > &x, const std::chrono::nanoseconds &dt) const=0 |
| | Do motion based on current state, store result somewhere else. This is intended to be used with motion planning/collision avoidance, i.e. to make multiple calls to predict with different time deltas for a rollout to get a concrete representation of predicted trajectories. This function does not mutate the core state of the motion model, and should only mutate some cached worker variables at most. More...
|
| |
| virtual void | compute_jacobian (Eigen::Matrix< float32_t, NumStates, NumStates > &F, const std::chrono::nanoseconds &dt)=0 |
| | Compute the jacobian based on the current state and store the result somewhere else. More...
|
| |
| virtual void | compute_jacobian_and_predict (Eigen::Matrix< float32_t, NumStates, NumStates > &F, const std::chrono::nanoseconds &dt)=0 |
| | This is called by Esrcf. This should be first a computation of the jacobian, and then a motion to update the state. This is a distinct function because depending on the motion model, there is some caching and optimization that can be done computing both the motion and jacobian together. More...
|
| |
| virtual void | reset (const Eigen::Matrix< float32_t, NumStates, 1U > &x)=0 |
| | Set the state. More...
|
| |
| virtual const Eigen::Matrix< float32_t, NumStates, 1U > & | get_state () const=0 |
| | const access to internal state More...
|
| |
| constexpr index_t | get_num_states () const noexcept |
| | get dimensionality of this model More...
|
| |
| virtual | ~MotionModel ()=default |
| | Destructor. More...
|
| |
This is a simple constant velocity motion model.