Vector新能源汽车解决方案:引领E-Mobility开发新时代

需积分: 9 0 下载量 158 浏览量 更新于2024-07-09 收藏 5.22MB PDF 举报
"Vector提供的新能源领域全方位解决方案,涵盖了电动汽车(E-Mobility)的开发挑战、效率、充电时间、热管理、电池寿命、互操作性、电气/电子(E/E)复杂性、功能复杂性以及高电压安全测量等多个方面。该方案旨在解决在电动车开发中的各种难题,提供包括PREEvision和CANdelaStudio在内的工具链支持,用于系统设计、需求管理、模型建立、测试等关键环节。" 在新能源汽车,特别是电动汽车(E-Mobility)领域,开发过程中面临诸多挑战。这些挑战包括提高充电效率以缩短充电时间,有效进行热管理以延长电池寿命,确保车辆与不同充电设施之间的互操作性,以及应对日益复杂的电气和电子系统结构。此外,由于涉及到高压安全,准确的测量和模型构建显得至关重要。 Vector的E-Mobility解决方案旨在为这些挑战提供全面的应对策略。他们提供的工具链涵盖了从需求导入和评估到软件组件测试和系统集成测试的整个开发过程。其中,PREEvision作为E/E工程解决方案,能够处理以下任务: 1. 需求管理:支持需求导入和评估,将需求与软件组件(SWCs)映射,生成需求文档,并进行需求跟踪。 2. 项目规划与跟踪:集成的项目计划和跟踪工具确保开发流程的高效运行。 3. 变更管理:集成的变更管理系统可以确保在整个开发过程中对变更进行有效控制。 4. 特性模型与解决器:用于基于特性的产品衍生,适应产品多样性。 5. 测试数据管理:集中管理测试数据,提升测试效率。 6. 基于需求的测试:包括功能测试、组件测试、集成测试和系统测试,确保软件质量。 另外,CANdelaStudio工具可能用于系统设计阶段,帮助工程师定义和管理通信网络,确保车辆内部各个ECU(电子控制单元)之间数据传输的准确性和可靠性。 Vector的解决方案提供了一个全面的工具链,覆盖了新能源汽车开发的各个环节,从早期的需求分析到后期的测试验证,有助于提升开发效率,降低风险,确保产品的质量和安全性。通过这样的工具链,工程师可以更有效地应对新能源汽车开发中的复杂性和挑战。

解释这段代码static void chassis_control_loop(chassis_move_t *chassis_move_control_loop) { fp32 max_vector = 0.0f, vector_rate = 0.0f; fp32 temp = 0.0f; fp32 wheel_speed[4] = {0.0f, 0.0f, 0.0f, 0.0f}; uint8_t i = 0; float position_error, speed_error; float position_output, speed_output; float current_position, current_speed; float target_position, target_speed; chassis_move_control_loop->vx_set=vx_set; chassis_move_control_loop->vy_set=vy_set; chassis_move_control_loop->wz_set=angle_set; chassis_vector_to_mecanum_wheel_speed(chassis_move_control_loop->vx_set, chassis_move_control_loop->vy_set, chassis_move_control_loop->wz_set, wheel_speed); if (chassis_move_control_loop->chassis_mode == CHASSIS_VECTOR_RAW) { for (i = 0; i < 4; i++) { chassis_move_control_loop->motor_chassis[i].give_current = (int16_t)(wheel_speed[i]); } } for (i = 0; i < 4; i++) { chassis_move_control_loop->motor_chassis[i].speed_set = wheel_speed[i]; temp = fabs(chassis_move_control_loop->motor_chassis[i].speed_set); if (max_vector < temp) { max_vector = temp; } } if (max_vector > MAX_WHEEL_SPEED) { vector_rate = MAX_WHEEL_SPEED / max_vector; for (i = 0; i < 4; i++) { chassis_move_control_loop->motor_chassis[i].speed_set *= vector_rate; } } for (i = 0; i < 4; i++) { PID_Calc(&chassis_move_control_loop->motor_speed_pid[i], chassis_move_control_loop->motor_chassis[i].speed, chassis_move_control_loop->motor_chassis[i].speed_set); } for (i = 0; i < 4; i++) { chassis_move_control_loop->motor_chassis[i].give_current = (int16_t)(chassis_move_control_loop->motor_speed_pid[i].out); } }

2023-03-26 上传