Mujoco KDL Wrapper  0.5.1
MuJoCo + KDL bridge for robot kinematics and dynamics
Loading...
Searching...
No Matches
common.hpp File Reference
#include "mj_kdl_wrapper/mj_kdl_wrapper.hpp"
#include <kdl/chaindynparam.hpp>
#include <kdl/chainfksolverpos_recursive.hpp>
#include <kdl/chainiksolvervel_wdls.hpp>
#include <algorithm>
#include <cmath>
#include <functional>
#include <iostream>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  mj_kdl_examples::Args
struct  mj_kdl_examples::PickPlaceWaypoints
struct  mj_kdl_examples::Phase
struct  mj_kdl_examples::PhaseArm

Namespaces

namespace  mj_kdl_examples

Functions

Args mj_kdl_examples::parse_args (int argc, char **argv, const std::string &default_record_path="")
int mj_kdl_examples::verdict (bool ok, const std::string &goal)
double mj_kdl_examples::clamp01 (double v)
double mj_kdl_examples::clamp_abs (double v, double limit)
KDL::JntArray mj_kdl_examples::home_q (unsigned n)
void mj_kdl_examples::lerp_q (const KDL::JntArray &a, const KDL::JntArray &b, double t, KDL::JntArray &out)
void mj_kdl_examples::read_q (const mj_kdl::Robot &robot, KDL::JntArray &q)
void mj_kdl_examples::read_q (const mj_kdl::Robot &robot, KDL::JntArray &q, KDL::JntArray &qd)
double mj_kdl_examples::max_abs_joint_err (const mj_kdl::Robot &robot, const KDL::JntArray &q)
KDL::Frame mj_kdl_examples::tcp_frame (KDL::ChainFkSolverPos_recursive &fk, const mj_kdl::Robot &robot)
void mj_kdl_examples::pd_gravity (mj_kdl::Robot &robot, KDL::ChainDynParam &dyn, const KDL::JntArray &q_des, const double *kp=nullptr, const double *kd=nullptr)
void mj_kdl_examples::prime_gravity (mj_kdl::Robot &robot, KDL::ChainDynParam &dyn, const KDL::JntArray &q)
mj_kdl::SceneSpec mj_kdl_examples::scene_spec ()
mj_kdl::AttachmentSpec mj_kdl_examples::gripper_attachment (const std::string &path, const std::string &site="pinch_site")
mj_kdl::ToolFrameSpec mj_kdl_examples::gripper_tool (const std::string &prefix="")
mj_kdl::SceneObject mj_kdl_examples::table_object (const std::string &path, double surface_z)
mj_kdl::SceneObject mj_kdl_examples::cube_object (double x, double y, double surface_z)
void mj_kdl_examples::place_cube (mj_kdl::Env &env)
bool mj_kdl_examples::solve_near_seed (KDL::ChainIkSolverVel_wdls &ik_vel, KDL::ChainFkSolverPos_recursive &fk, const mj_kdl::Robot &robot, const KDL::JntArray &seed, const KDL::Frame &target, KDL::JntArray &out)
bool mj_kdl_examples::solve_pick_place (const mj_kdl::Robot &robot, PickPlaceWaypoints &w)
std::vector< Phase > mj_kdl_examples::pick_place_phases (const PickPlaceWaypoints &w)
bool mj_kdl_examples::run_phases (mj_kdl::Env &env, const std::vector< PhaseArm > &arms, const std::vector< Phase > &phases, bool &restart, const std::function< void(std::size_t, const KDL::JntArray &)> &control, const std::function< void(const Phase &, double t_rel)> &after_step={})

Variables

constexpr double mj_kdl_examples::kGripperClosed = 0.82
constexpr double mj_kdl_examples::kHomePose [7] = { 0.0, 0.2618, 3.1416, -2.2689, 0.0, 0.9599, 1.5708 }
constexpr double mj_kdl_examples::kKp [7] = { 100, 200, 100, 200, 100, 200, 100 }
constexpr double mj_kdl_examples::kKd [7] = { 10, 20, 10, 20, 10, 20, 10 }
constexpr double mj_kdl_examples::kTableZ = 0.70
constexpr double mj_kdl_examples::kCubeHS = 0.02
constexpr double mj_kdl_examples::kPickXY [2] = { 0.40, 0.00 }
constexpr double mj_kdl_examples::kPlaceXY [2] = { 0.40, 0.24 }