4 #ifndef HPP_CORE_CONFIGURATION_SHOOTER_UNIFORM_TPL_HXX
5 #define HPP_CORE_CONFIGURATION_SHOOTER_UNIFORM_TPL_HXX
8 #include <hpp/pinocchio/liegroup-space.hh>
9 #include <pinocchio/multibody/model.hpp>
13 namespace configurationShooter {
15 template <
class generator_t>
17 typedef std::uniform_real_distribution<value_type> distribution_t;
19 if (!robot_->configSpace()->isVectorSpace()) {
20 throw std::invalid_argument(
21 "The device config space must be a vector space"
22 " to use UniformTpl");
25 config.resize(robot_->configSize());
26 auto const& model = robot_->model();
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_);
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_);
pinocchio::size_type size_type
Definition: fwd.hh:173
pinocchio::Configuration_t Configuration_t
Definition: fwd.hh:107
Definition: bi-rrt-planner.hh:35