CMVR-IOT/sql/vision_calibration.sql

74 lines
3.9 KiB
MySQL
Raw Normal View History

-- Visual hand-eye and tool TCP calibration profiles. Apply once before using the management page.
CREATE TABLE IF NOT EXISTS `te_vision_calibration_profile` (
`id` varchar(32) NOT NULL,
`profile_type` varchar(20) NOT NULL COMMENT 'HAND_EYE or TOOL_TCP',
`profile_key` varchar(100) NOT NULL COMMENT 'Stable logical key used by workflows',
`profile_name` varchar(100) NOT NULL,
`version_no` int NOT NULL DEFAULT 1,
`robot_id` varchar(128) NOT NULL,
`arm_device_id` varchar(128) NOT NULL,
`camera_device_id` varchar(128) DEFAULT NULL,
`tool_code` varchar(100) DEFAULT NULL,
`status` varchar(20) NOT NULL DEFAULT 'DRAFT' COMMENT 'DRAFT, ACTIVE, INVALID',
`forced_enabled` tinyint(1) NOT NULL DEFAULT 0,
`raw_matrix_json` text NOT NULL,
`correction_json` varchar(500) DEFAULT NULL COMMENT 'x/y/z mm and rx/ry/rz degree correction',
`effective_matrix_json` text NOT NULL,
`mean_error_mm` decimal(10,4) DEFAULT NULL,
`max_error_mm` decimal(10,4) DEFAULT NULL,
`sample_count` int NOT NULL DEFAULT 0,
`metadata_json` text DEFAULT NULL,
`verified_time` datetime DEFAULT NULL,
`create_by` varchar(64) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`update_by` varchar(64) DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
`remark` varchar(500) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_vision_profile_version` (`profile_key`, `version_no`),
KEY `idx_vision_profile_devices` (`profile_type`, `robot_id`, `arm_device_id`, `camera_device_id`),
KEY `idx_vision_profile_tool` (`profile_type`, `robot_id`, `arm_device_id`, `tool_code`),
KEY `idx_vision_profile_active` (`profile_key`, `status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Visual calibration profile versions';
CREATE TABLE IF NOT EXISTS `te_vision_calibration_record` (
`id` varchar(32) NOT NULL,
`profile_id` varchar(32) DEFAULT NULL,
`session_type` varchar(30) NOT NULL COMMENT 'HAND_EYE, HAND_EYE_VERIFY, TOOL_TCP',
`robot_id` varchar(128) NOT NULL,
`arm_device_id` varchar(128) NOT NULL,
`camera_device_id` varchar(128) DEFAULT NULL,
`tool_code` varchar(100) DEFAULT NULL,
`status` varchar(20) NOT NULL COMMENT 'RUNNING, COMPLETED, FAILED, CANCELLED',
`progress_step` int NOT NULL DEFAULT 0,
`total_steps` int NOT NULL DEFAULT 0,
`samples_json` longtext DEFAULT NULL,
`result_json` longtext DEFAULT NULL,
`error_message` varchar(1000) DEFAULT NULL,
`started_time` datetime DEFAULT NULL,
`finished_time` datetime DEFAULT NULL,
`create_by` varchar(64) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`update_by` varchar(64) DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
`remark` varchar(500) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx_vision_record_profile` (`profile_id`),
KEY `idx_vision_record_devices` (`robot_id`, `arm_device_id`, `camera_device_id`),
KEY `idx_vision_record_status` (`status`, `started_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Visual calibration execution and verification records';
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query, route_name,
is_frame, is_cache, menu_type, visible, status, perms, icon,
create_by, create_time, update_by, update_time, remark)
VALUES
(2205, '视觉标定管理', 2200, 5, 'vision-calibration', 'resource/visionCalibration/index', '', 'VisionCalibration',
1, 0, 'C', '0', '0', '', 'aim', 'admin', NOW(), '', NULL, '机器人手眼标定与工具TCP管理')
ON DUPLICATE KEY UPDATE menu_name=VALUES(menu_name), parent_id=VALUES(parent_id), order_num=VALUES(order_num),
path=VALUES(path), component=VALUES(component), route_name=VALUES(route_name), visible=VALUES(visible),
status=VALUES(status), perms=VALUES(perms), update_by='admin', update_time=NOW(), remark=VALUES(remark);
-- Calibration management is available to every application role by product requirement.
INSERT IGNORE INTO sys_role_menu(role_id, menu_id)
SELECT role_id, 2205 FROM sys_role;