74 lines
3.9 KiB
MySQL
74 lines
3.9 KiB
MySQL
|
|
-- 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;
|