add commits..
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
UPDATE "course_environment_profiles"
|
||||
SET "config" = replace(
|
||||
replace(
|
||||
replace(
|
||||
"config"::text,
|
||||
'nav2-slam:humble',
|
||||
'future-nav2-gazebo:humble'
|
||||
),
|
||||
'runtime-images/nav2/humble/latest/nav2-slam-humble.tar.zst',
|
||||
'runtime-images/nav2/gazebo/latest/future-nav2-gazebo-humble.tar.zst'
|
||||
),
|
||||
'nav2-slam-humble.tar.zst',
|
||||
'future-nav2-gazebo-humble.tar.zst'
|
||||
)::jsonb
|
||||
WHERE "config"::text LIKE '%nav2-slam:humble%'
|
||||
OR "config"::text LIKE '%nav2-slam-humble.tar.zst%';
|
||||
@@ -0,0 +1,17 @@
|
||||
UPDATE "course_week_modules" AS module
|
||||
SET "prebuilt_artifacts" = (
|
||||
SELECT jsonb_agg(
|
||||
CASE
|
||||
WHEN artifact->>'fileName' = 'lms-nav2-gazebo-simulator-build-install.tar.zst'
|
||||
OR artifact->>'url' LIKE '%/lms-nav2-gazebo-simulator-build-install.tar.zst'
|
||||
THEN jsonb_set(
|
||||
artifact,
|
||||
'{checksumSha256}',
|
||||
to_jsonb('8432100a17d85047ab4ac79445d5eacf236ccc79a785db61d14270104af270b7'::text)
|
||||
)
|
||||
ELSE artifact
|
||||
END
|
||||
)
|
||||
FROM jsonb_array_elements(module."prebuilt_artifacts") AS artifact
|
||||
)
|
||||
WHERE module."folder_name" = '[lms-nav2-gazebo-simulator]nav2-simulator_v1.0.0_ws';
|
||||
@@ -0,0 +1,18 @@
|
||||
-- The NAV2 viewer expects the unified slam-ros-bridge API
|
||||
-- (/state, /ws/state and /ws/control). The older nav2-ros-bridge context
|
||||
-- does not expose those endpoints, so remove that override from every
|
||||
-- local NAV2 course environment profile.
|
||||
UPDATE "course_environment_profiles"
|
||||
SET
|
||||
"config" = jsonb_set(
|
||||
("config"::jsonb #- '{bridge,buildContext}'),
|
||||
'{bridge,image}',
|
||||
'"slam-ros-bridge:latest"'::jsonb,
|
||||
true
|
||||
),
|
||||
"updated_at" = CURRENT_TIMESTAMP
|
||||
WHERE "platform_key" = 'NAV2'
|
||||
AND (
|
||||
"config"::jsonb #>> '{bridge,buildContext}' = 'resources/nav2-ros-bridge'
|
||||
OR "config"::jsonb #>> '{bridge,image}' = 'nav2-ros-bridge'
|
||||
);
|
||||
@@ -0,0 +1,27 @@
|
||||
UPDATE "course_week_modules" AS module
|
||||
SET "prebuilt_artifacts" = (
|
||||
SELECT jsonb_agg(
|
||||
CASE
|
||||
WHEN artifact->>'fileName' = 'lms-nav2-gazebo-planning-build-install.tar.zst'
|
||||
OR artifact->>'url' LIKE '%/lms-nav2-gazebo-planning-build-install.tar.zst'
|
||||
THEN jsonb_set(
|
||||
artifact,
|
||||
'{checksumSha256}',
|
||||
to_jsonb('6087b12b35a4c2ea3073c6b9fad5e43175d7425c2f4a042fa654e8c42b2bf29d'::text)
|
||||
)
|
||||
WHEN artifact->>'fileName' = 'lms-nav2-gazebo-control-build-install.tar.zst'
|
||||
OR artifact->>'url' LIKE '%/lms-nav2-gazebo-control-build-install.tar.zst'
|
||||
THEN jsonb_set(
|
||||
artifact,
|
||||
'{checksumSha256}',
|
||||
to_jsonb('ce8949b8a14f6d29b3924b82d4819923368fb67029f45cc50a07175afa659a7a'::text)
|
||||
)
|
||||
ELSE artifact
|
||||
END
|
||||
)
|
||||
FROM jsonb_array_elements(module."prebuilt_artifacts") AS artifact
|
||||
)
|
||||
WHERE module."folder_name" IN (
|
||||
'[lms-nav2-gazebo-planning]nav2-planning_v1.0.0_ws',
|
||||
'[lms-nav2-gazebo-control]nav2-control_v1.0.0_ws'
|
||||
);
|
||||
@@ -0,0 +1,20 @@
|
||||
UPDATE "course_week_modules" AS module
|
||||
SET "default_parameters" = CASE
|
||||
WHEN EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(module."default_parameters") AS parameter
|
||||
WHERE parameter #>> '{}' LIKE 'localization_mode:=%'
|
||||
) THEN (
|
||||
SELECT jsonb_agg(
|
||||
CASE
|
||||
WHEN parameter #>> '{}' LIKE 'localization_mode:=%'
|
||||
THEN to_jsonb('localization_mode:=amcl'::text)
|
||||
ELSE parameter
|
||||
END
|
||||
)
|
||||
FROM jsonb_array_elements(module."default_parameters") AS parameter
|
||||
)
|
||||
ELSE COALESCE(module."default_parameters", '[]'::jsonb)
|
||||
|| jsonb_build_array('localization_mode:=amcl')
|
||||
END
|
||||
WHERE module."folder_name" = '[lms-nav2-gazebo-localization]nav2-localization_v1.0.0_ws';
|
||||
@@ -0,0 +1,7 @@
|
||||
-- The selected map determines SLAM/navigation and 2D/3D viewer mode.
|
||||
-- Environment profiles retain only runtime connection configuration.
|
||||
UPDATE "course_environment_profiles"
|
||||
SET
|
||||
"config" = "config" #- '{viewer,mode}',
|
||||
"updated_at" = CURRENT_TIMESTAMP
|
||||
WHERE "config" #> '{viewer,mode}' IS NOT NULL;
|
||||
@@ -0,0 +1,39 @@
|
||||
-- SLAM/navigation is selected from the map. Keep one runtime configuration
|
||||
-- for the remote platform instead of separate visualization profiles.
|
||||
DELETE FROM "course_environment_profiles" legacy
|
||||
USING "course_environment_profiles" platform
|
||||
WHERE legacy."course_id" = platform."course_id"
|
||||
AND legacy."week" = platform."week"
|
||||
AND platform."platform_key" = 'PLATFORM'
|
||||
AND legacy."platform_key" IN ('REAL_SLAM', 'REAL_SLAM_3D', 'REAL_NAVIGATION');
|
||||
|
||||
WITH canonical AS (
|
||||
SELECT id
|
||||
FROM (
|
||||
SELECT
|
||||
id,
|
||||
row_number() OVER (
|
||||
PARTITION BY "course_id", "week"
|
||||
ORDER BY CASE "platform_key"
|
||||
WHEN 'REAL_SLAM' THEN 1
|
||||
WHEN 'REAL_NAVIGATION' THEN 2
|
||||
WHEN 'REAL_SLAM_3D' THEN 3
|
||||
END
|
||||
) AS rank
|
||||
FROM "course_environment_profiles"
|
||||
WHERE "platform_key" IN ('REAL_SLAM', 'REAL_SLAM_3D', 'REAL_NAVIGATION')
|
||||
) ranked
|
||||
WHERE rank = 1
|
||||
)
|
||||
UPDATE "course_environment_profiles" profile
|
||||
SET
|
||||
"platform_key" = 'PLATFORM',
|
||||
"profile_type" = 'PLATFORM',
|
||||
"name" = '플랫폼',
|
||||
"config" = jsonb_set(profile."config" #- '{viewer,mode}', '{type}', '"PLATFORM"'::jsonb, true),
|
||||
"updated_at" = CURRENT_TIMESTAMP
|
||||
FROM canonical
|
||||
WHERE profile.id = canonical.id;
|
||||
|
||||
DELETE FROM "course_environment_profiles"
|
||||
WHERE "platform_key" IN ('REAL_SLAM', 'REAL_SLAM_3D', 'REAL_NAVIGATION');
|
||||
Reference in New Issue
Block a user