From 257a15b9c20b3d6fc34490421e828ddcf0e87586 Mon Sep 17 00:00:00 2001 From: Peter Law Date: Sun, 4 Feb 2024 12:48:41 +0000 Subject: [PATCH] Document how to use the camera overlay in Webots Inspired by a competitor asking how to see this in Discord, plus mentoring a team in person. --- images/content/simulator/camera-overlay.png | Bin 0 -> 6856 bytes simulator/simulated_robot.md | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 images/content/simulator/camera-overlay.png diff --git a/images/content/simulator/camera-overlay.png b/images/content/simulator/camera-overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..3c62c791a156164b6e43573cffc039fc443071d8 GIT binary patch literal 6856 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 literal 0 HcmV?d00001 diff --git a/simulator/simulated_robot.md b/simulator/simulated_robot.md index 0b1a57ca..9520f26c 100644 --- a/simulator/simulated_robot.md +++ b/simulator/simulated_robot.md @@ -121,4 +121,22 @@ system of fiducial markers which the physical robot's camera can detect. You can access the camera with `robot.camera`. The simulated vision system matches the physical robot's vision API, so please use the [vision programming docs page]({{ site.baseurl }}/programming/vision/) as a reference. There are a few small differences between the simulator and the physical kit which are noted on that page. +If you want to see for yourself what the robot camera can see, you can enable an +overlay of the camera's view by right clicking on the robot then going to +**Overlays** → **Camera Devices** → **Show 'camera' overlay**. + +![An image of the camera overlay with the relevant part of the simulated arena in the background]({{ site.baseurl }}/images/content/simulator/camera-overlay.png) + +The overlay shows the simulated objects which can be seen from the camera's +perspective as well as red outlines around any markers which Webots' vision +system can identify. + +You can move the preview around within Webots window, or double-click on it to pop it out to its own window. + +
+As Webots has full awareness of the whole of the simulation, there may be markers highlighted in the preview which your real robot's camera would not be able to see. In order to make the simulation closer to your real robot, the simulator API filters out these markers. + +Consequently: **there may be markers highlighted in the preview which the API does not return**. +
+ [arduino-programming]: {{ site.baseurl }}/programming/arduino/sr_firmware