hpp-core
9.0.2
Implement basic classes for canonical path planning for kinematic chains.
Toggle main menu visibility
Loading...
Searching...
No Matches
uniform-tpl.hxx
Go to the documentation of this file.
1
// Copyright (c) 2023 Eureka Robotics
2
// Authors: Joseph Mirabel
3
4
#ifndef HPP_CORE_CONFIGURATION_SHOOTER_UNIFORM_TPL_HXX
5
#define HPP_CORE_CONFIGURATION_SHOOTER_UNIFORM_TPL_HXX
6
7
#include <
hpp/core/configuration-shooter/uniform-tpl.hh
>
8
#include <
hpp/pinocchio/liegroup-space.hh
>
9
#include <pinocchio/multibody/model.hpp>
10
11
namespace
hpp
{
12
namespace
core
{
13
namespace
configurationShooter
{
14
15
template
<
class
generator_t>
16
void
UniformTpl<generator_t>::impl_shoot
(
Configuration_t
& config)
const
{
17
typedef
std::uniform_real_distribution<value_type> distribution_t;
18
19
if
(!robot_->configSpace()->isVectorSpace()) {
20
throw
std::invalid_argument(
21
"The device config space must be a vector space"
22
" to use UniformTpl"
);
23
}
24
25
config.resize(robot_->configSize());
26
auto
const
& model = robot_->model();
27
28
for
(
size_type
i = 0; i < model.nq; ++i) {
29
distribution_t distrib(model.lowerPositionLimit[i],
30
model.upperPositionLimit[i]);
31
config[i] = distrib(generator_);
32
}
33
auto
const
& ecs = robot_->extraConfigSpace();
34
for
(
size_type
i = 0; i < ecs.dimension(); ++i) {
35
distribution_t distrib(ecs.lower(i), ecs.upper(i));
36
config[model.nq + i] = distrib(generator_);
37
}
38
}
39
40
}
// namespace configurationShooter
41
}
// namespace core
42
}
// namespace hpp
43
44
#endif
// HPP_CORE_CONFIGURATION_SHOOTER_UNIFORM_TPL_HXX
hpp::core::configurationShooter::UniformTpl::impl_shoot
virtual void impl_shoot(Configuration_t &q) const
Definition
uniform-tpl.hxx:16
liegroup-space.hh
hpp
hpp::core::configurationShooter
Definition
gaussian.hh:39
hpp::core
Definition
bi-rrt-planner.hh:36
hpp::core::size_type
pinocchio::size_type size_type
Definition
fwd.hh:173
hpp::core::Configuration_t
pinocchio::Configuration_t Configuration_t
Definition
fwd.hh:107
uniform-tpl.hh
include
hpp
core
configuration-shooter
uniform-tpl.hxx
Generated by
1.17.0