Sync LMS backend source

This commit is contained in:
2026-07-07 16:09:12 +09:00
commit 5a2ecd0fea
126 changed files with 22959 additions and 0 deletions
@@ -0,0 +1,44 @@
ALTER TABLE "platforms"
ADD COLUMN "vehicle_type" TEXT NOT NULL DEFAULT 'MK-mini',
ADD COLUMN "wheelbase_meters" DECIMAL(6, 3) NOT NULL DEFAULT 0.325,
ADD COLUMN "max_speed_meters_per_second" DECIMAL(6, 2) NOT NULL DEFAULT 7.0,
ADD COLUMN "max_steering_angle_degrees" DECIMAL(6, 2) NOT NULL DEFAULT 30,
ADD COLUMN "sensors" JSONB NOT NULL DEFAULT '[]',
ADD COLUMN "drivers" JSONB NOT NULL DEFAULT '[]',
ADD COLUMN "algorithms" JSONB NOT NULL DEFAULT '{}',
ADD COLUMN "control_duration_minutes" INTEGER NOT NULL DEFAULT 30,
ADD COLUMN "control_warning_minutes" INTEGER NOT NULL DEFAULT 5;
ALTER TABLE "instructor_platforms"
ADD COLUMN "vehicle_type" TEXT NOT NULL DEFAULT 'MK-mini',
ADD COLUMN "wheelbase_meters" DECIMAL(6, 3) NOT NULL DEFAULT 0.325,
ADD COLUMN "max_speed_meters_per_second" DECIMAL(6, 2) NOT NULL DEFAULT 7.0,
ADD COLUMN "max_steering_angle_degrees" DECIMAL(6, 2) NOT NULL DEFAULT 30,
ADD COLUMN "sensors" JSONB NOT NULL DEFAULT '[]',
ADD COLUMN "drivers" JSONB NOT NULL DEFAULT '[]',
ADD COLUMN "algorithms" JSONB NOT NULL DEFAULT '{}';
UPDATE "platforms"
SET
"vehicle_type" = CASE
WHEN "display_name" ILIKE '%F1Tenth%' THEN 'F1tenth'
WHEN "display_name" ILIKE '%시뮬%' OR "display_name" ILIKE '%Simulator%' THEN 'Simulator'
ELSE 'MK-mini'
END,
"sensors" = '[{"title":"LiDAR","description":"Robosense Helios 16채널"},{"title":"RGB-D 카메라","description":"Intel Realsense D435"},{"title":"IMU 센서","description":"9축 관성측정장치"}]'::jsonb,
"drivers" = '[{"title":"LiDAR 드라이버","description":"robosense_driver v1.5.0"},{"title":"Camera 드라이버","description":"realsense2_camera v4.55.1"},{"title":"IMU 드라이버","description":"xsens_driver v2.2.0"}]'::jsonb,
"algorithms" = '{"slam":"Cartographer","planning":"A* + DWA","control":"PID Control"}'::jsonb;
UPDATE "instructor_platforms" AS ip
SET
"vehicle_type" = p."vehicle_type",
"wheelbase_meters" = p."wheelbase_meters",
"max_speed_meters_per_second" = p."max_speed_meters_per_second",
"max_steering_angle_degrees" = p."max_steering_angle_degrees",
"sensors" = p."sensors",
"drivers" = p."drivers",
"algorithms" = p."algorithms",
"control_duration_minutes" = p."control_duration_minutes",
"control_warning_minutes" = p."control_warning_minutes"
FROM "platforms" AS p
WHERE p."id" = ip."platform_id";