pub struct MppiTerminalValueGrid2D {
pub origin_x: f64,
pub origin_y: f64,
pub resolution: f64,
pub values: Vec<Vec<f64>>,
}Expand description
Grid-based terminal value estimate for MPPI rollouts.
Values are indexed as values[x][y] and queried with bilinear
interpolation. Out-of-bounds queries clamp to the nearest grid edge.
Fields§
§origin_x: f64§origin_y: f64§resolution: f64§values: Vec<Vec<f64>>Implementations§
Source§impl MppiTerminalValueGrid2D
impl MppiTerminalValueGrid2D
pub fn new( origin_x: f64, origin_y: f64, resolution: f64, values: Vec<Vec<f64>>, ) -> RoboticsResult<Self>
pub fn from_goal_distance( width: usize, height: usize, origin_x: f64, origin_y: f64, resolution: f64, goal: (f64, f64), ) -> RoboticsResult<Self>
pub fn value_at_state(&self, state: MppiState2D) -> f64
pub fn value_at(&self, x: f64, y: f64) -> f64
pub fn width(&self) -> usize
pub fn height(&self) -> usize
pub fn nearest_cell_indices(&self, x: f64, y: f64) -> (usize, usize)
pub fn value_at_cell(&self, x: usize, y: usize) -> RoboticsResult<f64>
pub fn update_cell_toward( &mut self, x: usize, y: usize, target: f64, learning_rate: f64, ) -> RoboticsResult<f64>
Trait Implementations§
Source§impl Clone for MppiTerminalValueGrid2D
impl Clone for MppiTerminalValueGrid2D
Source§fn clone(&self) -> MppiTerminalValueGrid2D
fn clone(&self) -> MppiTerminalValueGrid2D
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MppiTerminalValueGrid2D
impl Debug for MppiTerminalValueGrid2D
Source§impl PartialEq for MppiTerminalValueGrid2D
impl PartialEq for MppiTerminalValueGrid2D
Source§fn eq(&self, other: &MppiTerminalValueGrid2D) -> bool
fn eq(&self, other: &MppiTerminalValueGrid2D) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for MppiTerminalValueGrid2D
Auto Trait Implementations§
impl Freeze for MppiTerminalValueGrid2D
impl RefUnwindSafe for MppiTerminalValueGrid2D
impl Send for MppiTerminalValueGrid2D
impl Sync for MppiTerminalValueGrid2D
impl Unpin for MppiTerminalValueGrid2D
impl UnsafeUnpin for MppiTerminalValueGrid2D
impl UnwindSafe for MppiTerminalValueGrid2D
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.