From 28533408565a36fefee044c938dd2233410e9a7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90=C4=83ng=20Nguy=E1=BB=85n?= Date: Thu, 2 Oct 2025 17:28:04 +0700 Subject: [PATCH] draw images map --- .../Pages/Components/Mapping/MapView.razor | 412 ++++++++++++++++-- RobotApp.Client/wwwroot/images/AMR-250.png | Bin 0 -> 106820 bytes RobotApp.Client/wwwroot/js/canvas.js | 92 +++- RobotApp/Controllers/ImagesController.cs | 53 ++- RobotApp/Program.cs | 7 + RobotApp/Properties/launchSettings.json | 2 + RobotApp/maps/gara20250309 .png | Bin 0 -> 25552 bytes RobotApp/robot.db | Bin 167936 -> 167936 bytes 8 files changed, 526 insertions(+), 40 deletions(-) create mode 100644 RobotApp.Client/wwwroot/images/AMR-250.png create mode 100644 RobotApp/maps/gara20250309 .png diff --git a/RobotApp.Client/Pages/Components/Mapping/MapView.razor b/RobotApp.Client/Pages/Components/Mapping/MapView.razor index df2d737..86aaa64 100644 --- a/RobotApp.Client/Pages/Components/Mapping/MapView.razor +++ b/RobotApp.Client/Pages/Components/Mapping/MapView.razor @@ -1,8 +1,25 @@ @inject IJSRuntime JS +@inject HttpClient Http @using Excubo.Blazor.Canvas.Contexts
+ + + + + + + + + + - - + + + + + + +
@@ -56,6 +84,20 @@ private const double RulerHeight = 20; + private const double RobotWidth = 0.606; + private const double RobotLength = 1.106; + + private bool RobotImageLoaded = false; + private bool MapImageLoaded = false; + + private const double ImageX = -10; + private const double ImageY = -10; + private const double ImageResolution = 0.05; + + private double MapImageWidth = 0; + private double MapImageHeight = 0; + private const string MAP_CACHE_KEY = "map_image"; + protected override async Task OnAfterRenderAsync(bool first_render) { await base.OnAfterRenderAsync(first_render); @@ -71,9 +113,45 @@ CanvasTranslateX = CanvasWidth / 2; CanvasTranslateY = CanvasHeight / 2; + await LoadRobotImage(); + await LoadMapImage(); + await DrawCanvas(); } + private async Task LoadRobotImage() + { + try + { + await JS.InvokeVoidAsync("preloadImage", "images/AMR-250.png"); + RobotImageLoaded = true; + } + catch + { + RobotImageLoaded = false; + } + } + + private async Task LoadMapImage() + { + try + { + MapImageLoaded = false; + string baseUrl = Http.BaseAddress?.ToString() ?? ""; + string apiUrl = $"{baseUrl}api/images/map"; + await JS.InvokeVoidAsync("preloadImageFromUrl", apiUrl, MAP_CACHE_KEY); + + var imageDimensions = await JS.InvokeAsync("getImageDimensions", MAP_CACHE_KEY); + MapImageWidth = imageDimensions.Width * ImageResolution; + MapImageHeight = imageDimensions.Height * ImageResolution; + if (MapImageWidth > 0 && MapImageHeight > 0) MapImageLoaded = true; + } + catch + { + MapImageLoaded = false; + } + } + private async Task DrawCanvas() { await using var ctx = await JS.GetContext2DAsync(CanvasRef); @@ -86,25 +164,202 @@ await ctx.TranslateAsync(CanvasTranslateX, CanvasTranslateY); await ctx.ScaleAsync(ZoomScale, ZoomScale); + + await DrawMapImage(ctx); await DrawGrid(ctx); await DrawAxes(ctx); - + await DrawLaserScannerPoints(ctx); await ctx.RestoreAsync(); - // Draw mouse indicator (outside transform) if (IsMouseInCanvas) { await DrawMouseIndicator(ctx); } } + private async Task DrawMapImage(Context2D ctx) + { + if (!MapImageLoaded) + { + return; + } + + await ctx.SaveAsync(); + + try + { + + double imageWidthCanvas = MapImageWidth * BASE_PIXELS_PER_METER; + double imageHeightCanvas = MapImageHeight * BASE_PIXELS_PER_METER; + + double mapCanvasX = ImageX * BASE_PIXELS_PER_METER; + double mapCanvasY = (ImageY + MapImageHeight) * BASE_PIXELS_PER_METER; + + bool success = await JS.InvokeAsync("drawCachedImageOnCanvas", + CanvasRef, + MAP_CACHE_KEY, + mapCanvasX, + mapCanvasY - imageHeightCanvas, + imageWidthCanvas, + imageHeightCanvas); + } + catch + { + } + + await ctx.RestoreAsync(); + } + + private async Task DrawLaserScannerPoints(Context2D ctx) + { + var scanData = GenerateLaserScanData(); + + double robotCanvasX = scanData.RobotX * BASE_PIXELS_PER_METER; + double robotCanvasY = scanData.RobotY * BASE_PIXELS_PER_METER; + + await ctx.SaveAsync(); + + if (scanData.Points.Count > 0) + { + await ctx.BeginPathAsync(); + + for (int i = 0; i < scanData.Points.Count; i++) + { + var point = scanData.Points[i]; + double pointCanvasX = point.X * BASE_PIXELS_PER_METER; + double pointCanvasY = point.Y * BASE_PIXELS_PER_METER; + + if (i == 0) + { + await ctx.MoveToAsync(pointCanvasX, pointCanvasY); + } + else + { + await ctx.LineToAsync(pointCanvasX, pointCanvasY); + } + } + + await ctx.StrokeStyleAsync("rgba(255, 100, 100, 0.8)"); + await ctx.LineWidthAsync(2 / ZoomScale); + await ctx.StrokeAsync(); + + await ctx.LineToAsync(robotCanvasX, robotCanvasY); + await ctx.ClosePathAsync(); + await ctx.FillStyleAsync("rgba(255, 100, 100, 0.1)"); + await ctx.FillAsync(FillRule.NonZero); + } + + await DrawRobotImage(ctx, robotCanvasX, robotCanvasY, scanData.RobotOrientation); + await DrawRobotOrientationArrows(ctx, robotCanvasX, robotCanvasY, scanData.RobotOrientation); + + await ctx.RestoreAsync(); + } + + private async Task DrawRobotImage(Context2D ctx, double robotCanvasX, double robotCanvasY, double robotOrientation) + { + if (!RobotImageLoaded) + { + // Fallback to circle if image not loaded + await ctx.FillStyleAsync("rgba(0, 255, 0, 0.8)"); + await ctx.BeginPathAsync(); + await ctx.ArcAsync(robotCanvasX, robotCanvasY, 8 / ZoomScale, 0, Math.PI * 2); + await ctx.FillAsync(FillRule.NonZero); + return; + } + + await ctx.SaveAsync(); + + double robotWidthPixels = RobotWidth * BASE_PIXELS_PER_METER; + double robotLengthPixels = RobotLength * BASE_PIXELS_PER_METER; + + double scaledWidth = ZoomScale < 1 ? robotWidthPixels / ZoomScale : robotWidthPixels; + double scaledLength = ZoomScale < 1 ? robotLengthPixels / ZoomScale : robotLengthPixels; + + await ctx.TranslateAsync(robotCanvasX, robotCanvasY); + await ctx.RotateAsync(robotOrientation); + + try + { + bool success = await JS.InvokeAsync("drawImageOnCanvas", + CanvasRef, + "images/AMR-250.png", + -scaledLength / 2, + -scaledWidth / 2, + scaledLength, + scaledWidth); + + if (!success) + { + await ctx.FillStyleAsync("rgba(0, 255, 0, 0.8)"); + await ctx.FillRectAsync(-scaledLength / 2, -scaledWidth / 2, scaledLength, scaledWidth); + } + } + catch + { + await ctx.FillStyleAsync("rgba(0, 255, 0, 0.8)"); + await ctx.FillRectAsync(-scaledLength / 2, -scaledWidth / 2, scaledLength, scaledWidth); + } + + await ctx.RestoreAsync(); + } + + private async Task DrawRobotOrientationArrows(Context2D ctx, double robotCanvasX, double robotCanvasY, double robotOrientation) + { + double arrowLength = 30 / ZoomScale; + double arrowHeadSize = 10 / ZoomScale; + + await ctx.StrokeStyleAsync("rgba(0, 100, 255, 1.0)"); + await ctx.FillStyleAsync("rgba(0, 100, 255, 1.0)"); + await ctx.LineWidthAsync(3 / ZoomScale); + + await ctx.BeginPathAsync(); + await ctx.MoveToAsync(robotCanvasX, robotCanvasY); + double xAxisEndX = robotCanvasX + Math.Cos(robotOrientation) * (arrowLength - arrowHeadSize + 1); + double xAxisEndY = robotCanvasY + Math.Sin(robotOrientation) * (arrowLength - arrowHeadSize + 1); + await ctx.LineToAsync(xAxisEndX, xAxisEndY); + await ctx.StrokeAsync(); + + await ctx.BeginPathAsync(); + double xArrowTipX = robotCanvasX + Math.Cos(robotOrientation) * arrowLength; + double xArrowTipY = robotCanvasY + Math.Sin(robotOrientation) * arrowLength; + await ctx.MoveToAsync(xArrowTipX, xArrowTipY); + double xArrowAngle = robotOrientation + Math.PI; + await ctx.LineToAsync(xArrowTipX + Math.Cos(xArrowAngle + Math.PI / 6) * arrowHeadSize, xArrowTipY + Math.Sin(xArrowAngle + Math.PI / 6) * arrowHeadSize); + await ctx.LineToAsync(xArrowTipX + Math.Cos(xArrowAngle - Math.PI / 6) * arrowHeadSize, xArrowTipY + Math.Sin(xArrowAngle - Math.PI / 6) * arrowHeadSize); + await ctx.ClosePathAsync(); + await ctx.FillAsync(FillRule.NonZero); + + await ctx.StrokeStyleAsync("rgba(255, 50, 50, 1.0)"); + await ctx.FillStyleAsync("rgba(255, 50, 50, 1.0)"); + await ctx.LineWidthAsync(3 / ZoomScale); + + double yAxisAngle = robotOrientation + Math.PI / 2; + + await ctx.BeginPathAsync(); + await ctx.MoveToAsync(robotCanvasX, robotCanvasY); + double yAxisEndX = robotCanvasX + Math.Cos(yAxisAngle) * (arrowLength - arrowHeadSize + 1); + double yAxisEndY = robotCanvasY + Math.Sin(yAxisAngle) * (arrowLength - arrowHeadSize + 1); + await ctx.LineToAsync(yAxisEndX, yAxisEndY); + await ctx.StrokeAsync(); + + await ctx.BeginPathAsync(); + double yArrowTipX = robotCanvasX + Math.Cos(yAxisAngle) * arrowLength; + double yArrowTipY = robotCanvasY + Math.Sin(yAxisAngle) * arrowLength; + await ctx.MoveToAsync(yArrowTipX, yArrowTipY); + double yArrowAngle = yAxisAngle + Math.PI; + await ctx.LineToAsync(yArrowTipX + Math.Cos(yArrowAngle + Math.PI / 6) * arrowHeadSize, yArrowTipY + Math.Sin(yArrowAngle + Math.PI / 6) * arrowHeadSize); + await ctx.LineToAsync(yArrowTipX + Math.Cos(yArrowAngle - Math.PI / 6) * arrowHeadSize, yArrowTipY + Math.Sin(yArrowAngle - Math.PI / 6) * arrowHeadSize); + await ctx.ClosePathAsync(); + await ctx.FillAsync(FillRule.NonZero); + } + private async Task DrawMouseIndicator(Context2D ctx) { await ctx.SaveAsync(); - await ctx.StrokeStyleAsync("rgba(255, 50, 50, 0.8)"); + await ctx.StrokeStyleAsync("rgba(255, 50, 50, 0.8)"); await ctx.LineWidthAsync(1); - await ctx.SetLineDashAsync(new double[] { 3, 3 }); + await ctx.SetLineDashAsync(new double[] { 3, 3 }); await ctx.BeginPathAsync(); await ctx.MoveToAsync(MouseX, RulerHeight); @@ -112,7 +367,7 @@ await ctx.StrokeAsync(); await ctx.BeginPathAsync(); - await ctx.MoveToAsync(RulerHeight, MouseY); + await ctx.MoveToAsync(RulerHeight, MouseY); await ctx.LineToAsync(CanvasWidth, MouseY); await ctx.StrokeAsync(); @@ -120,13 +375,13 @@ const double labelPadding = 7; const double labelMargin = 8; - + string coordinateText = $"({WorldMouseX:F2}m, {WorldMouseY:F2}m)"; await ctx.FontAsync("bold 12px Arial"); var textMetrics = await ctx.MeasureTextAsync(coordinateText); double textWidth = textMetrics.Width; - double textHeight = 16; + double textHeight = 16; double labelX = MouseX + labelMargin; double labelY = MouseY - textHeight - labelPadding * 2 - labelMargin; @@ -140,10 +395,10 @@ labelY = MouseY + labelMargin; } - await ctx.FillStyleAsync("rgba(0, 0, 0, 0.8)"); + await ctx.FillStyleAsync("rgba(0, 0, 0, 0.8)"); await ctx.FillRectAsync(labelX, labelY, textWidth + labelPadding * 2, textHeight + labelPadding * 2); - await ctx.StrokeStyleAsync("rgba(255, 255, 255, 0.6)"); + await ctx.StrokeStyleAsync("rgba(255,255,255,0.6)"); await ctx.LineWidthAsync(1); await ctx.StrokeRectAsync(labelX, labelY, textWidth + labelPadding * 2, textHeight + labelPadding * 2); @@ -159,16 +414,16 @@ await ctx.StrokeAsync(); await ctx.SaveAsync(); - + await ctx.TranslateAsync(labelX + labelPadding + textWidth / 2, labelY + textHeight / 2); await ctx.ScaleAsync(1, -1); - + await ctx.FillStyleAsync("white"); await ctx.FontAsync("bold 12px Arial"); await ctx.TextAlignAsync(TextAlign.Center); await ctx.TextBaseLineAsync(TextBaseLine.Bottom); await ctx.FillTextAsync(coordinateText, 0, 0); - + await ctx.RestoreAsync(); } @@ -326,23 +581,9 @@ await ctx.FillStyleAsync("red"); await ctx.BeginPathAsync(); - await ctx.ArcAsync(originCanvasX, originCanvasY, 10 / ZoomScale, 0, Math.PI * 2); + await ctx.ArcAsync(originCanvasX, originCanvasY, 8 / ZoomScale, 0, Math.PI * 2); await ctx.FillAsync(FillRule.NonZero); - await ctx.LineWidthAsync(2 / ZoomScale); - - await ctx.StrokeStyleAsync("blue"); - await ctx.BeginPathAsync(); - await ctx.MoveToAsync(-CanvasWidth / ZoomScale, originCanvasY); - await ctx.LineToAsync(CanvasWidth / ZoomScale, originCanvasY); - await ctx.StrokeAsync(); - - await ctx.StrokeStyleAsync("red"); - await ctx.BeginPathAsync(); - await ctx.MoveToAsync(originCanvasX, -CanvasHeight / ZoomScale); - await ctx.LineToAsync(originCanvasX, CanvasHeight / ZoomScale); - await ctx.StrokeAsync(); - double gridSpacingMeters = GetGridSpacingMeters(); double arrowLength = gridSpacingMeters * BASE_PIXELS_PER_METER; double arrowHeadSize = 16 / ZoomScale; @@ -353,13 +594,15 @@ await ctx.BeginPathAsync(); await ctx.MoveToAsync(originCanvasX, originCanvasY); - await ctx.LineToAsync(originCanvasX + arrowLength, originCanvasY); + await ctx.LineToAsync(originCanvasX + arrowLength - arrowHeadSize, originCanvasY); await ctx.StrokeAsync(); await ctx.BeginPathAsync(); - await ctx.MoveToAsync(originCanvasX + arrowLength, originCanvasY); - await ctx.LineToAsync(originCanvasX + arrowLength - arrowHeadSize, originCanvasY - arrowHeadSize / 2); - await ctx.LineToAsync(originCanvasX + arrowLength - arrowHeadSize, originCanvasY + arrowHeadSize / 2); + double xArrowTipX = originCanvasX + arrowLength; + double xArrowTipY = originCanvasY; + await ctx.MoveToAsync(xArrowTipX, xArrowTipY); + await ctx.LineToAsync(xArrowTipX - arrowHeadSize, xArrowTipY - arrowHeadSize / 2); + await ctx.LineToAsync(xArrowTipX - arrowHeadSize, xArrowTipY + arrowHeadSize / 2); await ctx.ClosePathAsync(); await ctx.FillAsync(FillRule.NonZero); @@ -369,13 +612,15 @@ await ctx.BeginPathAsync(); await ctx.MoveToAsync(originCanvasX, originCanvasY); - await ctx.LineToAsync(originCanvasX, originCanvasY + arrowLength); + await ctx.LineToAsync(originCanvasX, originCanvasY + arrowLength - arrowHeadSize); await ctx.StrokeAsync(); await ctx.BeginPathAsync(); - await ctx.MoveToAsync(originCanvasX, originCanvasY + arrowLength); - await ctx.LineToAsync(originCanvasX - arrowHeadSize / 2, originCanvasY + arrowLength - arrowHeadSize); - await ctx.LineToAsync(originCanvasX + arrowHeadSize / 2, originCanvasY + arrowLength - arrowHeadSize); + double yArrowTipX = originCanvasX; + double yArrowTipY = originCanvasY + arrowLength; + await ctx.MoveToAsync(yArrowTipX, yArrowTipY); + await ctx.LineToAsync(yArrowTipX - arrowHeadSize / 2, yArrowTipY - arrowHeadSize); + await ctx.LineToAsync(yArrowTipX + arrowHeadSize / 2, yArrowTipY - arrowHeadSize); await ctx.ClosePathAsync(); await ctx.FillAsync(FillRule.NonZero); } @@ -515,9 +760,100 @@ await DrawCanvas(); } + private async Task ReloadMapImage() + { + MapImageLoaded = false; + await LoadMapImage(); + await DrawCanvas(); + StateHasChanged(); + } + + private LaserScanData GenerateLaserScanData() + { + // Robot position (in world coordinates) + double robotX = 2; // Robot at origin for demo + double robotY = 2; + double robotOrientation = 0; // Robot facing right (0 degrees) + + Random random = new Random(42); // Fixed seed for consistent pattern + + // Laser scanner parameters + const double maxRange = 8.0; // meters + const double minRange = 0.2; // meters (fix: was 7.0, should be minimum) + const int numPoints = 270; // Number of laser points + const double startAngle = -Math.PI / 2 - Math.PI / 4; + const double endAngle = Math.PI / 2 + Math.PI / 4; + + double angleStep = (endAngle - startAngle) / (numPoints - 1); + + var scanData = new LaserScanData + { + RobotX = robotX, + RobotY = robotY, + RobotOrientation = robotOrientation, + }; + + // Generate laser points + for (int i = 0; i < numPoints; i++) + { + double angle = startAngle + i * angleStep; + + // Random range with some clustering around obstacles + double range; + if (random.NextDouble() < 0.3) // 30% chance of obstacles + { + range = random.NextDouble() * 3.0 + 1.0; // 1-4 meters (obstacles) + } + else if (random.NextDouble() < 0.1) // 10% chance of very close objects + { + range = random.NextDouble() * 0.8 + 0.2; // 0.2-1.0 meters + } + else + { + range = random.NextDouble() * maxRange * 0.7 + maxRange * 0.3; // Far points + } + + // Add some noise to make it realistic + range += (random.NextDouble() - 0.5) * 0.1; + range = Math.Max(minRange, Math.Min(maxRange, range)); + + // Calculate point position relative to robot + double pointX = robotX + Math.Cos(angle + robotOrientation) * range; + double pointY = robotY + Math.Sin(angle + robotOrientation) * range; + + scanData.Points.Add(new LaserScanPoint + { + X = pointX, + Y = pointY + }); + } + + return scanData; + } + + public class LaserScanPoint + { + public double X { get; set; } + public double Y { get; set; } + } + + public class LaserScanData + { + public double RobotX { get; set; } + public double RobotY { get; set; } + public double RobotOrientation { get; set; } + public List Points { get; set; } = new(); + } + public class DomRect { public double Width { get; set; } public double Height { get; set; } } + + public class ImageDimensions + { + public double Width { get; set; } + public double Height { get; set; } + } } diff --git a/RobotApp.Client/wwwroot/images/AMR-250.png b/RobotApp.Client/wwwroot/images/AMR-250.png new file mode 100644 index 0000000000000000000000000000000000000000..b4ae207314130335d97e2a7b390348cc0aa53d8d GIT binary patch literal 106820 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 z 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�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 literal 0 HcmV?d00001 diff --git a/RobotApp.Client/wwwroot/js/canvas.js b/RobotApp.Client/wwwroot/js/canvas.js index 5b34e27..e956683 100644 --- a/RobotApp.Client/wwwroot/js/canvas.js +++ b/RobotApp.Client/wwwroot/js/canvas.js @@ -8,4 +8,94 @@ window.setCanvasSize = (canvas, width, height) => { canvas.width = width; canvas.height = height; -} \ No newline at end of file +} + +// Image loading and caching functionality +window.imageCache = new Map(); + +window.preloadImage = (imagePath) => { + return new Promise((resolve, reject) => { + if (window.imageCache.has(imagePath)) { + resolve(window.imageCache.get(imagePath)); + return; + } + + const img = new Image(); + img.onload = () => { + window.imageCache.set(imagePath, img); + resolve(img); + }; + img.onerror = () => { + reject(new Error(`Failed to load image: ${imagePath}`)); + }; + img.src = imagePath; + }); +}; + +window.preloadImageFromUrl = (url, cacheKey) => { + return new Promise((resolve, reject) => { + if (window.imageCache.has(cacheKey)) { + resolve(window.imageCache.get(cacheKey)); + return; + } + + const img = new Image(); + img.onload = () => { + window.imageCache.set(cacheKey, img); + resolve(img); + }; + img.onerror = (error) => { + reject(new Error(`Failed to load image from URL: ${url}`)); + }; + + // Don't set crossOrigin for same-origin requests + // Only set it if you're loading from a different domain + // img.crossOrigin = 'anonymous'; + + img.src = url; + }); +}; + +window.getImageDimensions = (cacheKey) => { + const img = window.imageCache.get(cacheKey); + if (!img) { + return { width: 0, height: 0 }; + } + + return { + width: img.naturalWidth || img.width, + height: img.naturalHeight || img.height + }; +}; + +window.drawImageOnCanvas = (canvas, imagePath, x, y, width, height) => { + const ctx = canvas.getContext('2d'); + const img = window.imageCache.get(imagePath); + + if (!img) { + return false; + } + + try { + ctx.drawImage(img, x, y, width, height); + return true; + } catch (error) { + return false; + } +}; + +window.drawCachedImageOnCanvas = (canvas, cacheKey, x, y, width, height) => { + const ctx = canvas.getContext('2d'); + const img = window.imageCache.get(cacheKey); + + if (!img) { + return false; + } + + try { + ctx.drawImage(img, x, y, width, height); + return true; + } catch (error) { + return false; + } +}; \ No newline at end of file diff --git a/RobotApp/Controllers/ImagesController.cs b/RobotApp/Controllers/ImagesController.cs index 05c2a21..b1995f6 100644 --- a/RobotApp/Controllers/ImagesController.cs +++ b/RobotApp/Controllers/ImagesController.cs @@ -1,11 +1,62 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; +using RobotApp.Services; namespace RobotApp.Controllers; [Route("api/[controller]")] [ApiController] [AllowAnonymous] -public class ImagesController : ControllerBase +public class ImagesController(Services.Logger Logger) : ControllerBase { + [HttpGet] + [Route("map")] + public async Task GetMapImage() + { + try + { + await Task.Delay(1); + + string fileName = "gara20250309.png"; + string filePath = Path.Combine("maps", fileName); + + if (System.IO.File.Exists(filePath)) + { + byte[] imageBytes = await System.IO.File.ReadAllBytesAsync(filePath); + return File(imageBytes, "image/png"); + } + else + { + string mapsDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "maps"); + if (Directory.Exists(mapsDir)) + { + var pngFiles = Directory.GetFiles(mapsDir, "*.png"); + + return NotFound(new + { + error = "Map image not found", + searchPath = filePath, + mapsDirectory = mapsDir, + availableFiles = pngFiles.Select(Path.GetFileName).ToArray(), + baseDirectory = AppDomain.CurrentDomain.BaseDirectory + }); + } + else + { + Logger.Warning($"GetMapImage: Maps directory does not exist: {mapsDir}"); + return NotFound(new + { + error = "Maps directory not found", + searchPath = mapsDir, + baseDirectory = AppDomain.CurrentDomain.BaseDirectory + }); + } + } + } + catch (Exception ex) + { + Logger.Warning($"GetMapImage: Exception occurred - {ex.Message}"); + return StatusCode(500, new { error = "Internal server error", message = ex.Message, stackTrace = ex.StackTrace }); + } + } } diff --git a/RobotApp/Program.cs b/RobotApp/Program.cs index e81d55c..fa67d52 100644 --- a/RobotApp/Program.cs +++ b/RobotApp/Program.cs @@ -22,6 +22,9 @@ builder.Services.AddScoped appDbOptions = options => options.UseSqlite(connectionString, b => b.MigrationsAssembly("RobotApp")); @@ -68,6 +71,10 @@ app.UseAuthorization(); app.UseAntiforgery(); app.MapStaticAssets(); + +// Map API Controllers +app.MapControllers(); + app.MapRazorComponents() .AddInteractiveServerRenderMode() .AddInteractiveWebAssemblyRenderMode() diff --git a/RobotApp/Properties/launchSettings.json b/RobotApp/Properties/launchSettings.json index b4aecb3..19731fb 100644 --- a/RobotApp/Properties/launchSettings.json +++ b/RobotApp/Properties/launchSettings.json @@ -5,6 +5,7 @@ "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, + "workingDirectory": "$(TargetDir)", "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", "applicationUrl": "http://localhost:5229", "environmentVariables": { @@ -15,6 +16,7 @@ "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, + "workingDirectory": "$(TargetDir)", "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", "applicationUrl": "https://localhost:7150;http://localhost:5229", "environmentVariables": { diff --git a/RobotApp/maps/gara20250309 .png b/RobotApp/maps/gara20250309 .png new file mode 100644 index 0000000000000000000000000000000000000000..bc4110d294eb6cbd3e04ed7201b89d3f5a28b9fb GIT binary patch literal 25552 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

pl{(MlCpEtVVe4U7r(6R86TtyBd)dI(0nV(qGR# z`;z9TlVgAI@pSNuy^UYl)P?d}2#0q7fbK}{it*W7ZhhMp8U=vlYj*xX{zB0wBo zIVQe#G)$G&&^SwImsFlC9{;s@P1u=0m&>!krcLGJabIy{UUFVc@-As&aQ zxlIlLk#iS~UGweciS6D8$0zitKEH2Z6HRyT-F43}78HkrUp!PTj(po2r|<83<^9ip z!@v3cE#3n!Og`|vm-BrcR>!w|V%Jz-kd~)rvfzeN;k2R_df3xZ%LD){?wn8~;ze_g zc54ofxR{q?vwQoyCi>s7sM~z#t79dv^q;@0{&V-d^6>M2*@wFyj<>q$!$70$2^U^; z{D=Pl0C?(|KY!LuRnATA)0`$Yw*#AR^Uhhskjw{oKF`S-u(v8EN*nJ!cGI@v-%r&F z$9@k0aH!HBbnPhJg2KBI*M5wEumAGLqdD2W26BA7SgGf(`Jtz4p?{7Elok!=1kHRP z=UNFo0WhCNqTTHrgIz;|?Re9# zwztABPNI5wrqYNSb7?}w^8)slSeS6;BB`6&sX1bhBBu(zEpE>IH@&%lBcJ=|(GdVZ zIxe%@%16KGcH^M#u9g6Feg4qSHdgmVh$KT^+M&p+U_`4a%ZL;xv9WxD4g zrM7KP5@L{ofMEq})6d=W+rXhsAwJx6CXpxZ`-&GGoHoDx133N}xqB}F{KjWL-KOfk z=&039OljOGCuu#ZJDgdM6EHylVt|;{Y2^u%2%vxi$F8|ZV#GGJb7Cn704L5kM>Z6^ zdGzFF>;y3HzeG1DGmrJqr2G62VDz4S%}dVBJk^d}>|b2CT9lg1+AMA)XOrF0Eoaj z07gjWXAn+=`!43x*?P@67E#R7+_r}mYfbSuH^#z=liT;6$(A1L-96)X|Be5x0D#*7 zVB)3ktUcE93crX*kcdsnjX0{tu_J&9rjheJ3s_okopW$xotuA2OC)(S7Yzw(z2+2* z%>iNnFta8>CM6&j9h@liTyxuKt(n;{1Rl+OD1G@$&Yb$R^z-d4ukeckYcsLNp^}+s zu9`(I6)RSNG|e?!Y#|rgX=$m=A}+3~c8uqgqzV9(W`;OpARbWcm6WPa9QevJk95x; z__~=}?Ryp`-Jc)tz3<;X(T3{2C`iiHT0?9aC2(S`7FQuj65ok5uJm`cZQklkD4r+A z&i{NQ36(%(=AY^Zd(JuboIP(kTm@!MOqC-T2ePD@5;$WUkuO#*YoDd1SZO;aS0pnJ zfUFUQlDN~?Lje=P$lxd{MUiu)Bt2+@ z%dSv!{!8-3E)$jG%m3!3rqg1}$r{R_^5TMvktw?r`L6!KI5#&v7?MKLu#QPP=WOQO zsYz@F≈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 literal 0 HcmV?d00001 diff --git a/RobotApp/robot.db b/RobotApp/robot.db index 6249b2f3137fa2719f33f62889ab5f61546f69ea..56f2f758ce74ed382ea31e842051dc6035255710 100644 GIT binary patch delta 48 zcmZozz}2vTYl1Xm=0q81#>|Zg-SYgFR;GqlCPsRO=9Xs0hQ`gm