随笔分类 -  仿真物理引擎学习笔记

摘要:待补充 阅读全文
posted @ 2024-08-13 11:47 wghou09 阅读(43) 评论(0) 推荐(0)
摘要:surgical robotics challenge 是用于模拟机器人缝合的交互式仿真平台。它通过 AMBF 实现机器人的底层物理仿真,并通过 ROS 与 AMBF实现通信。 在 surgical robotics challenge 中,提供了机器人仿真相关的资产 assets,具体包括场景中机 阅读全文
posted @ 2024-08-13 11:46 wghou09 阅读(205) 评论(0) 推荐(0)
摘要:Genesis 是一款用于具身智能的生成式仿真平台,目前仍在开发调试阶段。其具备自主生成仿真场景的能力,并支持可微仿真 differentiable simulation。Genesis-Embodied-AI/Genesis 在论文 Towards Generalist Robots: A Pro 阅读全文
posted @ 2024-08-13 00:05 wghou09 阅读(789) 评论(0) 推荐(1)
摘要:Asynchronous Multi-Body Framework (AMBF) 是一款用于机器人仿真的框架,采用了 Bullet 作为物理引擎,参照了 Gazebo 的仿真框架。其源代码参见 WPI-AIM/ambf 1. 总体简介 感觉 ambf 借鉴了 Gazebo 的框架,采用的是 Worl 阅读全文
posted @ 2024-07-29 18:30 wghou09 阅读(304) 评论(0) 推荐(0)
摘要:在 AMBF 中,可通过 ROS 实现用户和机器人/机械臂之间的通信控制。具体采用的是 server/client 模式,即在 AMBF 中插入 ObjectCommPlugin/WorldCommPlugin 等插件,在这些插件中,包含了相应类型的 RosComServer。RosComServe 阅读全文
posted @ 2024-07-29 15:53 wghou09 阅读(126) 评论(0) 推荐(0)
摘要:简述 Bullet 中软体的碰撞检测与响应算法,仅针对 Soft 类型,Deformable 类型不包含在这篇文章中。 1. 软体碰撞检测 在 Bullet Physics 中,软体的碰撞检测采用的是 “点-面” 的方法,即分别用两个软体的 m_ndbvt 和 m_fdbvt 做碰撞检测,两个 bv 阅读全文
posted @ 2024-07-09 18:33 wghou09 阅读(287) 评论(0) 推荐(0)
摘要:每天不是在改 bug,就是在生产 bug ... 在做 Bullet 开发的时候,总会“不由自主地”生产出各种奇奇怪怪的 bug,虽然极大地丰富了工作量,但这些 bug 实在让人头大。记录一下。 btMax() / btMin() 误用:btMax(btScalar a, btScalar b) 可 阅读全文
posted @ 2024-05-27 17:32 wghou09 阅读(60) 评论(0) 推荐(0)
摘要:在数值模拟中,前期往往通过建模软件等得到三维模型数据,其中包含不同的区域(可作为不同边界)。在 Gmsh 划分网格的过程中,就需要通过几个 *.stl 文件合并后,进行网格划分。下面是一个示例。 Gmsh: merge surface 网格划分 首先,前期得到三部分表面网格(代表实体的不同区域)。分 阅读全文
posted @ 2021-05-25 17:22 wghou09 阅读(1033) 评论(0) 推荐(0)
摘要:数值模拟的起始环节之一是创建网格。下面介绍常用的一些工具,并尽力给出部分示例。 Blender Blender 是我自己常用的一款建模软件,虽然与AutoCAD、SolidWorks等不同,但基本的三维建模功能用的比较多一些。能够建立三维模型,并输出 *.obj / *.stl 等格式的文件。这里面 阅读全文
posted @ 2021-05-25 14:39 wghou09 阅读(647) 评论(0) 推荐(0)
摘要:总的来说,基于 fenics 的程序,可大致划分为 4 个部分:问题域、边界条件、问题描述、求解 1 - 问题域 首先,需要定义需要求解的问题域。通常,问题域可离散为网格单元。此外,为了准确表示问题域中的不同区域,如多种材料、边界等,常常在网格中加入标记。 一般来说,流程如下: 1> 创建网格,即 阅读全文
posted @ 2021-02-10 17:59 wghou09 阅读(531) 评论(0) 推荐(0)
摘要:1 - 问题域为 $\Omega$ 2 - 方程及其变分形式 $$\begin{aligned} -\nabla^2 u(\boldsymbol{x}) &= f(\boldsymbol{x}), \quad &\boldsymbol{x} \in \Omega \ u(\boldsymbol{x} 阅读全文
posted @ 2020-12-18 12:22 wghou09 阅读(252) 评论(0) 推荐(0)
摘要:下面梳理 Bullet Physics 中关于软体的碰撞检测流程及算法。 在 Bullet Physics 中,涉及软体的碰撞检测主要由函数 btDiscreteDynamicsWorld::performDiscreteCollisionDetection() 和函数 btDeformableRi 阅读全文
posted @ 2020-06-24 17:03 wghou09 阅读(1261) 评论(1) 推荐(0)
摘要:形变仿真中,积分方法主要有显式积分方法(Explicit time integration scheme)、隐式时间积分方法(Implicit time integration scheme)等。 下面介绍 中心插值法、Houbolt 方法、Wilson-$\theta$ 方法、以及 Newmark 阅读全文
posted @ 2020-06-22 19:54 wghou09 阅读(1020) 评论(0) 推荐(0)
摘要:下面梳理软体对象的仿真过程。 在例程 VolumetricDeformable 中,使用了 btDeformableMultiBodyDynamicsWrold 类以及 btDeformableBodySolver 类,因此,该仿真流程即为对 btDeformableMultiBodyDynamic 阅读全文
posted @ 2020-06-21 23:36 wghou09 阅读(1123) 评论(0) 推荐(0)