#pragma once #ifdef __cplusplus extern "C" { #endif /* Includes ----------------------------------------------------------------- */ #include #include #include /** * @brief 串联腿参数结构体 */ typedef struct { float thigh_length; // 大腿长度 float calf_length; // 小腿长度 } KIN_SerialLeg_Param_t; // ← 补上分号 /** * @brief 串联腿单腿转摆动杆正运动学 * @param param 腿部长度参数 * @param hip_angle 髋关节角度(弧度) * @param knee_angle 膝关节角度(弧度) * @param angle 计算到的等效摆动杆角度 * @param height 计算到的等效摆动杆高度 * @return 0:成功, -1:失败 */ int8_t KIN_SerialLeg_FK(const KIN_SerialLeg_Param_t *param, const float *hip_angle, const float *knee_angle, float *angle, float *height); /** * @brief 串联腿单腿转摆动杆逆运动学 * @param param 腿部长度参数 * @param angle 输入的等效摆动杆角度 * @param height 输入的等效摆动杆高度 * @param hip_angle 计算到的髋关节角度(弧度) * @param knee_angle 计算到的膝关节角度(弧度) * @return 0:成功, -1:失败 */ int8_t KIN_SerialLeg_IK(const KIN_SerialLeg_Param_t *param, const float *angle, const float *height, float *hip_angle, float *knee_angle); #ifdef __cplusplus } #endif