# PID SMC LQR 控制算法对比 **Repository Path**: ibst/pid-smc-lqr ## Basic Information - **Project Name**: PID SMC LQR 控制算法对比 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-31 - **Last Updated**: 2025-10-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: PID, SMC, Control, LQR, Robot ## README # PID-SMC-LQR 控制器比较研究 本项目研究了三种不同控制策略(PID、SMC和LQR)在轮腿机器人上的性能表现。项目包含多个迭代版本,逐步增加了系统复杂度和测试场景。 ## 主要功能 - 实现了三种控制器:PID、SMC和LQR - 支持多种轨迹跟踪(圆形、8字形、螺旋形、激进轨迹) - 包含鲁棒性测试,评估不同干扰类型下的性能 - 提供3D轨迹可视化和性能对比图表 - 新增轮腿机器人动力学模型和地面力计算 ## 核心模块 - `WheeledLegRobot`:轮腿机器人模型,包含动力学方程和干扰生成 - `PID/SMC/LQRController`:三种控制器实现,各有不同的控制策略 - `simulate_controller`系列函数:用于运行仿真测试 - `desired_trajectory`系列函数:定义不同的期望轨迹 - `plot_robustness_comparison`:生成性能对比可视化 ## 使用方法 1. 安装依赖库(如numpy, matplotlib, scipy) 2. 运行main函数执行仿真测试 3. 使用可视化函数查看轨迹和性能对比 ## 应用场景 - 机器人控制算法研究 - 控制系统性能比较 - 非线性系统建模与仿真 - 移动机器人轨迹跟踪 ## 项目演进 项目从简单的PID控制开始,逐步增加了: - 多种轨迹类型 - 不同干扰模型 - 轮腿动力学特性 - 更全面的性能评估指标 ## 结果分析 通过比较不同控制器在相同条件下的表现,可以得出: - PID控制器的简单易用性与局限性 - SMC控制器的鲁棒性优势 - LQR控制器的最优控制特性 ## 文件说明 - 1.py 到 6.py:不同迭代版本的实现代码 - simple_test*.png:示例测试结果图示 ![输入图片说明](simple_test.png) ![输入图片说明](simple_test_1.png) ![输入图片说明](simple_test_2.png) ![输入图片说明](simple_test_3.png) 注意:具体使用时应查看各文件注释和文档字符串以获取详细信息。