hpp-core
9.0.2
Implement basic classes for canonical path planning for kinematic chains.
Toggle main menu visibility
Loading...
Searching...
No Matches
joint-bound-validation.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_JOINT_BOUND_VALIDATION_HH
31
#define HPP_CORE_JOINT_BOUND_VALIDATION_HH
32
33
#include <
hpp/core/config-validation.hh
>
34
#include <
hpp/pinocchio/joint.hh
>
35
36
namespace
hpp
{
37
namespace
core
{
40
42
class
HPP_CORE_DLLAPI
JointBoundValidationReport
:
public
ValidationReport
{
43
public
:
44
JointBoundValidationReport
(
const
JointConstPtr_t
& joint,
size_type
rank,
45
value_type
lowerBound,
value_type
upperBound,
46
value_type
value)
47
:
ValidationReport
(),
48
joint_
(joint),
49
rank_
(rank),
50
lowerBound_
(lowerBound),
51
upperBound_
(upperBound),
52
value_
(value) {}
53
54
virtual
std::ostream&
print
(std::ostream& os)
const
{
55
if
(
joint_
) {
56
os <<
"Joint "
<<
joint_
->name() <<
", rank: "
<<
rank_
57
<<
", value out of range: "
<<
value_
<<
" not in ["
<<
lowerBound_
58
<<
", "
<<
upperBound_
<<
"]"
;
59
}
else
{
60
os <<
"Extra config space at rank: "
<<
rank_
61
<<
", value out of range: "
<<
value_
<<
" not in ["
<<
lowerBound_
62
<<
", "
<<
upperBound_
<<
"]"
;
63
}
64
return
os;
65
}
66
68
JointConstPtr_t
joint_
;
70
size_type
rank_
;
72
value_type
lowerBound_
;
74
value_type
upperBound_
;
76
value_type
value_
;
77
};
78
81
class
HPP_CORE_DLLAPI
JointBoundValidation
:
public
ConfigValidation
{
82
public
:
83
static
JointBoundValidationPtr_t
create
(
const
DevicePtr_t
& robot);
84
92
bool
validate
(
const
Configuration_t
& config,
93
ValidationReportPtr_t
& validationReport);
94
95
protected
:
96
JointBoundValidation
(
const
DevicePtr_t
& robot);
97
98
private
:
99
DevicePtr_t
robot_;
100
};
// class ConfigValidation
101
102
}
// namespace core
103
}
// namespace hpp
104
105
#endif
// HPP_CORE_JOINT_BOUND_VALIDATION_HH
hpp::core::ConfigValidation::ConfigValidation
ConfigValidation()=default
hpp::core::JointBoundValidationReport::joint_
JointConstPtr_t joint_
Joint the configuration value is out of bounds.
Definition
joint-bound-validation.hh:68
hpp::core::JointBoundValidationReport::JointBoundValidationReport
JointBoundValidationReport(const JointConstPtr_t &joint, size_type rank, value_type lowerBound, value_type upperBound, value_type value)
Definition
joint-bound-validation.hh:44
hpp::core::JointBoundValidationReport::rank_
size_type rank_
degree of freedom in the joint (usually 0)
Definition
joint-bound-validation.hh:70
hpp::core::JointBoundValidationReport::lowerBound_
value_type lowerBound_
lower bound
Definition
joint-bound-validation.hh:72
hpp::core::JointBoundValidationReport::print
virtual std::ostream & print(std::ostream &os) const
Print report in a stream.
Definition
joint-bound-validation.hh:54
hpp::core::JointBoundValidationReport::upperBound_
value_type upperBound_
upper bound
Definition
joint-bound-validation.hh:74
hpp::core::JointBoundValidationReport::value_
value_type value_
configuration value
Definition
joint-bound-validation.hh:76
hpp::core::JointBoundValidation::JointBoundValidation
JointBoundValidation(const DevicePtr_t &robot)
hpp::core::JointBoundValidation::validate
bool validate(const Configuration_t &config, ValidationReportPtr_t &validationReport)
hpp::core::JointBoundValidation::create
static JointBoundValidationPtr_t create(const DevicePtr_t &robot)
hpp::core::ValidationReport
Definition
validation-report.hh:47
config-validation.hh
HPP_CORE_DLLAPI
#define HPP_CORE_DLLAPI
Definition
config.hh:88
joint.hh
hpp
hpp::core
Definition
bi-rrt-planner.hh:36
hpp::core::value_type
pinocchio::value_type value_type
Definition
fwd.hh:174
hpp::core::JointBoundValidationPtr_t
shared_ptr< JointBoundValidation > JointBoundValidationPtr_t
Definition
fwd.hh:153
hpp::core::JointConstPtr_t
pinocchio::JointConstPtr_t JointConstPtr_t
Definition
fwd.hh:150
hpp::core::size_type
pinocchio::size_type size_type
Definition
fwd.hh:173
hpp::core::ValidationReportPtr_t
shared_ptr< ValidationReport > ValidationReportPtr_t
Definition
fwd.hh:225
hpp::core::Configuration_t
pinocchio::Configuration_t Configuration_t
Definition
fwd.hh:107
hpp::core::DevicePtr_t
pinocchio::DevicePtr_t DevicePtr_t
Definition
fwd.hh:134
include
hpp
core
joint-bound-validation.hh
Generated by
1.17.0