#1 环境
1.1 win11: qt.5.14.2+mujoco
1.2 mujoco版本 :mujoco210
2 qt工程:
我创建的是qt consol application。
工程主要的工作是引入mujoco和glfw3的库
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += \
main.cpp
INCLUDEPATH += H:\mujoco_dev\include
INCLUDEPATH += H:/mujoco_dev/glfw3/include/GLFW
DEPENDPATH +=H:\mujoco_dev\glfw3\include
#.lib
LIBS += -LH:\mujoco_dev\lib -lmujoco
LIBS += -LH:\mujoco_dev\lib -lmujoco_nogl
LIBS += -LH:/mujoco_dev/glfw3/lib-vc2015 -lglfw3
LIBS +=-lgdi32 -lopengl32 -lkernel32 -luser32 -lshell32
3 用来测试的mojoco模型以及控制代码
完整的模型代码
<mujoco>
<option>
<flag sensornoise="enable" />
</option>
<worldbody>
<light diffuse=".5 .5 .5" pos="0 0 3" dir="0 0 -1"/>
<geom type="plane" size="1 1 0.1" rgba=".9 0 0 1"/>
<body pos="0 0 2" euler="0 0 0">
<joint name="pin" type="hinge" axis = "0 -1 0" pos="0 0 0.5"/>
<geom type="cylinder" size="0.05 0.5" rgba="0 .9 0 1" mass="1"/>
</body>
</worldbody>
<actuator>
<!-- <motor joint="pin" name="torque" gear="1" ctrllimited="true" ctrlrange="-100 100" /> -->
<position name="position_servo" joint="pin" kp="100" />
<velocity name="velocity_servo" joint="pin" kv="0" />
</actuator>
<sensor>
<jointpos joint="pin" noise="0.2"/>
<jointvel joint="pin" noise="1" />
</sensor>
</mujoco>
#include <QCoreApplication>
#include<stdbool.h> //for bool
//#include<unistd.h> //for usleep
//#include <math.h>
#include "mujoco.h"
#include "glfw3.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
char filename[] = "H:/mujoco_learn/Code/control_pendulum/pendulum.xml";
// MuJoCo data structures
mjModel *m = NULL; // MuJoCo m