资讯动态

chrono车辆仿真_10_轮胎系统详解

发布时间:2026/10/20 19:32:05 来源:尧图企业网站定制
轮胎系统详解一、轮胎的本质:车辆与地面的"接口"1.1 轮胎的双重角色车辆动力学 ────┬──── 地面相互作用 │ ▼ 轮胎 │ ┌─────────┼─────────┐ │ │ │ 承载重量 传递力 吸收冲击 │ │ │ ▼ ▼ ▼ 垂直力 驱动/制动 侧向力 (Fz) (Fx) (Fy)轮胎是力产生器:输入:车轮位置、速度、地面状态输出:作用在车轮上的力和力矩1.2 Chrono 轮胎建模层次Chrono 提供三种层次的轮胎模型:精度 vs 效率 │ ┌─────────────┼─────────────┐ │ │ │ 刚性轮胎 半经验轮胎 柔性轮胎(FEA) (最快) (平衡) (最精确) │ │ │ ChRigidTire ChFialaTire ChANCFTire 无变形 经验公式 有限元计算 纯碰撞力 TMeasy等 壳单元网格二、轮胎基类 ChTire 解析2.1 类定义classCH_VEHICLE_APIChTire:publicChPart{public:// ======== 碰撞检测类型 ========enumclassCollisionType{SINGLE_POINT,// 单点碰撞(最快)FOUR_POINTS,// 四点碰撞(更精确)ENVELOPE// 包络面方法(考虑曲率)};// ======== 参数设置 ========voidSetStepsize(doubleval){m_stepsize=val;}doubleGetStepsize()const{returnm_stepsize;}voidSetCollisionType(CollisionType collision_type){m_collision_type=collision_type;}voidSetPressure(doublepressure){m_pressure=pressure;}doubleGetPressure()const{returnm_pressure;}// ======== 几何属性 ========virtualdoubleGetRadius()const=0;// 轮胎半径virtualdoubleGetWidth()const=0;// 轮胎宽度// ======== 惯性属性 ========virtualdoubleGetTireMass()const=0;virtualChVector3dGetTireInertia()const=0;// ======== 力报告 ========// 全局坐标系下的力和力矩virtualTerrainForceReportTireForce(ChTerrain*terrain)const=0;// 轮胎坐标系下的力和力矩virtualTerrainForceReportTireForceLocal(ChTerrain*terrain,ChCoordsystire_frame)const=0;// ======== 滑移参数 ========doubleGetSlipAngle()const{returnm_slip_angle;}doubleGetLongitudinalSlip()const{returnm_longitudinal_slip;}doubleGetCamberAngle()const{returnm_camber_angle;}// ======== 其他 ========virtualdoubleGetDeflection()const{return0;}conststd::stringGetMeshFilename()const{returnm_vis_mesh_file;}staticChVector3dEstimateInertia(doubletire_width,doubleaspect_ratio,doublerim_diameter,doubletire_mass,doublet_factor=2);// ======== 初始化和同步 ========virtualvoidInitialize(std::shared_ptrChWheelwheel);virtualvoidSynchronize(doubletime,constChTerrainterrain){}virtualvoidAdvance(doublestep){}protected:ChTire(conststd::stringname);// ======== 力获取(供车辆内部使用) ========virtualTerrainForceGetTireForce()const=0;// ======== 辅助方法 ========voidCalculateKinematics(constWheelStatewheel_state,constChCoordsystire_frame);doubleGetOffset()const{returnm_wheel-m_offset;}virtualdoubleGetAddedMass()const=0;virtualChVector3dGetAddedInertia()const=0;

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑