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 EdgeArmMoveLVO extends EdgeCommonVO {

    @ApiModelProperty(value = "X轴坐标（单位：米）", required = true)
    private double x;

    @ApiModelProperty(value = "Y轴坐标（单位：米）", required = true)
    private double y;

    @ApiModelProperty(value = "Z轴坐标（单位：米）", required = true)
    private double z;

    @ApiModelProperty(value = "RX旋转角度（单位：弧度）", required = true)
    private double rx;

    @ApiModelProperty(value = "RY旋转角度（单位：弧度）", required = true)
    private double ry;

    @ApiModelProperty(value = "RZ旋转角度（单位：弧度）", required = true)
    private double rz;

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

    @ApiModelProperty("运动速度（单位：m/s）")
    private Double velocity;

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

    @ApiModelProperty("融合半径（单位：m）")
    private Double blendRadius;
}
