从零开始搭建四足机器人mini cheetah仿真环境(一)框架搭建

本篇将会创建几个基本的仿真环境,包含了一些必要的功能函数,实现动态调整离地高度。能够与决策模型进行交互,为后续强化学习训练做准备

一、框架

在这里插入图片描述
按照强化学习的基本思路,我们需要构建仿真环境与代理进行交互的部分。每一个循环需要执行以下步骤:

  • 初始化环境:包括导入相关模型,设置好动力学参数之类的
  • 执行动作:根据agent产生的动作来使模型运动
  • 返回状态和奖励:执行完动作之后,重新获取当前状态并计算奖励值,返回给agent

因此,我们的环境框架需要包含一下功能:

class Cheetah(object):
    def __init__(self):
    	'''
    	初始化参数
		'''
        pass
        
    def reset(self):
    	'''
    	环境复位
    	'''
		pass
		
    def step(self):
    	'''
    	执行动作
    	'''
		pass
	
	def get_observe(self):
		'''
		获取当前状态
		'''
		pass
	
	def reward(self):
		'''
		计算奖励值
		'''
		pass

这里我们先不考虑强化学习部分,因此可以暂时忽略奖励函数部分

1、__init__

这里我们需要初始化以下内容:

  • pybullet客户端:pybullet的使用标准
  • motor_id:用于设置电机角度,需要区分各个关节类型,这里为了方便直接给出了对应的编号。
  • 设置重力
  • 设置参数addUserDebugParameter这个api提供用户自定义的参数,我这里设置成 髋关节角度
  • 设置视角resetDebugVisualizerCamera这个api可以设置相机姿态,在我的pybulet实践文章中已经介绍过其使用

当我们的类初始化的时候需要调用一次reset()函数来设置mini cheetah的姿态

    def __init__(self):
        # self.pybullet_client = self._pybullet_client = bc.BulletClient(connection_mode=pybullet.GUI)
        self.pybullet_client = pybullet
        self.<
  • 31
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值