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

【强化学习】解决MPE环境中两个小球重合导致态势为nan问题

本质原因还没定位到,具体为某种操作,导致两个具有碰撞属性的小球重合了!!!

重合后导致距离计算为0,从而导致碰撞的力为nan,导致态势位置变成nan。

修改以下源码解决:
multiagent/core.py中的193行改为:

force = self.contact_force * delta_pos / (dist+1e-6) * penetration

完整的 get_collision_force 方法:

    # get collision forces for any contact between two entitiesdef get_collision_force(self, entity_a, entity_b):if (not entity_a.collide) or (not entity_b.collide):return [None, None] # not a colliderif (entity_a is entity_b):return [None, None] # don't collide against itself# compute actual distance between entitiesdelta_pos = entity_a.state.p_pos - entity_b.state.p_posdist = np.sqrt(np.sum(np.square(delta_pos)))# minimum allowable distancedist_min = entity_a.size + entity_b.size# softmax penetrationk = self.contact_marginpenetration = np.logaddexp(0, -(dist - dist_min)/k)*kforce = self.contact_force * delta_pos / (dist+1e-6) * penetrationforce_a = +force if entity_a.movable else Noneforce_b = -force if entity_b.movable else Nonereturn [force_a, force_b]
http://www.dtcms.com/a/398917.html

相关文章:

  • 建教会网站的内容部门网站建设个人总结
  • 陕西省建设监理协会网站证书关于网站开发的外文书籍
  • FFmpegLinux开发环境开荒
  • iPhone HTTPS 抓包实战,原理、常见工具、SSL Pinning 问题与替代工具的解决方案
  • 在百度做橱柜网站wordpress add_editor_style
  • 256m内存 wordpresswordpress 博客主题 seo
  • 【2025CVPR-域泛化方向】PEER Pressure:单源域泛化的模型间正则化方法解析
  • 北京网站建设咸宁软件外包公司的出路
  • 【力扣LeetCode】 67二进制求和
  • 世界模型是什么
  • 网站设计师联盟仿网站建设教程视频教程
  • 十大购物网站排名中山免费建网站
  • C++23特性全解析:从编译器支持矩阵到多维数组性能优化实战
  • Visual Studio 2022 / VS2022 激活码
  • MyBatis“别名扫描”功能
  • 安全产品(WAF)了解
  • 茂名网站建设方案书语音定制软件
  • 体育比分网功能详解:实时比分、赛事数据与资讯一站式服务平台
  • 鸿蒙ArkTS Canvas实战:转盘抽奖程序开发教程(基础到进阶)
  • 力扣每日一刷Day 25
  • Windows安全机制--脚本执行防御
  • Chat2DB:零门槛数据库操作的无界解决方案
  • 即墨网站推广网络经营范围包括哪些
  • dify 源码分析 agent
  • 静态网站开发工具有哪些做网站用的文本编辑器
  • 搜索百科(4):OpenSearch — 开源搜索的新选择
  • 异常以及异常处理
  • 2025年国际知名品牌OMS订单管理系统选型指南:从产品架构,生态资源到成功项目交付案例解析|商派
  • 从传统CNN到ResNet:深度学习中的深层网络革命
  • RAG知识增强系统2 - 检索器retriever