hpp-core
9.0.2
Implement basic classes for canonical path planning for kinematic chains.
Toggle main menu visibility
Loading...
Searching...
No Matches
kinodynamic-distance.hh
Go to the documentation of this file.
1
//
2
// Copyright (c) 2014 CNRS
3
// Authors: Florent Lamiraux
4
//
5
6
// Redistribution and use in source and binary forms, with or without
7
// modification, are permitted provided that the following conditions are
8
// met:
9
//
10
// 1. Redistributions of source code must retain the above copyright
11
// notice, this list of conditions and the following disclaimer.
12
//
13
// 2. Redistributions in binary form must reproduce the above copyright
14
// notice, this list of conditions and the following disclaimer in the
15
// documentation and/or other materials provided with the distribution.
16
//
17
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21
// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
28
// DAMAGE.
29
30
#ifndef HPP_CORE_KINODYNAMIC_DISTANCE_HH
31
#define HPP_CORE_KINODYNAMIC_DISTANCE_HH
32
33
#include <
hpp/core/distance.hh
>
34
35
namespace
hpp
{
36
namespace
core
{
39
50
51
class
HPP_CORE_DLLAPI
KinodynamicDistance
:
public
Distance
{
52
public
:
53
static
KinodynamicDistancePtr_t
create
(
const
DevicePtr_t
&
robot
);
54
static
KinodynamicDistancePtr_t
createFromProblem
(
55
const
ProblemConstPtr_t
& problem);
56
57
static
KinodynamicDistancePtr_t
createCopy
(
58
const
KinodynamicDistancePtr_t
&
distance
);
59
virtual
DistancePtr_t
clone
()
const
;
60
62
const
DevicePtr_t
&
robot
()
const
{
return
robot_; }
63
64
protected
:
65
KinodynamicDistance
(
const
DevicePtr_t
&
robot
);
66
KinodynamicDistance
(
const
ProblemConstPtr_t
& problem);
67
KinodynamicDistance
(
const
KinodynamicDistance
&
distance
);
68
void
init
(KinodynamicDistanceWkPtr_t self);
70
virtual
value_type
impl_distance
(
ConfigurationIn_t
q1,
71
ConfigurationIn_t
q2)
const
;
72
73
double
computeMinTime
(
double
p1,
double
p2,
double
v1,
double
v2)
const
;
74
75
private
:
76
DevicePtr_t
robot_;
77
double
aMax_;
78
double
vMax_;
79
KinodynamicDistanceWkPtr_t weak_;
80
};
// class KinodynamicDistance
81
82
}
// namespace core
83
}
// namespace hpp
84
#endif
// HPP_CORE_WEIGHED_DISTANCE_HH
hpp::core::Distance::Distance
Distance()
Definition
distance.hh:68
hpp::core::KinodynamicDistance::createFromProblem
static KinodynamicDistancePtr_t createFromProblem(const ProblemConstPtr_t &problem)
hpp::core::KinodynamicDistance::create
static KinodynamicDistancePtr_t create(const DevicePtr_t &robot)
hpp::core::KinodynamicDistance::init
void init(KinodynamicDistanceWkPtr_t self)
hpp::core::KinodynamicDistance::createCopy
static KinodynamicDistancePtr_t createCopy(const KinodynamicDistancePtr_t &distance)
hpp::core::KinodynamicDistance::computeMinTime
double computeMinTime(double p1, double p2, double v1, double v2) const
hpp::core::KinodynamicDistance::KinodynamicDistance
KinodynamicDistance(const ProblemConstPtr_t &problem)
hpp::core::KinodynamicDistance::impl_distance
virtual value_type impl_distance(ConfigurationIn_t q1, ConfigurationIn_t q2) const
Derived class should implement this function.
hpp::core::KinodynamicDistance::robot
const DevicePtr_t & robot() const
Get robot.
Definition
kinodynamic-distance.hh:62
hpp::core::KinodynamicDistance::KinodynamicDistance
KinodynamicDistance(const DevicePtr_t &robot)
hpp::core::KinodynamicDistance::clone
virtual DistancePtr_t clone() const
hpp::core::KinodynamicDistance::KinodynamicDistance
KinodynamicDistance(const KinodynamicDistance &distance)
HPP_CORE_DLLAPI
#define HPP_CORE_DLLAPI
Definition
config.hh:88
distance.hh
hpp
hpp::core::distance
Definition
reeds-shepp.hh:38
hpp::core
Definition
bi-rrt-planner.hh:36
hpp::core::value_type
pinocchio::value_type value_type
Definition
fwd.hh:174
hpp::core::DistancePtr_t
shared_ptr< Distance > DistancePtr_t
Definition
fwd.hh:141
hpp::core::ConfigurationIn_t
pinocchio::ConfigurationIn_t ConfigurationIn_t
Definition
fwd.hh:108
hpp::core::ProblemConstPtr_t
shared_ptr< const Problem > ProblemConstPtr_t
Definition
fwd.hh:197
hpp::core::DevicePtr_t
pinocchio::DevicePtr_t DevicePtr_t
Definition
fwd.hh:134
hpp::core::KinodynamicDistancePtr_t
shared_ptr< KinodynamicDistance > KinodynamicDistancePtr_t
Definition
fwd.hh:227
include
hpp
core
kinodynamic-distance.hh
Generated by
1.17.0