SoftRoboSim 之程序框架

SoftRoboSim 是建立在 Bullet 物理引擎基础上的软体机器人仿真平台。借助 Bullet 实现碰撞检测、刚体动力学仿真。

0、总体框架设计

软体形变部分的框架设计如下:

srSoftRigidDynamicWorld 用于仿真主程序

srSoftBody 用于软体对象仿真,主要用于存放软体数据

srSoftSolver 用于软体对象的仿真计算,控制总体流程步骤

srForce 用于软体对象内弹性力的计算

srConstraintSolver 用于软体约束求解

srConstraint 用于软体内的约束(碰撞约束怎么表示呢,要统一吗);感觉好像也需要一个约束求解算法矩阵表、类似于碰撞检测算法矩阵表一样

srTimeIntegrator 仿真求解器(暂时先用显式、隐式求解器,牛顿法什么的)

1、软体形变仿真

软体形变仿真的总体步骤由 srSoftSolver 类控制,主要包括以下步骤:

(1) srSoftSolver::optimize(...) 用于某类优化工作

(2) srSoftSolver::predictMotion(...) 进行无碰撞的形变求解

(3) srSoftSolver::processCollision(...) 进行碰撞检测

(中间的碰撞处理,则是由 srSoftBody::defaultCollisionHandler(..) 来完成)

(4) srSoftSolver::updateSoftBodies() 更新软体状态

原文地址:https://www.cnblogs.com/wghou09/p/13467871.html