# agent_develop **Repository Path**: freewind201301/agent_develop ## Basic Information - **Project Name**: agent_develop - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-03 - **Last Updated**: 2026-01-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 卫星工程计算工具集 本项目包含多个卫星工程相关的计算工具,涵盖链路余量分析、质心计算、推力器干扰力矩分析等功能。 ## 项目结构 ``` ├── README.md # 项目说明文档 ├── link_margin.py # 链路余量计算工具 ├── center_of_mass.py # 质心计算工具 ├── thruster_disturbance.py # 推力器干扰力矩分析工具 ├── inertia_conversion.py # 惯性矩转换工具 ├── 490精测数据.csv # 精测镜测量数据 ├── 热标值数据.csv # 热标定参数数据 ├── 变轨过程质心数据.csv # 变轨过程质心位置数据 ├── 质心计算数据.csv # 质心计算输入数据 └── inertia_data.csv # 惯性矩计算输入示例数据 ``` ## 功能模块 ### 1. 链路余量计算 (link_margin.py) **功能描述**:计算卫星通信链路的余量,评估通信质量。 **主要计算**: - 空间传播损耗计算 - 链路C/N0(载噪比)计算 - 链路Eb/N0(能量噪声密度比)计算 - 链路余量分析 **输入参数**: - `operating_frequency_ghz`:工作频率 (GHz) - `ground_terminal_eirp_dbw`:地面终端EIRP (dBW) - `propagation_distance_km`:传播距离 (km) - `rain_attenuation_db`:降雨衰减 (dB) - `satellite_receiver_g_over_t_db_per_k`:卫星接收机G/T值 (dB/K) - `information_rate_kbps`:信息速率 (kbps) - `demodulation_threshold_eb_over_n0_db`:解调门限Eb/N0 (dB) **输出结果**: - 链路余量 (dB) ### 2. 质心计算 (center_of_mass.py) **功能描述**:计算卫星系统的总质量和质心位置。 **主要计算**: - 质量贡献计算(增项为正,减项为负) - 总质量计算 - 三维质心坐标计算 - 各方向力矩计算 **数据来源**: - 从`质心计算数据.csv`读取各组件的质量和位置信息 - 支持增项和减项的质量计算 **输出结果**: - 总质量 (g) - 质心坐标 (X, Y, Z) - 各方向力矩 (g·mm) ### 3. 推力器干扰力矩分析 (thruster_disturbance.py) **功能描述**:分析推力器产生的干扰力和干扰力矩,评估对卫星姿态控制的影响。 **主要计算**: - 推力器干扰力计算 - 推力器作用点位置计算 - 相对各变轨阶段质心的干扰力矩计算 - 总干扰力矩分析 **数据来源**: - `490精测数据.csv`:精测镜测量数据 - `热标值数据.csv`:热标定参数(α₄₉₀, β₄₉₀, γ₄₉₀, σ₄₉₀) - `变轨过程质心数据.csv`:各变轨阶段质心位置 **计算原理**: - 力矩计算:**M = r × F**(力臂叉乘力) - 坐标变换:基于旋转矩阵的坐标系转换 **输出结果**: - 推力器干扰力分量 (Fx, Fy, Fz) - 推力器作用点位置 (Px, Py, Pz) - 各变轨阶段干扰力矩 (Mx, My, Mz) - 总干扰力矩及幅值 ### 4. 惯性矩转换 (inertia_conversion.py) **功能描述**:将局部坐标系下的惯性矩和惯性积转换为卫星坐标系,同时考虑旋转和平移变换。 **主要计算**: - 旋转矩阵计算(基于R_x, R_y, R_z旋转角) - 惯性张量旋转变换:I_rotated = R * I_local * R^T - 平移变换(平行轴定理):I_satellite = I_rotated + m * d^2 - 完整的坐标系转换(旋转+平移) **数据来源**: - CSV文件包含设备的质量、质心位置、旋转角度和局部惯性矩/惯性积 **输入数据格式**: ``` device_name,mass,center_x,center_y,center_z,R_x,R_y,R_z,inertia_xx,inertia_yy,inertia_zz,inertia_xy,inertia_xz,inertia_yz x31303,88,340,1230,440,45,60,-20,1000,1000,1000,0,0,0 ``` **计算原理**: - **旋转矩阵**:按照提供的公式计算3D旋转矩阵 - **惯性张量旋转**:I_1 = R_12 * I_2 * R_12^T - **平行轴定理**:I = I_c + m * d^2(转动惯量) - **惯性积平移**:I_xy = I_c,xy - m * x_c * y_c **输出结果**: - 旋转后的惯性矩和惯性积 - 最终卫星坐标系下的惯性矩和惯性积(旋转+平移) - 详细的转换过程结果 ## 数据文件说明 ### CSV文件格式 #### 490精测数据.csv ``` 项目,整星X轴,整星Y轴,整星Z轴 精测镜Z轴,3.9567,86.0552,89.9688 精测镜Y轴,86.0434,176.055,89.9694 精测镜-X轴,89.9667,90.0283,179.956 精测镜中心,0.1958,0.0373,-642.6 ``` #### 热标值数据.csv ``` 参数,490N α₄₉₀,0.1 β₄₉₀,154.0 γ₄₉₀,183.0 σ₄₉₀,0.48 ``` #### 变轨过程质心数据.csv ``` 项目,整星X轴,整星Y轴,整星Z轴 发射,7.8,-4.5,2150 第一次变轨,6.5,-2.3,2200 ``` #### 质心计算数据.csv ``` 项目/操作,质量(g),参数1(X),参数2(Y),参数3(Z),参数4 初始数据,3428.13,18.67,-5.65,2819.44,增项 安装热控多层、高温隔热屏、辅料,15.88,0.00,0.00,2500,增项 安装配重块1,8.33,-1110.00,176.00,0.00,增项 安装配重块2,8.33,-1110.00,-176.00,0.00,增项 安装配重块3,8.33,-1110.00,336.00,0.00,增项 拆除项目,12.00,0.00,0.00,2500.00,减项 ``` #### inertia_data.csv(示例格式) ``` device_name,mass,center_x,center_y,center_z,R_x,R_y,R_z,inertia_xx,inertia_yy,inertia_zz,inertia_xy,inertia_xz,inertia_yz x31303,88,340,1230,440,45,60,-20,1000,1000,1000,0,0,0 ``` **字段说明**: - `device_name`: 设备名称 - `mass`: 质量(kg) - `center_x,y,z`: 局部坐标系下质心位置(mm) - `R_x,y,z`: 旋转角度(度),分别绕X、Y、Z轴 - `inertia_xx,yy,zz`: 局部坐标系下转动惯量 - `inertia_xy,xz,yz`: 局部坐标系下惯性积 ## 使用方法 ### 环境要求 - Python 3.7+ - pandas - math - csv ### 运行步骤 1. **链路余量计算** ```bash python link_margin.py ``` 2. **质心计算** ```bash python center_of_mass.py ``` 3. **推力器干扰力矩分析** ```bash python thruster_disturbance.py ``` 4. **惯性矩转换** ```bash python inertia_conversion.py ``` - 程序会自动检查`inertia_data.csv`文件 - 如果不存在,会创建示例数据文件 - 转换结果保存为`converted_inertia.csv` ### 注意事项 1. **数据文件准备**:确保所有CSV文件位于同一目录下 2. **参数设置**:根据实际工程需求调整默认参数值 3. **单位统一**:注意各物理量的单位一致性 4. **异常处理**:程序包含完整的错误处理机制 ## 计算公式 ### 链路余量计算 - **空间传播损耗**:Ls = -20*log₁₀(4π*d*f/c) - **链路C/N0**:C/N0 = EIRP + Ls + Ar + G/T + 228.6 - **链路Eb/N0**:Eb/N0 = C/N0 - 10*log₁₀(R) - **链路余量**:Margin = Eb/N0 - Eb/N0_threshold ### 质心计算 - **总质量**:M_total = Σ(m_i * s_i) - **质心坐标**:r_cm = Σ(m_i * r_i) / M_total - **力矩**:M = Σ(m_i * r_i) ### 干扰力矩计算 - **力矩**:**M = r × F** - **分量形式**: - Mx = ry*Fz - rz*Fy - My = rz*Fx - rx*Fz - Mz = rx*Fy - ry*Fx ### 惯性矩转换 - **旋转矩阵**: ``` R = [[cosα*cosβ, cosα*sinβ*sinγ-cosγ*sinα, sinα*sinγ+cosα*cosγ*sinβ], [cosβ*sinα, cosα*cosγ+sinα*sinβ*sinγ, cosγ*sinα*sinβ-cosα*sinγ], [-sinβ, cosβ*sinγ, cosβ*cosγ]] ``` - **惯性张量旋转**:I_1 = R_12 * I_2 * R_12^T - **平行轴定理**:I = I_c + m * d^2 - **惯性积平移**:I_xy = I_c,xy - m * x_c * y_c ## 工程应用 本工具集适用于: - 卫星通信系统设计 - 卫星姿态控制分析 - 卫星质量特性分析 - 推力器系统评估 - 轨道机动分析 - 惯性特性坐标系转换 ## 输出示例 ### 链路余量计算结果 ``` 链路余量: 3.45 dB ``` ### 质心计算结果 ``` 总质量: 3447.00 g 质心坐标: X: 12.34 Y: -8.76 Z: 2156.78 ``` ### 推力器干扰力矩分析结果 ``` 推力器干扰力: Fx = 12.345678 N, Fy = -23.456789 N, Fz = 34.567890 N 推力器作用点: Px = 516.500000 mm, Py = 152.400000 mm, Pz = -642.600000 mm 发射阶段: 质心位置: X = 7.8 mm, Y = -4.5 mm, Z = 2150.0 mm 干扰力矩: Mx = 45678.123456 N·mm, My = -56789.234567 N·mm, Mz = 67890.345678 N·mm 力矩幅值: |M| = 87654.456789 N·mm 第一次变轨阶段: 质心位置: X = 6.5 mm, Y = -2.3 mm, Z = 2200.0 mm 干扰力矩: Mx = 43210.987654 N·mm, My = -54321.098765 N·mm, Mz = 65432.109876 N·mm 力矩幅值: |M| = 86543.210987 N·mm 总干扰力矩 总力矩分量: Mx = 88889.111110 N·mm, My = -111110.333332 N·mm, Mz = 133322.455554 N·mm 总力矩幅值: |M_total| = 174197.666776 N·mm ``` ### 惯性矩转换结果 ``` 设备名称: x31303 质量: 88.00 kg 局部坐标质心: (340.00, 1230.00, 440.00) 旋转角度: Rx=45.0°, Ry=60.0°, Rz=-20.0° 局部坐标系转动惯量: Ixx = 1000.00 Iyy = 1000.00 Izz = 1000.00 旋转后坐标系转动惯量: Ixx = 1000.00 Iyy = 1000.00 Izz = 1000.00 卫星坐标系转动惯量(旋转+平移): Ixx = 1545.68 Iyy = 1173.84 Izz = 1676.48 局部坐标系惯性积: Ixy = 0.00 Ixz = 0.00 Iyz = 0.00 旋转后坐标系惯性积: Ixy = 0.00 Ixz = 0.00 Iyz = 0.00 卫星坐标系惯性积(旋转+平移): Ixy = -42.59 Ixz = -14.92 Iyz = -38.31 ``` ## 版本信息 - **版本**:1.1.0 - **更新日期**:2025-12-03 - **作者**:卫星工程团队 - **更新内容**:添加惯性矩转换功能,支持旋转和平移变换 ## 许可证 本项目采用内部使用许可证,仅供卫星工程项目使用。