IsaacLab的关键函数位置
1.首先机器人的观测空间的设置在每个机器人文件夹下面的env_cfg.py文件里面,
在下面这个函数里面:设置观测空间:
改成了观察球形机器人的13个变量
在这里写入我们自己写的函数的调用,具体的奖励函数细节写在了
里面的rotunbot_mdp_custom.py,其中还需要把py文件注册在init.py里面
这个是公共基类的奖励函数,真正调用的奖励函数在
这里是运行动作的地方
这是step函数的位置
这是动作空间的地方
在step函数里面赵不出来了,一个step执行4个微步长,每个微步执行0.005秒
timeout的判断在这里
刚才发现episode_buff的值和轮训的回合数目对不上,发现是learn函数调用的时候i最后参数设置成了true,导致buff初始化有一些值在里面
关于机器人上面箭头,两个可视化marker代表目标速度和当前速度,具体可见代码:
step里面控制关节部分:具体的step频率以及每一个step里面给几次80N的力量,都看这里
这个是每个episode之后进行重置,scence.reset是重置到初始位置,后面那个apply是加随机化
具体的reset机器人位置的是下面:
这个随机化的范围是在rough_env_cfg中设置的
这里面改dt的值
这里面有改变mass的函数
在这个函数里面调用改变mass
urdf->usd,的命令:./isaaclab.sh -p scripts/tools/convert_urdf.py /home/lzh/SphericalRobot_LeggedGym00/resources/robots/Rotunbot/urdf/Rotunbot.urdf /home/lzh/IsaacLab/Rotunbot.usd --headless
发现这样子的Z转动惯量和原始的转动惯量如下图;有后面很小的小数误差,但是这样跑出来的曲线都是不一样的,所以要严谨设置