dynamixel
Version:
Node.js library for controlling DYNAMIXEL servo motors via U2D2 interface with Protocol 2.0 support
77 lines (76 loc) • 2.08 kB
TypeScript
/**
* Motor Profile System for DYNAMIXEL devices
* Provides predefined configurations for different motor models and use cases
* Inspired by DynaNode's MotorProfile architecture
*/
export class MotorProfiles {
profiles: Map<any, any>;
customProfiles: Map<any, any>;
initializeDefaultProfiles(): void;
addRobotArmProfile(): void;
addWheelRobotProfile(): void;
addGripperProfile(): void;
/**
* Get profile for a motor model
*/
getProfile(modelName: any): any;
/**
* Get recommended settings for a motor model and use case
*/
getRecommendedSettings(modelName: any, useCase?: string): any;
/**
* Create a custom profile
*/
createCustomProfile(name: any, profileData: any): void;
/**
* Get all available profiles
*/
getAllProfiles(): Map<any, any>;
/**
* Get profiles by motor series
*/
getProfilesBySeries(series: any): any[];
/**
* Get application profiles
*/
getApplicationProfiles(): any[];
/**
* Validate profile compatibility
*/
validateProfile(motorModel: any, profileSettings: any): {
valid: boolean;
errors: string[];
warnings?: undefined;
} | {
valid: boolean;
errors: string[];
warnings: never[];
};
/**
* Convert RPM to velocity units for a specific motor
*/
rpmToVelocityUnits(rpm: any, profile: any): number;
/**
* Get optimal settings for multi-motor synchronization
*/
getSynchronizationSettings(motorModels: any): {
recommendedVelocity: number;
returnDelay: number;
statusReturnLevel: number;
recommendedUpdateRate: number;
} | null;
/**
* Export profile as JSON
*/
exportProfile(profileName: any): string | null;
/**
* Import profile from JSON
*/
importProfile(name: any, jsonData: any): {
success: boolean;
error?: undefined;
} | {
success: boolean;
error: any;
};
}