返回列表 发布新帖

青龙机器人训练地形详解(一):如何创建一个地形

926 2
发表于 2024-9-2 15:28:20 | 查看全部 阅读模式
本帖最后由 十日无冬 于 2024-9-4 16:10 编辑

什么是地形
在人型机器人行走的强化学习中,"地形"指的是机器人在其环境中行走时所接触的物理表面或环境条件。地形的复杂性和多样性对机器人行走的能力和稳定性提出了挑战。在青龙的训练中,使用了楼梯地形,波浪地形,斜坡地形,垫脚石地形等。


为什么需要地形
在强化学习中,地形的多样性是训练模型的重要因素。通过在不同地形上训练,机器人可以学习到更通用的行走策略,从而提高其在真实环境中的适应能力和鲁棒性。不同地形的设计和使用可以帮助研究人员测试和改进机器人在各种环境下的表现,从而开发出更智能和可靠的行走算法。


如何创建地形


  1. def jump_plat_terrain(terrain, height, platform_size=1.):
  2.     height = int(height / terrain.vertical_scale)
  3.     platform_size = int(platform_size / terrain.horizontal_scale / 2)
  4.     x1 = terrain.length // 2 - platform_size
  5.     x2 = terrain.length // 2 + platform_size
  6.     y1 = terrain.width // 2 - platform_size
  7.     y2 = terrain.width // 2 + platform_size
  8.     terrain.height_field_raw[x1:x2, y1:y2] = height
  9.    
复制代码



这是一个AzureLoong/gpugym/utils路径下的terrain.py文件中的一个函数,它被用以创建一个凸起的平台,其中平台高度为height,平台大小为platform_size。
Terrain类的定义也在此文件中,结构比较简单,在这里就不做详细解释了。


Terrain类中最重要的一个参数就是height_field_raw,它的定义语句是

  1. self.height_field_raw = np.zeros((self.tot_rows , self.tot_cols), dtype=np.int16)
复制代码


它具体的作用是,以坐标形式表现地形中某处位置的高度。

所以terrain.height_field_raw[x1:x2, y1:y2] = height的意思就是在x1到x2,y1到y2区域创建高度为height的地形。
另外的,因为height_field_raw以数组形式存储高度数据,所以x1,x2,y1,y2都需要是整数。另一个值得注意的问题是x1,x2,y1,y2相比于platform_size都乘上了一个horizontal_scale参数,而高度height则乘上了一个vertical_scale参数,这是为了以后方便对所有的地形做统一调整而添加的参数。

上文中给出了如何创建一个凸起的跳台jump_plat的函数,通过修改上文中的代码语句的最后一行则能让它创建一个下凹的jump_pit

  1. terrain.height_field_raw[x1:x2, y1:y2] = -height

复制代码

   

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评论2

用户7ecaae5c8b15Lv.1 发表于 2024-10-11 11:41:13 | 查看全部
请问这个python代码在哪里执行,使用的仿真平台是什么
十日无冬Lv.7 发表于 2024-10-11 14:17:56 | 查看全部
用户7ecaae5c8b15 发表于 2024-10-11 11:41
请问这个python代码在哪里执行,使用的仿真平台是什么

代码在青龙人形机器人开源框架GymLoong(具体路径为AzureLoong/gpugym/utils/terrain.py)内部执行,使用Isaac Gym做的仿真。

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2025 OPENLOONG. All Rights Reserved. Powered by Discuz!
  • 关注B站
  • 关注抖音
  • 关注微信公众号
Copyright © 2025 开发者论坛 - OpenLoong 版权所有 All Rights Reserved.
关灯 在本版发帖 返回顶部
快速回复 返回顶部 返回列表