多物理场仿真 Chrono 转向机构

2023-11-02

为方便查阅,此文是原网站文档翻译,如有侵权,请与本人联系。


基础类别ChSteering规定,任何衍生的转向机构类别(转向机构模板)都提供了一个转向连杆体,可转向悬架可以连接到该转向连杆体上(通常通过悬架的连杆)。
衍生转向机构类型定义了特定类型转向机构的主体、关节、受力元件和拓扑结构,假设所有位置都是相对于机构参考系提供的(衍生的转向机构类型可以自由选择该参考系的位置和方向)。
通过指定机构总成参考系相对于底盘参考系的位置和方向,将转向机构总成连接到车辆底盘上(参见ISO参考系的定义)。
轮式车辆可以具有多个转向机构,每个转向机构与不同的可转向车轴相关联。类似地,单个转向机构可以连接到多个可转向车轴。

转向垂臂

该转向机构是一个四连杆机构,其转向连杆体通过皮特曼臂和惰轮臂连接到底盘,皮特曼臂体通过万向节连接到转向连杆,并通过旋转接头连接到底盘。驾驶员转向输入用于控制旋转接头的角度。在Chrono::Vehicle Pitman臂模板中,惰轮臂使用复合旋转球形接头建模
参考 ChPitmanArm and PitmanArm.
在这里插入图片描述
拓扑结构:
在这里插入图片描述
硬点:
在这里插入图片描述
具有PitmanArm转向机构规范的示例JSON文件如下:

{
  "Name":                       "HMMWV Pitman Arm Steering",
  "Type":                       "Steering",
  "Template":                   "PitmanArm",
 
  "Vehicle-Frame Inertia":      false,
 
  "Steering Link":
  {
    "Mass":                     3.681,
    "COM":                      [0.129, 0, 0],
    "Moments of Inertia":       [0.252, 0.00233, 0.254],
    "Products of Inertia":      [0, 0, 0],
    "Radius":                   0.03
  },
 
  "Pitman Arm":
  {
    "Mass":                     1.605,
    "COM":                      [0.064, 0.249, 0],
    "Moments of Inertia":       [0.00638, 0.00756, 0.00150],
    "Products of Inertia":      [0, 0, 0],
    "Radius":                   0.02
  },
 
  "Revolute Joint":
  {
    "Location":                 [0, 0.249, 0],
    "Direction":                [0, 0, 1],
    "Maximum Angle (deg)":      30
  },
 
  "Universal Joint":
  {
    "Location":                 [ 0.129, 0.249, 0],
    "Direction Arm":            [0, 0, 1],
    "Direction Link":           [1, 0, 0]
  },
 
  "Revolute-Spherical Joint":
  {
    "Location Chassis":         [0, -0.325, 0],
    "Location Link":            [0.129, -0.325, 0],
    "Direction":                [0, 0, 1]
  },
 
  "Tierod Locations":
  {
    "Pitman Side":              [0.195,  0.448, 0.035],
    "Idler Side":               [0.195, -0.448, 0.035]
  }
}
  • List item

齿条小齿轮

Chrono::Vehicle齿条齿轮转向模板是齿条齿轮转向机构的运动学模型,转向连杆体通过棱柱形接头连接到底盘上。齿条位移计算如下:
d = r ( α m a x s ) d = r (\alpha_{max} s) d=r(αmaxs)
式中: r 小齿轮半径, r 小齿轮半径, r小齿轮半径,\alpha_{max} 小齿轮最大角度,$s \in [-1,1]驾驶转向输入,该位移用于控制转向连杆的平移,
参考ChRackPinion RackPinion.
在这里插入图片描述
拓扑如下:
在这里插入图片描述
硬点:
在这里插入图片描述
具有RackPinion转向机构规格的示例JSON文件如下:

{
  "Name":                       "HMMWV Rack-Pinion Steering",
  "Type":                       "Steering",
  "Template":                   "RackPinion",
 
  "Steering Link":
  {
    "Mass":                     9.072,
    "COM":                      0,
    "Inertia":                  [1, 1, 1],
    "Radius":                   0.03,
    "Length":                   0.896
  },
 
  "Pinion":
  {
    "Radius":                   0.1,
    "Maximum Angle (deg)":      50
  }
}

旋转臂

旋转臂转向是一个绕轴旋转的简单杠杆臂。它适用于实心曲拐轴和实心趾杆轴。它经常被用作卡车、农用拖拉机和联合收割机的转向系统
参考ChRotaryArmRotaryArm.
在这里插入图片描述
拓扑:
在这里插入图片描述
硬点:
在这里插入图片描述
带有RotaryArm转向机构规格的示例JSON文件如下:

{
  "Name":                       "UAZBUS Rotary-Arm Steering",
  "Type":                       "Steering",
  "Template":                   "RotaryArm",
 
  "Pitman Arm":
  {
    "Mass":                     5.0,
    "Inertia":                  [0.00638, 0.00756, 0.00150],
    "Inertia Products":         [0, 0, 0],
    "Radius":                   0.03,
    "Axis of Rotation":         [0, 1, 0],           // arm-chassis revolute joint
    "Point of Rotation":        [0.6, 0.5325, 0.4],  // location of chassis connection
    "Point to Draglink":        [0.6, 0.5325, 0.2],  // location of draglink connection
    "Maximum Angle (deg)":      12.5
  }
  
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多物理场仿真 Chrono 转向机构 的相关文章

  • 格式说明符%02x

    我有一个简单的程序 include
  • 使用 ADAL v3 使用 ClientID 对 Dynamics 365 进行身份验证

    我正在尝试对我们的在线 Dynamics CRM 进行身份验证以使用可用的 API 我能找到的唯一关于执行此操作的官方文档是 https learn microsoft com en us dynamics365 customer enga
  • 捕获 .aspx 和 .ascx 页面中的异常

    问题说明了一切 请看以下示例代码 ul li li ul
  • EntityHydrate 任务失败

    我最近安装了 Visual Studio 11 Beta 和 Visual Studio 2010 之后 我无法在 Visual Studio 2010 中构建依赖于 PostSharp 的项目 因此我卸载了 Visual Studio 1
  • 在 C++ 代码中转换字符串

    我正在学习 C 并开发一个项目来练习 但现在我想在代码中转换一个变量 字符串 就像这样 用户有一个包含 C 代码的文件 但我希望我的程序读取该文件并插入将其写入代码中 如下所示 include
  • 在 Mono 中反序列化 JSON 数据

    使用 Monodroid 时 是否有一种简单的方法可以将简单的 JSON 字符串反序列化为 NET 对象 System Json 只提供序列化 不提供反序列化 我尝试过的各种第三方库都会导致 Mono Monodroid 出现问题 谢谢 f
  • Selenium - C# - Webdriver - 无法找到元素

    在 C 中使用 selenium 我试图打开浏览器 导航到 Google 并找到文本搜索字段 我尝试下面的 IWebDriver driver new InternetExplorerDriver C driver Navigate GoT
  • 2个对象,完全相同(除了命名空间)c#

    我正在使用第三方的一组网络服务 但遇到了一个小障碍 在我手动创建将每个属性从源复制到目标的方法之前 我想我应该在这里寻求更好的解决方案 我有 2 个对象 一个是 Customer CustomerParty 类型 另一个是 Appointm
  • 混合模型优先和代码优先

    我们使用模型优先方法创建了一个 Web 应用程序 一名新开发人员进入该项目 并使用代码优先方法 使用数据库文件 创建了一个新的自定义模型 这 这是代码第一个数据库上下文 namespace WVITDB DAL public class D
  • 为什么这个 makefile 在“make clean”上执行目标

    这是我当前的 makefile CXX g CXXFLAGS Wall O3 LDFLAGS TARGET testcpp SRCS main cpp object cpp foo cpp OBJS SRCS cpp o DEPS SRCS
  • Makefile 和 .Mak 文件 + CodeBlocks 和 VStudio

    我对整个 makefile 概念有点陌生 所以我对此有一些疑问 我正在 Linux 中使用 CodeBlocks 创建一个项目 我使用一个名为 cbp2mak 的工具从 CodeBlocks 项目创建一个 make 文件 如果有人知道更好的
  • if constexpr 中的 not-constexpr 变量 – clang 与 GCC

    struct A constexpr operator bool const return true int main auto f auto v if constexpr v A a f a clang 6 接受该代码 GCC 8 拒绝它
  • Unity手游触摸动作不扎实

    我的代码中有一种 错误 我只是找不到它发生的原因以及如何修复它 我是统一的初学者 甚至是统一的手机游戏的初学者 我使用触摸让玩家从一侧移动到另一侧 但问题是我希望玩家在手指从一侧滑动到另一侧时能够平滑移动 但我的代码还会将玩家移动到您点击的
  • Linux 上的 RTLD_LOCAL 和dynamic_cast

    我们有一个由应用程序中的一些共享库构成的插件 我们需要在应用程序运行时更新它 出于性能原因 我们在卸载旧插件之前加载并开始使用新插件 并且只有当所有线程都使用旧插件完成后 我们才卸载它 由于新插件和旧插件的库具有相同的符号 我们dlopen
  • 保证复制省略是否适用于函数参数?

    如果我理解正确的话 从 C 17 开始 这段代码现在要求不进行任何复制 Foo myfunc void return Foo auto foo myfunc no copy 函数参数也是如此吗 下面的代码中的副本会被优化掉吗 Foo myf
  • 在 azure blob 存储中就地创建 zip 文件

    我将文件存储在 Blob 存储帐户内的一个容器中 我需要在第二个容器中创建一个 zip 文件 其中包含第一个容器中的文件 我有一个使用辅助角色和 DotNetZip 工作的解决方案 但由于 zip 文件的大小最终可能达到 1GB 我担心在进
  • 以编程方式创建 Blob 存储容器

    我有一个要求 即在创建公司时 在我的 storageaccount 中创建关联的 blob 存储容器 并将容器名称设置为传入的字符串变量 我已尝试以下操作 public void AddCompanyStorage string subDo
  • 如何组合两个 lambda [重复]

    这个问题在这里已经有答案了 可能的重复 在 C 中组合两个 lambda 表达式 https stackoverflow com questions 1717444 combining two lamba expressions in c
  • Streamwriter 覆盖 txt 文件中的文本

    有没有什么方法可以重新打开流写入器而不创建新的写入对象 因为此时 当调用 WriteOdd 时 streamwriter 正在覆盖在它之前调用的 WriteEven public void WriteEven StreamWriter wr
  • 如果找不到指定的图像文件,显示默认图像的最佳方式?

    我有一个普通的电子商务应用程序 我将 ITEM IMAGE NAME 存储在数据库中 有时经理会拼错图像名称 为了避免 丢失图像 IE 中的红色 X 每次显示产品列表时 我都会检查服务器中是否有与该产品相关的图像 如果该文件不存在 我会将其

随机推荐