摘要:
先初步看一下碰撞相关的对象都有些什么。 (小疑惑,为什么对在 btDiscreteDynamicsWorld 外面单独有一个 CollisionShape,好像是说,CollisionShape 是包含在 CollisionObject 里面的。难道是为了节省内存,对于不同的 CollisionOb 阅读全文
摘要:
代码参见:bullet3/examples/BasicDemo 在 Bullet 自带的例程中,仿真主要包括以下三步: (1)example->initPhysics(); 首先,初始化仿真相关的环境。建立仿真相关对象,添加场景中的物体,等等。 (2)example->stepSimulation( 阅读全文
摘要:
好的物理引擎是实现计算机图形学中某些场景仿真、机器人仿真的重要基础。Bullet 物理引擎包含了碰撞检测、刚体运动/动力学仿真、约束求解、软体仿真等功能。参见Bullet Physics Home Page 及 bulletphysics/bullet3 以下文章记录了 Bullet 学习过程及代码 阅读全文
摘要:
前文介绍了 World 类和 WorldPrivate 类的成员变量及成员函数。这里集中梳理一下,在 Gazebo 仿真场景(World)中,都有哪些东西。 在 Gazebo 中,仿真相关的对象主要有以下几个: (1)物理引擎 PhysicsEngine (2)模型 Model (3)实体 Enti 阅读全文
摘要:
在 Gazebo 中,World 类可以认为是场景容器,包含了仿真场景中的所有对象。其中,绝大多数成员变量以 WorldPrivate 类的形式存放,参见 gazebo/gazebo/physics/WorldPrivate.hh 在 WorldPrivate 类中,则主要定义了仿真场景中所需包含的 阅读全文
摘要:
在 Gazebo 中,World 类可以认为是场景容器,包含了仿真场景中的所有对象。 /// \class World World.hh physics/physics.hh /// \brief The world provides access to all other object withi 阅读全文
摘要:
关于 Gazebo 仿真流程的核心代码部分在 gazebo/gazebo 中,比如 gazebo.hh gazebo.cc 以及 physics/World.hh 等等 在 gazebo/examples/stand_alone/actuator/main.cc 有一个简单的例子。依此例分析下 Ga 阅读全文
摘要:
Gazebo 是一款机器人仿真平台,参见 Gazebo 官网 以下笔记旨在分析 Gazebo 的仿真流程和代码框架,为开发 Gazebo 插件做一些基础准备。 很多人对 Gazebo 的定位是一个机器人仿真工具,期望以此搭建仿真平台。这部分人不需要阅读该系列笔记,这里也不会系统介绍 Gazebo 的 阅读全文
摘要:
在 FEMFX 中,刚体对象为 FmRigidBody,详见 FEMFX/amd_femfx/src/Simulation/FEMFXRigidBody.h FmRigidBody 类的定义为: struct FmRigidBody { uint objectId; uint rbIslandId; 阅读全文
摘要:
在 FEMFX 中,场景类 FmScene 包含了仿真场景中几乎所有的对象、信息等,比如 tetMesh 、constraints、rigidBodies、params 等等数据。下面对 FmScene 中的成员变量进行梳理。 具体的数据可分为三部分:软体(四面体单元)和刚体、约束及碰撞、其他 一、 阅读全文