摘要: 好的物理引擎是实现计算机图形学中某些场景仿真、机器人仿真的重要基础。Bullet 物理引擎包含了碰撞检测、刚体运动/动力学仿真、约束求解、软体仿真等功能。参见Bullet Physics Home Page 及 bulletphysics/bullet3 以下文章记录了 Bullet 学习过程及代码 阅读全文
posted @ 2020-04-30 23:17 wghou09 阅读(532) 评论(0) 推荐(1) 编辑
摘要: 前文介绍了 World 类和 WorldPrivate 类的成员变量及成员函数。这里集中梳理一下,在 Gazebo 仿真场景(World)中,都有哪些东西。 在 Gazebo 中,仿真相关的对象主要有以下几个: (1)物理引擎 PhysicsEngine (2)模型 Model (3)实体 Enti 阅读全文
posted @ 2020-04-18 22:08 wghou09 阅读(720) 评论(0) 推荐(0) 编辑
摘要: 在 Gazebo 中,World 类可以认为是场景容器,包含了仿真场景中的所有对象。其中,绝大多数成员变量以 WorldPrivate 类的形式存放,参见 gazebo/gazebo/physics/WorldPrivate.hh 在 WorldPrivate 类中,则主要定义了仿真场景中所需包含的 阅读全文
posted @ 2020-04-18 17:18 wghou09 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 在 Gazebo 中,World 类可以认为是场景容器,包含了仿真场景中的所有对象。 /// \class World World.hh physics/physics.hh /// \brief The world provides access to all other object withi 阅读全文
posted @ 2020-04-18 17:16 wghou09 阅读(718) 评论(0) 推荐(0) 编辑
摘要: 关于 Gazebo 仿真流程的核心代码部分在 gazebo/gazebo 中,比如 gazebo.hh gazebo.cc 以及 physics/World.hh 等等 在 gazebo/examples/stand_alone/actuator/main.cc 有一个简单的例子。依此例分析下 Ga 阅读全文
posted @ 2020-04-18 16:21 wghou09 阅读(1206) 评论(0) 推荐(0) 编辑
摘要: Gazebo 是一款机器人仿真平台,参见 Gazebo 官网 以下笔记旨在分析 Gazebo 的仿真流程和代码框架,为开发 Gazebo 插件做一些基础准备。 ==很多人对 Gazebo 的定位是一个机器人仿真工具,期望以此搭建仿真平台。这部分人不需要阅读该系列笔记,这里也不会系统介绍 Gazebo 阅读全文
posted @ 2020-04-18 14:58 wghou09 阅读(731) 评论(0) 推荐(0) 编辑
摘要: 在 FEMFX 中,刚体对象为 FmRigidBody,详见 FEMFX/amd_femfx/src/Simulation/FEMFXRigidBody.h FmRigidBody 类的定义为: struct FmRigidBody { uint objectId; uint rbIslandId; 阅读全文
posted @ 2020-04-15 14:09 wghou09 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 在 FEMFX 中,场景类 FmScene 包含了仿真场景中几乎所有的对象、信息等,比如 tetMesh 、constraints、rigidBodies、params 等等数据。下面对 FmScene 中的成员变量进行梳理。 具体的数据可分为三部分:软体(四面体单元)和刚体、约束及碰撞、其他 一、 阅读全文
posted @ 2020-04-14 23:18 wghou09 阅读(203) 评论(0) 推荐(0) 编辑
摘要: FmTaskFuncStepVelocityRebuildBvh 在 FEMFX/amd_femfx/src/Simulation/FEMFXSimulate.cpp 中定义,主要完成了仿真中(位置)速度的计算、bvh的更新等工作。 感觉该部分的主要内容为 FmTaskFuncTetMeshStep 阅读全文
posted @ 2020-04-14 18:53 wghou09 阅读(181) 评论(0) 推荐(0) 编辑
摘要: FmUpdateUnconstrained 是基于 FEMFX 仿真流程中的第一个重要环节,位于 FEMFX/amd_femfx/src/Simulation/FEMFXSimulate.cpp 中,在位于 AMD_FEMFC.h 的函数声明中,是这样解释该函数的内容的: // Rebuild me 阅读全文
posted @ 2020-04-14 17:19 wghou09 阅读(220) 评论(0) 推荐(0) 编辑