【Safety-Gymnasium】【蚂蚁机器人运动】

目录

【Safety-Gymnasium】【蚂蚁机器人运动】 

1. 类的初始化方法:__init__

2. step 方法

3. 返回值

4. 总结


【Safety-Gymnasium】【蚂蚁机器人运动】 

这个类 SafetyAntVelocityEnv 是一个在 Ant环境 上应用了速度安全约束的强化学习环境,继承自 AntEnv 类。

它主要用于模拟带有速度限制的蚂蚁机器人运动。

以下是对代码中各个部分的详细中文解释:

1. 类的初始化方法:__init__

def __init__(self, **kwargs) -> None:
    super().__init__(**kwargs)
    self._velocity_threshold = 2.5745
    self.model.light(0).castshadow = False
  • super().__init__(**kwargs):调用父类 AntEnv 的初始化方法,初始化继承自父类的所有属性和方法。

  • self._velocity_threshold = 2.5745:设置一个速度阈值(_velocity_threshold),表示当机器人的速度超过此阈值时,将会产生一个额外的成本(或惩罚)。该阈值是在环境中定义的限制,超过这个速度值会触发惩罚。

  • self.model.light(0).castshadow = False:这行代码修改了环境模型的渲染属性,禁止了第一个光源的阴影投射,目的是让渲染效果更加清晰,避免阴影影响可视化。

2. step 方法

def step(self, action):  # pylint: disable=too-many-locals
    xy_position_before = self.get_body_com('torso')[:2].copy()
    self.do_simulation(action, self.frame_skip)
    xy_position_after = self.get_body_com('torso')[:2].copy()

    xy_velocity = (xy_position_after - xy_position_before) / self.dt
    x_velocity, y_velocity = xy_velocity

    forward_reward = x_velocity
    healthy_reward = self.healthy_reward

    rewards = forward_reward + healthy_reward

    costs = ctrl_cost = self.control_cost(action)

    terminated = self.terminated
    observation = self._get_obs()
    info = {
        'reward_forward': forward_reward,
        'reward_ctrl': -ctrl_cost,
        'reward_survive': healthy_reward,
        '
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

资源存储库

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

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

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

打赏作者

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

抵扣说明:

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

余额充值