package com.cmvr.edge.client.model.arm;

import com.cmvr.edge.client.model.EdgeCommonVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 机械臂笛卡尔速度控制VO
 *
 * @author cmvr-iot
 * @since 2026-07-01
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("机械臂笛卡尔速度控制参数")
public class EdgeArmSpeedLVO extends EdgeCommonVO {

    @ApiModelProperty(value = "X轴速度（单位：m/s）", required = true)
    private double vx;

    @ApiModelProperty(value = "Y轴速度（单位：m/s）", required = true)
    private double vy;

    @ApiModelProperty(value = "Z轴速度（单位：m/s）", required = true)
    private double vz;

    @ApiModelProperty(value = "RX角速度（单位：rad/s）", required = true)
    private double wx;

    @ApiModelProperty(value = "RY角速度（单位：rad/s）", required = true)
    private double wy;

    @ApiModelProperty(value = "RZ角速度（单位：rad/s）", required = true)
    private double wz;

    @ApiModelProperty("坐标系类型（BASE/TOOL/WORLD/USER）")
    private String frame;

    @ApiModelProperty("加速度（单位：m/s²）")
    private Double acceleration;

    @ApiModelProperty("持续时间（单位：秒）")
    private Double duration;
}
