当前位置: 首页 > wzjs >正文

做网站合同封面b2b网站大全免费推广

做网站合同封面,b2b网站大全免费推广,临沂网站临沂网站制作,哪个网站做自行车评测的在前几篇文章中,我们依次讲解了如何创建一个地形、如何将地形添加到训练环境中,并在上一期深入分析了复杂地形之一——台阶地形的创建方式与训练意义。本文将继续聚焦复杂地形训练中另一类代表性地形——斜坡(Slope)与金字塔斜坡&…

在前几篇文章中,我们依次讲解了如何创建一个地形、如何将地形添加到训练环境中,并在上一期深入分析了复杂地形之一——台阶地形的创建方式与训练意义。本文将继续聚焦复杂地形训练中另一类代表性地形——斜坡(Slope)与金字塔斜坡(Pyramid Sloped Terrain),结合实际代码,详细解析其构建方式与背后的机器人训练逻辑。

为什么训练斜坡地形?

在机器人行走能力的训练体系中,除了台阶,斜坡地形同样是不可或缺的基本训练场景。与台阶这种离散高度变化的结构不同,斜坡呈现出的是连续的高度倾斜面,这就要求机器人在前进过程中必须持续调整自身平衡与步态协调,而不是仅仅对付几级台阶的跳跃或抬腿。

从强化学习的角度来看,斜坡训练的最大价值在于其对机器人感知与运动控制系统的全局调动能力的挑战。它能有效提高机器人在实际环境中对复杂地形的适应能力——无论是上坡、下坡、转弯或非平整路面,都离不开斜坡地形所锻炼出的综合运动能力与抗干扰能力。

可以说,一个能够在斜坡上稳定行走的机器人,将在面对真实世界中各种坡度变化的路况时表现出更强的泛化能力与鲁棒性。

基础台阶地形(Stairs Terrain)

在 Isaac Gym 提供的 terrain_utils.py 脚本中,我们可以找到一个函数 big_slope() 用于构建斜坡地形。其核心代码如下:

def big_slope(terrain, slope=1):x = np.arange(0, terrain.width)y = np.arange(0, terrain.length)xx, yy = np.meshgrid(x, y, sparse=True)xx = xx.reshape(terrain.width, 1)max_height = int(slope * (terrain.horizontal_scale / terrain.vertical_scale) * terrain.width / 10)terrain.height_field_raw[:, np.arange(terrain.length)] += (max_height * xx / terrain.width).astype(terrain.height_field_raw.dtype)return terrain

表面上看起来这段代码比台阶地形的构造要复杂,但其实逻辑非常清晰。这里使用的是 NumPy 的稀疏矩阵(sparse meshgrid)来代替之前通过 for 循环实现的高度递增逻辑,这样计算效率更高、结构也更清晰。我们根据横向位置 xx 来生成一个从0逐渐增大的坡度值,并将其赋值给地形数据 height_field_raw,从而形成一个横向连续的斜坡。

需要特别说明的是,big_slope() 所构建的斜坡尺寸远远超出了正常单元地形的限制,它更多用于演示地形构建的方式,而不建议直接作为训练环境使用。这种超尺度地形在拼接其他单元地形时往往会造成严重的不连续性,影响训练效果,甚至导致机器人频繁跌倒。

金字塔斜坡地形:更合理的训练选择

同样的,在训练地形中直接使用斜坡地形也是不可取的,会出现地形不连续的情况导致机器人在训练中容易摔倒。为了解决普通斜坡在多地形拼接时带来的突变问题,我们更推荐使用金字塔斜坡地形。它是一种带有中心平台的、四面坡度一致的“坡锥体”,相比台阶地形更加平滑、相比单一斜坡又避免了边界突变问题,是强化学习中常见的一种地形设计方案。多个金字塔斜坡地形接壤如下图所示:

结构特点:

· 中心带有一个平坦的平台,可以缓冲上下坡之间的高度落差;

· 四面斜坡对称分布,适合多方向拼接;

· 训练更稳定,可显著减少因高度突变导致的失败训练样本。

其对应的地形构建函数为 pyramid_sloped_terrain(),代码如下:

def pyramid_sloped_terrain(terrain, slope=1, platform_size=1.):"""Generate a sloped terrainParameters:terrain (terrain): the terrainslope (int): positive or negative slopeplatform_size (float): size of the flat platform at the center of the terrain [meters]Returns:terrain (SubTerrain): update terrain"""x = np.arange(0, terrain.width)y = np.arange(0, terrain.length)center_x = int(terrain.width / 2)center_y = int(terrain.length / 2)xx, yy = np.meshgrid(x, y, sparse=True)xx = (center_x - np.abs(center_x-xx)) / center_xyy = (center_y - np.abs(center_y-yy)) / center_yxx = xx.reshape(terrain.width, 1)yy = yy.reshape(1, terrain.length)max_height = int(slope * (terrain.horizontal_scale / terrain.vertical_scale) * (terrain.width / 2))terrain.height_field_raw += (max_height * xx * yy).astype(terrain.height_field_raw.dtype)platform_size = int(platform_size / terrain.horizontal_scale / 2)x1 = terrain.width // 2 - platform_sizex2 = terrain.width // 2 + platform_sizey1 = terrain.length // 2 - platform_sizey2 = terrain.length // 2 + platform_sizemin_h = min(terrain.height_field_raw[x1, y1], 0)max_h = max(terrain.height_field_raw[x1, y1], 0)terrain.height_field_raw = np.clip(terrain.height_field_raw, min_h, max_h)return terrain

代码解析:

金字塔形斜坡的代码看起来非常复杂,但是有了之前的经验理解起来应该不会特别费劲,让我们逐行分析一下:

- 前半部分的逻辑是构造一个四向对称的坡面。我们通过 meshgrid 生成稀疏坐标矩阵,再将其归一化到 [0, 1] 区间。乘以最大高度后,就得到了一个圆锥状的坡度高度图。

- 接下来的几行代码则通过 clip 操作,将中心区域的高度限制为一个平台区域。这样可以防止顶部形成尖锥,于是就形成了一个四面坡、顶部平坦的金字塔型斜坡地形。

即便是多个训练地形拼接,这种结构也能保持坡度过渡的平滑与连续,更适合机器人用于适应性与稳定性的强化训练。


从模拟到现实的桥梁

台阶与金字塔台阶地形的引入,不仅丰富了训练环境的复杂性,也帮助我们更接近真实世界中机器人的使用场景。合理设计地形,是让机器人“聪明地行动”的第一步。结合高质量策略与结构合理的训练环境,我们将能训练出在多种真实环境中都能稳定运行的机器人。

至此,我们已完成“青龙机器人训练地形详解”系列的四篇讲解:

地形创建基础

从 SubTerrain 的基本构造方法入手,讲解如何使用高度图构建任意三维地形;

添加地形到训练环境

介绍了如何将添加地形加载进的训练环境,使地形训练与强化学习框架有效结合;

复杂地形——台阶详解

通过离散高度变化训练机器人精确步态规划与足部控制;

复杂地形——斜坡与金字塔斜坡

强化连续坡度中的稳定性控制与地形适应能力。

这几类地形构成了训练过程中基础又典型的大部分复杂地形组合,可以帮助实现从“理想环境”向“复杂现实”的训练过渡。而在未来的开发中,这些地形还可以灵活组合,生成更贴近实际场景的多样化训练环境,为强化学习策略提供更全面的挑战与支持。

OpenLoong 开源社区提供了一个开放交流的平台,在这里,大家可以共同探讨机器人仿真的难点与创新点。欢迎大家在社区一起进行交流。

http://www.dtcms.com/wzjs/303679.html

相关文章:

  • 怎么下载网页上的视频天津seo优化排名
  • 会昌县 两学一做 网站公司网站制作网络公司
  • 网站建设公司沈阳网络营销可以做什么工作
  • 设计风格好看的网站网络服务有哪些
  • b2b电子商务网站的收益模式是什么?中国纪检监察报
  • 零基础学习网站开发网络优化行业的发展前景
  • 沧州网站建设 网络服务独立站优化
  • 桐庐住房和城乡建设局 网站seo薪资水平
  • 独特网站的sem运营是什么意思
  • 儿童故事网站建设搜索引擎营销广告
  • 怎么做网站轮播图片湖北短视频搜索seo
  • 免费创建网站的软件在线注册网站
  • 网站关键词优化wang免费网站外链推广
  • 安徽华夏网站建设互联网推广怎么找客户
  • seo北京网站推广如何去除痘痘有效果
  • 做to b的网站百度近日收录查询
  • 网站建设定制网站建设公司关键词seo服务
  • 合肥网站建设企业北京网站排名推广
  • 做境外盈利网站违法吗网络营销推广seo
  • 网站建设了解网站优化seo
  • 做网站框架浏览时怎么变长百度推广联系方式
  • wordpress语言切换网站5118网站查询
  • 网站做彩票犯法吗网上接单平台
  • 怎么做的英文网站爱站关键词挖掘软件
  • 做简单的网站多少钱线下推广100种方式
  • 网站建设合同 协议书百度账号客服
  • 云建站空间收录排名好的发帖网站
  • wordpress注册登录界面西安seo排名扣费
  • 永嘉县住房和城乡建设局网站直接下载app
  • 做渔具网站腾讯企点账户中心