Mujoco KDL Wrapper  0.1.0
MuJoCo + KDL bridge for robot kinematics and dynamics
Loading...
Searching...
No Matches
mj_kdl_wrapper.hpp File Reference
#include <mujoco/mujoco.h>
#include <GLFW/glfw3.h>
#include <kdl/chain.hpp>
#include <kdl/frames.hpp>
#include <kdl/jntarray.hpp>
#include <functional>
#include <string>
#include <vector>
#include <chrono>

Go to the source code of this file.

Classes

struct  mj_kdl::AttachmentSpec
 
struct  mj_kdl::RobotSpec
 
struct  mj_kdl::SceneObject
 
struct  mj_kdl::CameraSpec
 
struct  mj_kdl::SceneSpec
 
struct  mj_kdl::ToolFrameSpec
 
struct  mj_kdl::Robot
 
struct  mj_kdl::Viewer
 
struct  mj_kdl::VideoRecorder
 
struct  mj_kdl::ResetOptions
 
struct  mj_kdl::ResetInfo
 
struct  mj_kdl::ResetContext
 
struct  mj_kdl::Env
 

Namespaces

namespace  mj_kdl
 

Typedefs

using mj_kdl::ResetHook = std::function< void(ResetContext *)>
 

Enumerations

enum class  mj_kdl::LogLevel { mj_kdl::LogLevel::NONE = 0 , mj_kdl::LogLevel::INFO = 1 , mj_kdl::LogLevel::WARN = 2 , mj_kdl::LogLevel::ERROR = 3 }
 
enum class  mj_kdl::Shape { mj_kdl::Shape::BOX , mj_kdl::Shape::SPHERE , mj_kdl::Shape::CYLINDER }
 
enum class  mj_kdl::CtrlMode { mj_kdl::CtrlMode::POSITION , mj_kdl::CtrlMode::TORQUE }
 
enum class  mj_kdl::VideoResolution {
  mj_kdl::VideoResolution::R360p = 360 , mj_kdl::VideoResolution::R480p = 480 , mj_kdl::VideoResolution::R720p = 720 , mj_kdl::VideoResolution::R1080p = 1080 ,
  mj_kdl::VideoResolution::R2K = 1440 , mj_kdl::VideoResolution::R4K = 2160
}
 

Functions

void mj_kdl::set_log_level (LogLevel level)
 
LogLevel mj_kdl::get_log_level ()
 
bool mj_kdl::save_model_xml (const mjModel *model, const char *path)
 
bool mj_kdl::init_robot_from_mjcf (Robot *r, mjModel *model, mjData *data, const char *base_body, const char *tip_body, const char *prefix="", const ToolFrameSpec *tool=nullptr)
 
bool mj_kdl::attach_to_spec (mjSpec *robot_spec, const AttachmentSpec *a)
 
bool mj_kdl::build_scene (mjModel **out_model, mjData **out_data, const SceneSpec *spec)
 
void mj_kdl::destroy_scene (mjModel *model, mjData *data)
 
bool mj_kdl::init_env (Env *env, const SceneSpec *spec)
 
void mj_kdl::env_add_robot (Env *env, Robot *robot)
 
ResetInfo mj_kdl::reset (Env *env, const ResetOptions *options=nullptr)
 
bool mj_kdl::init_window (Viewer *v, Robot *r, const char *title="MuJoCo", int width=1280, int height=720)
 
bool mj_kdl::init_window_sim (Viewer *v, Robot *r, const char *title="MuJoCo")
 
void mj_kdl::cleanup (Robot *r)
 
void mj_kdl::cleanup (Env *env)
 
void mj_kdl::cleanup (Viewer *v)
 
bool mj_kdl::init_video_recorder (VideoRecorder *vr, mjModel *model, const char *out_path, int width=1280, int height=720, int fps=60)
 
bool mj_kdl::init_video_recorder (VideoRecorder *vr, mjModel *model, const char *out_path, VideoResolution resolution, int fps=60)
 
bool mj_kdl::record_frame (VideoRecorder *vr, mjModel *model, mjData *data)
 
void mj_kdl::cleanup (VideoRecorder *vr)
 
bool mj_kdl::step (Robot *s)
 
bool mj_kdl::step_n (Robot *s, int n)
 
bool mj_kdl::step (Viewer *v, mjModel *m, mjData *d)
 
bool mj_kdl::is_running (const Viewer *v)
 
bool mj_kdl::render (Viewer *v, const Robot *r)
 
bool mj_kdl::render (Viewer *v, mjModel *m, mjData *d)
 
void mj_kdl::update (Robot *r)
 
void mj_kdl::set_joint_pos (Robot *r, const KDL::JntArray &q, bool call_forward=true)
 
void mj_kdl::set_body_pose (mjModel *model, mjData *data, const char *body_name, const double pos[3], const double *quat=nullptr)
 
bool mj_kdl::scene_add_object (mjModel **model, mjData **data, SceneSpec *spec, const SceneObject &obj)
 
bool mj_kdl::scene_add_object (Env *env, const SceneObject &obj)
 
bool mj_kdl::scene_remove_object (mjModel **model, mjData **data, SceneSpec *spec, const std::string &name)
 
bool mj_kdl::scene_remove_object (Env *env, const std::string &name)
 
std::string mj_kdl::scene_object_site_name (const SceneObject &obj, const char *site_name)
 
bool mj_kdl::get_site_frame (const mjModel *model, mjData *data, const char *site_name, KDL::Frame *out)
 
bool mj_kdl::get_body_frame (const mjModel *model, mjData *data, const char *body_name, KDL::Frame *out)
 
std::vector< std::string > mj_kdl::get_camera_names (const mjModel *model)
 
bool mj_kdl::use_camera (Viewer *v, const mjModel *model, const char *name)
 
bool mj_kdl::use_camera (VideoRecorder *vr, const mjModel *model, const char *name)
 
void mj_kdl::add_skybox_to_spec (mjSpec *spec)
 
void mj_kdl::add_floor_to_spec (mjSpec *spec)
 
void mj_kdl::add_objects_to_spec (mjSpec *spec, const std::vector< SceneObject > &objects)
 
void mj_kdl::configure_spec (mjSpec *spec, const SceneSpec *sc)
 
bool mj_kdl::compile_and_make_data (mjSpec *spec, mjModel **out_model, mjData **out_data)
 
void mj_kdl::ensure_plugins_loaded ()
 

Variables

LogLevel mj_kdl::g_log_level = LogLevel::ERROR