🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ast::BlockMotionPartial类 参考

#include <BlockMotionPartial.hpp>

+ 类 ast::BlockMotionPartial 继承关系图:

Public 成员函数

 BlockMotionPartial (const BlockMotionPartial &)=delete
 
BlockMotionPartialoperator= (const BlockMotionPartial &)=delete
 
errc_t run (const SimTime &simTime) override
 
- Public 成员函数 继承自 ast::BlockMotion
 BlockMotion (const BlockMotion &)=delete
 
BlockMotionoperator= (const BlockMotion &)=delete
 
- Public 成员函数 继承自 ast::BlockDerivative
 ~BlockDerivative () override=default
 
const std::vector< DataPort > & getDerivativePorts () const
 
std::vector< DataPort > & getDerivativePorts ()
 
- Public 成员函数 继承自 ast::FuncBlock
const std::vector< DataPort > & getInputPorts () const
 
std::vector< DataPort > & getInputPorts ()
 
const std::vector< DataPort > & getOutputPorts () const
 
std::vector< DataPort > & getOutputPorts ()
 
size_t getNumInputPorts () const
 
size_t getNumOutputPorts () const
 
DataPortgetInputPort (StringView portName)
 
DataPortgetOutputPort (StringView portName)
 
DataPortgetInputPort (size_t portIndex)
 
DataPortgetOutputPort (size_t portIndex)
 
DataPort::EValueType getInputPortDataType (size_t portIndex)
 
DataPort::EValueType getOutputPortDataType (size_t portIndex)
 
void * getInputPortSignal (size_t portIndex)
 
void * getOutputPortSignal (size_t portIndex)
 
double * getInputPortRealSignal (size_t portIndex)
 
double * getOutputPortRealSignal (size_t portIndex)
 
int getInputPortWidth (size_t portIndex)
 
int getOutputPortWidth (size_t portIndex)
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 ast::FuncBlock
static errc_t connect (FuncBlock *src, StringView srcPortName, FuncBlock *dst, StringView dstPortName)
 
static errc_t connect (FuncBlock *src, size_t srcPortIndex, FuncBlock *dst, size_t dstPortIndex)
 
- Protected 属性 继承自 ast::BlockMotion
Vector3d * velocity_ {&vectorBuffer}
 
Vector3d * positionDerivative_ {&vectorBuffer}
 
Vector3d vectorBuffer {}
 
- Protected 属性 继承自 ast::BlockDerivative
std::vector< DataPortderivativePorts_ {}
 
- Protected 属性 继承自 ast::FuncBlock
std::vector< DataPortinputPorts_ {}
 
std::vector< DataPortoutputPorts_ {}
 

详细描述

运动学偏导数函数块

继承 BlockMotion,在其基础上向 A 矩阵写入位置运动学偏导数。 重写 run():计算 dr/dt = v 的同时,将 ∂(dr/dt)/∂v = I 写入 A 矩阵。

A 矩阵布局(6×6,行优先): 位置导数与位置无关,∂(dr/dt)/∂r = 0(无需写入) ↓ 本块写入 I (rows 0-2, cols 3-5) ┌ ┐ │ 0 I │ rows 0-2: 位置运动学 │ ∂a/∂r ∂a/∂v │ rows 3-5: 加速度偏导数 └ ┘

输入端口(继承):

  • "Vel":速度向量(3维,继承自 BlockMotion)

输出端口(新增):

  • "AMatrix":动力学雅可比矩阵 A(t)(36维,本块写入 ∂(dr/dt)/∂v = I)

导数端口(继承):

  • "Pos":位置导数(3维),赋值为当前速度
注解
可替换 BlockMotion 使用,提供偏导数计算的同时保持原有运动学关系
参见
BlockMotion, BlockStateTransitionMatrix

成员函数说明

◆ run()

errc_t ast::BlockMotionPartial::run ( const SimTime & simTime)
overridevirtual

计算函数块

参数
simTime仿真时间
返回
错误码

重载 ast::BlockMotion .


该类的文档由以下文件生成: