Program Listing for File robot.hpp
↰ Return to documentation for file (/tmp/ws/src/pick_ik/include/pick_ik/robot.hpp
)
#pragma once
#include <tl_expected/expected.hpp>
#include <Eigen/Geometry>
#include <moveit/robot_model/joint_model.h>
#include <moveit/robot_model/joint_model_group.h>
#include <moveit/robot_model/robot_model.h>
#include <string>
#include <vector>
namespace pick_ik {
struct Robot {
struct Variable {
double clip_min, clip_max;
double span;
double min;
double max;
double max_velocity_rcp;
double minimal_displacement_factor;
};
std::vector<Variable> variables;
static auto from(std::shared_ptr<moveit::core::RobotModel const> const& model,
moveit::core::JointModelGroup const* jmg,
std::vector<size_t> tip_link_indices) -> Robot;
auto get_random_valid_configuration() const -> std::vector<double>;
auto is_valid_configuration(std::vector<double> const& config) const -> bool;
};
auto get_link_indices(std::shared_ptr<moveit::core::RobotModel const> const& model,
std::vector<std::string> const& names)
-> tl::expected<std::vector<size_t>, std::string>;
auto get_active_variable_indices(std::shared_ptr<moveit::core::RobotModel const> const& robot_model,
moveit::core::JointModelGroup const* jmg,
std::vector<size_t> const& tip_link_indices)
-> std::vector<size_t>;
auto get_minimal_displacement_factors(std::vector<size_t> const& active_variable_indices,
Robot const& robot) -> std::vector<double>;
auto get_variables(moveit::core::RobotState const& robot_state) -> std::vector<double>;
auto transform_poses_to_frames(moveit::core::RobotState const& robot_state,
std::vector<geometry_msgs::msg::Pose> const& poses,
std::string const& base_frame_name)
-> std::vector<Eigen::Isometry3d>;
} // namespace pick_ik