webots - Vehicle modelisation on WeBots
问题描述
I would like to know how the vehicle's objects are modeled in WeBots and its dynamics equations. I know that two types of control can be used: using cruising speed, with targets a final velocity but with a constant acceleration (proportional to the time0to100 value in the PROTO file), and using the throttle which controls the torque of the vehicle.
Since I want to control the vehicle with a controller at high frequencies, the only option to realistically emulate a real vehicle is the torque control. But to predict the behavior of the vehicle in this case I need to know how the torque is calculated, the transmission equations and the how all of this is implemented with ODE. I read the Car and Driver library pages and both of then had some details and descriptions about how the system works, but these explanations wasn't detailed enough. I would also like to understand how the interaction between tires and asphalt is modeled.
Thanks,
解决方案
扭矩控制确实是最现实的选择。
关于方程,这里详细描述了各种发动机模型:https ://www.cyberbotics.com/doc/automobile/driver-library#engine-models
此外,变速箱和阿克曼机构用于将扭矩从电机转换/传输到两轮/四轮,这没有记录,但代码可在此处访问(部分特定于车辆): https://github。 com/omichel/webots/blob/master/projects/default/libraries/vehicle/c/driver/src/driver.c#
特别是引擎模型+传输在这里实现: https ://github.com/omichel/webots/blob/master/projects/default/libraries/vehicle/c/driver/src/driver.c#L126
然后在 2/4wheels 之间拆分: https ://github.com/omichel/webots/blob/master/projects/default/libraries/vehicle/c/driver/src/driver.c#L299
关于轮胎和沥青之间的相互作用,这被定义为 Webots 中的常规接触属性(然后用于创建 ODE 接触接头:http ://ode.org/wiki/index.php?title=Manual#Contact ):
推荐阅读
- macros - 打开方式(所选文件),按 1 键(键盘或鼠标)
- python - 抽 5 张牌获得 3 个同类的概率
- google-apps-script - 用于将数据范围复制到同一工作表中的另一个位置的 Google Apps 脚本功能
- go - golang离线安装第三方包
- java - 使用 MapNeat 重命名列表中的 JSON 对象
- javascript - 为什么我的 api 请求返回一个空对象?
- java - 应用程序、进程和Java虚拟机之间的对应关系是什么?
- typescript - 尝试创建产品过滤器时出现 TypeScript 错误
- ios - 如何在 UIalertController 中添加图像作为标题?
- python - Python ijson - 解析错误:尾随垃圾 // bz2.decompress()