pub struct CuJointPlannerParams<P, const N: usize, const M: usize = N> {
pub chain: Option<CuChainSpec<N>>,
pub collision_model: Option<CuCollisionModelSpec<M>>,
pub params: P,
pub base_budget: Option<u32>,
pub refine_budget: Option<u32>,
}Expand description
Node config of CuJointPlannerTask (and every CuJoint<Planner>Task
alias): robot models, the planner’s own parameters, and work budgets.
P is the planner’s CuJointPlanner::Params.
// CuJointRrtStarTask<6> (repose-joint-rrt-star)
config: {
"chain": "igus_rebel", // or {"joints": [...]}
"collision_model": "igus_rebel", // or {"shapes": [...], "safety_margin": 0.005}
"params": {"step_size": 0.3, "max_nodes": 200}, // planner params; omit = defaults
"base_budget": 64, // optional; default CuJointPlanner::DEFAULT_BUDGETS
"refine_budget": 32, // optional
}Fields§
§chain: Option<CuChainSpec<N>>Required robot chain: a preset name ("igus_rebel") or an inline chain.
collision_model: Option<CuCollisionModelSpec<M>>Required collision model: a preset name ("igus_rebel") or an inline model.
params: PThe planner’s parameters (validated by CuJointPlanner::new).
base_budget: Option<u32>Work units of base(); None uses the planner’s default.
refine_budget: Option<u32>Work units of each refine(); None uses the planner’s default.
Implementations§
Source§impl<P, const N: usize, const M: usize> CuJointPlannerParams<P, N, M>
impl<P, const N: usize, const M: usize> CuJointPlannerParams<P, N, M>
Sourcepub fn validate(&self) -> CuResult<()>
pub fn validate(&self) -> CuResult<()>
Checks that the chain and collision model are present and valid and
that explicit budgets are positive. Planner parameters are validated
by CuJointPlanner::new.
Trait Implementations§
Source§impl<P: Clone, const N: usize, const M: usize> Clone for CuJointPlannerParams<P, N, M>
impl<P: Clone, const N: usize, const M: usize> Clone for CuJointPlannerParams<P, N, M>
Source§fn clone(&self) -> CuJointPlannerParams<P, N, M>
fn clone(&self) -> CuJointPlannerParams<P, N, M>
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<'de, P, const N: usize, const M: usize> Deserialize<'de> for CuJointPlannerParams<P, N, M>where
P: Deserialize<'de> + Default,
impl<'de, P, const N: usize, const M: usize> Deserialize<'de> for CuJointPlannerParams<P, N, M>where
P: Deserialize<'de> + Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl<P, const N: usize, const M: usize> Freeze for CuJointPlannerParams<P, N, M>where
P: Freeze,
impl<P, const N: usize, const M: usize> RefUnwindSafe for CuJointPlannerParams<P, N, M>where
P: RefUnwindSafe,
impl<P, const N: usize, const M: usize> Send for CuJointPlannerParams<P, N, M>where
P: Send,
impl<P, const N: usize, const M: usize> Sync for CuJointPlannerParams<P, N, M>where
P: Sync,
impl<P, const N: usize, const M: usize> Unpin for CuJointPlannerParams<P, N, M>where
P: Unpin,
impl<P, const N: usize, const M: usize> UnsafeUnpin for CuJointPlannerParams<P, N, M>where
P: UnsafeUnpin,
impl<P, const N: usize, const M: usize> UnwindSafe for CuJointPlannerParams<P, N, M>where
P: UnwindSafe,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> GetTypeRegistration for T
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