.. _program_listing_file__tmp_ws_src_pick_ik_include_pick_ik_goal.hpp: Program Listing for File goal.hpp ================================= |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/pick_ik/include/pick_ik/goal.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include #include #include #include #include #include #include #include #include namespace pick_ik { // Frame equality tests using FrameTestFn = std::function; auto make_frame_tests(std::vector goal_frames, std::optional position_threshold = std::nullopt, std::optional orientation_threshold = std::nullopt) -> std::vector; // Pose cost functions using PoseCostFn = std::function const& tip_frames)>; auto make_pose_cost_fn(Eigen::Isometry3d goal, size_t goal_link_index, double position_scale, double rotation_scale) -> PoseCostFn; auto make_pose_cost_functions(std::vector goal_frames, double position_scale, double rotation_scale) -> std::vector; // Goal Function type using CostFn = std::function const& active_positions)>; struct Goal { CostFn eval; double weight; }; auto make_center_joints_cost_fn(Robot robot) -> CostFn; auto make_avoid_joint_limits_cost_fn(Robot robot) -> CostFn; auto make_minimal_displacement_cost_fn(Robot robot, std::vector initial_guess) -> CostFn; auto make_ik_cost_fn(geometry_msgs::msg::Pose pose, kinematics::KinematicsBase::IKCostFn cost_fn, std::shared_ptr robot_model, moveit::core::JointModelGroup const* jmg, std::vector initial_guess) -> CostFn; // Create a solution test function from frame tests and goals using SolutionTestFn = std::function const& active_positions)>; auto make_is_solution_test_fn(std::vector frame_tests, std::vector goals, double cost_threshold, FkFn fk) -> SolutionTestFn; using CostFn = std::function const& active_positions)>; auto make_cost_fn(std::vector pose_cost_functions, std::vector goals, FkFn fk) -> CostFn; } // namespace pick_ik