diff --git a/noetic/conveyorbot/fiducials.md b/noetic/conveyorbot/fiducials.md
index 0db0c15..79b0526 100644
--- a/noetic/conveyorbot/fiducials.md
+++ b/noetic/conveyorbot/fiducials.md
@@ -11,50 +11,29 @@ nav_exclude: false
> *"A fiducial marker or fiducial is an object placed in the field of view of an imaging system, for use as a point of reference or a measure. It may be either something placed into or on the imaging subject, or a mark or set of marks in the reticle of an optical instrument."*
-Fiducial markers (also known as AR markers) are a type of robust QR code that only encodes a simple number, and are used by ConveyorBot as landmarks, which it can use to navigate the environment of your choosing.
+Fiducial markers, also known as augmented reality (AR) markers, function as robust QR codes that encode a simple number. ConveyorBot uses these markers as landmarks to navigate through various environments.
## Marker Types
-ConveyorBot uses several types of fiducials:
+ConveyorBot utilizes several fiducial markers:
-| đźź© **Go marker** has a single arrow which point to the direction where the ConveyorBot will drive. | |
-| 🟥 **Stop marker** is made to halt the ConveyorBot in that spot. After the ConveyorBot moves on top of the Stop marker it rotates in a direction of a marker arrow. While ConveyorBot waits on a Stop marker the user can load or unload the packages. The robot will resume following markers when user presses the CONTINUE button on the touchscreen of the ConveyorBot. |
|
-| 🟦 **Turn marker** is made for creating crossroads. Crossroad is a couple of markers in the same location (they must not overlap!), where each is pointing in an arbitrary/different direction. Purpose of Turn markers and crossroads is to change the driving direction of the ConveyorBot. |
|
-| 🟪 **Bidirectional marker** is the only marker with 2 arrows in it. ConveyorBot drives allong the arrow that requires less robot rotation. Bidirectional marker is good for two-way routes where ConveyorBot requires to move in both directions for example narrow aisles where there is not enough space for both a forward and return path. |
|
+| đźź© **Go marker** displays a single arrow, directing the ConveyorBot's path. |
|
+| 🟥 **Stop marker** instructs the ConveyorBot to halt at a specific location. Once the robot stops on this marker, it rotates in the direction indicated by the arrow. Users can load or unload packages while the robot remains stationary. To resume operation, press the CONTINUE button on the ConveyorBot's touchscreen. |
|
+| 🟦 **Turn marker** should be used to create crossroads by combining multiple markers in the same area without overlap. Each marker points in a different direction, allowing the ConveyorBot to change its driving path. |
|
+| 🟪 **Bidirectional marker** is unique, featuring two arrows. The ConveyorBot follows the arrow that requires less rotation. This marker is ideal for two-way routes, such as narrow aisles where separate forward and return paths are impractical. |
|
-ConveyorBot can be used either with STag or ArUco markers (default and recommended being STag). The analogy of marker types is the same for both. Each marker has a unique numeric ID, which is written on it. This way marker types are correctly distinguished which correspond to the correct ConveyorBot manevers.
+ConveyorBot works with both STag and ArUco markers, though STag is the default and recommended option. All marker types function the same way for both systems. Each marker has a unique numeric ID that ensures the correct ConveyorBot maneuvers are executed.
-ConveyorBot markers specifically, are rugged prefabricated sticky vinyl stickers that can be peeled off and placed on another floor location. However, it's not recommended to peel them off too many times as they'll stick less each time.
+Specifically designed for ConveyorBot, these markers are durable, prefabricated vinyl stickers that can be peeled off and repositioned as needed. However, their adhesive strength decreases with each reapplication. Initially, we suggest using removable tape, like masking tape, to secure the markers. Once you're satisfied with their placement, use the adhesive backing to permanently affix them to the floor.
-## Generating Markers
+## Obtaining Additional Markers
-You can also print out markers on regular paper, though this requires a few modifications on the robot side (mainly marker size). We've provided a selection of scripts that offer a simple terminal UI, which enables user to re-configure fiducials according to their need.
-
-Said scripts can be found in the ConveyorBot repository in the `breadcrumb/breadcrumb_detect/scripts` directory:
-
-- `ArUco/gen_markers.py` -> generate Aruco markers with frames
-- `STag/gen_markers_autogen.py` -> generate STag markers with frames by generating also the inner part.
-- `STag/gen_markers.py` -> generate STag markers with frames by getting the inner part from downloaded image library. Download the required images from [here](https://drive.google.com/drive/folders/0ByNTNYCAhWbIV1RqdU9vRnd2Vnc).
-
-Script were tested using python2.7.
-
-### ArUco Dictionary ID
-
-You can generate ArUco markers from any dictionary you prefer.
-Make sure you set the corresponding `dictionary` parameter in launch file.
-We performed most of the test with dictionary with **ID 7**.
-For more information about ArUco refer to [`ArUco`](http://docs.opencv.org/trunk/d5/dae/tutorial_aruco_detection.html).
-
-### STag Library HD
-
-You can generate STag markers from any library you prefer.
-Make sure you set the corresponding `libraryHD` parameter in launch file.
-We performed most of the test with library **HD15**, which suited our needs.
-For more information about STag refer to [`STag`](https://github.com/usrl-uofsc/stag_ros).
+If you run out of the markers provided with your ConveyorBot, you can request additional ones from UbiquityRobotics. We can either print new markers for you or send a PDF for you to print independently. Please note that when printing, the markers must be the exact size specified in the PDF (the side of the inner black square containing the white shape should be 18 cm long).
### Packs
-Generally each pack should correspond to a standalone route, but you can generate yourself packs according to your preference.
-Take note that each marker has a unique id, while a number is unique only to the pack.
\ No newline at end of file
+A "pack" refers to the number on each marker, indicating the "marker setup" to which it belongs. A marker setup is a group of markers that form a complete navigation path for the robot. Robots cannot move between different marker setups by following any marker sequence. Typically, a marker setup consists of all markers that create the main circular route and its connected branches.
+
+Using pack numbers is not mandatory, but it can be a convenient way to differentiate between multiple marker setups. Each marker within a setup must have a unique ID. If you have two or more setups, you can use a marker with the same ID in each, but only once per setup. The Route Setup section will provide more details on this topic.
\ No newline at end of file
diff --git a/noetic/conveyorbot/routesetup.md b/noetic/conveyorbot/routesetup.md
index 7615a39..09df148 100644
--- a/noetic/conveyorbot/routesetup.md
+++ b/noetic/conveyorbot/routesetup.md
@@ -9,57 +9,58 @@ nav_exclude: false
# Route Setup
-To set up a route you'll first have to place [fiducial markers](noetic_conveyorbot_fiducials) in desired locations, and then use the touchscreen to set up which turn markers each robot should follow.
+To set up a route, first place [fiducial markers](noetic_conveyorbot_fiducials) in desired locations, then use the touchscreen to specify which turn markers each robot should follow.
-## How to place floor markers
-
-To make sure your setup works as intended, set of rules need to be followed to prevent undesired behaviour:
-
-- Each marker should accurately point towards the next one
-
-- Before sticking markers to the ground using their strong adhesive back side, it is recommended to stick them to the ground using some tape, so that you can test if your route setup is correct. Be careful that you don't cover the inner black part of the marker with the tape. After you've made sure the route is setup correctly, you can stick the markers by removing their back side. Stick the markers onto clean, smooth floor.
-
-- Route loops should be set up in a way that makes the robots turn only left or right depending on where the lidar is mounted. This is done to prevent blind spot collisions and to simplify robot to robot interactions.
+Read the [usage guide](noetic_conveyorbot_usage) section first to understand how routes work.
-- TURN markers should be used to create crossroads (or switches, in railroad terms)
+**Note that this page is a work in progress, and some parts might be outdated. If you are unsure about some details, contact Ubiquity Robotics support.**
-- GO markers should be used for one-way routes, where robot can drive only towards the next marker.
+## How to place floor markers
-- STOP markers will make the robot stop and turn to continue, so make sure it's possible to continue the route in the direction of the arrow.
+To ensure your setup works as intended, follow these rules to prevent undesired behavior:
-- BIDIRECTIONAL markers should be used for two-way routes, where the robot can drive in both directions while driving straight (e.g. to and from a contact charger). The robot should never approach the BIDIRECTIONAL markers from the side, since it's not clear which way it should turn. If you expect to have more than one robot on a route, you should have a seperate outbound and return path otherwise robots may meet head to head, which will cause both robots to stop. BIDIRECTIONAL markers should only be used on branches where you expect only one robot to be present in that branch at a time.
+- Each marker should accurately point towards the next one.
+- Markers shouldn't be too close together (crossroads are exceptions).
+- Before permanently sticking markers to the ground using their strong adhesive back side, use tape to test your route setup. Don't cover the inner black part of the marker with tape. Once the route is set up correctly, stick the markers to a clean, smooth floor.
+- Route loops should be configured so that robots turn only left or right depending on where the lidar is mounted. This prevents "T-shaped" collisions and simplifies robot interactions. Currently, place the lidar in "shell left" position and set up routes for left turns (robot drives counter-clockwise from a bird's-eye view). This limitation will be removed soon, allowing for route setups in both directions.
+- Use TURN markers to create crossroads (or switches, in railroad terms).
+- Use GO markers
for one-way routes, where the robot can drive only towards the next marker.
+- STOP markers
make the robot stop and turn to continue, so ensure it's possible to continue the route in the direction of the arrow.
+- Use BIDIRECTIONAL markers
for two-way routes, where the robot can drive in both directions while driving straight (e.g., to and from a contact charger). Robots should never approach BIDIRECTIONAL markers from the side, as it's unclear which way they should turn. If you expect more than one robot on a route, have separate outbound and return paths; otherwise, robots may meet head to head, causing both to stop. Use BIDIRECTIONAL markers on branches where only one robot is expected to be present at a time.
-An example of a simple marker layout is shown in the figure below.
+An example of a simple marker layout is shown below.
### Ignored opposite markers
-By default, the GO markers which are rotated in the opposite direction as the robot is driving are ignored. This is so that the outbound path and return paths work correctly when inbound and outbound paths are close together (refer to the next section). Otherwise, if the robot is driving on the inbound path, it might detect and follow the opposing markers from the outbound path.
+By default, opposite-facing GO markers are ignored. This ensures that outbound and return paths work correctly when they're close together.
### Circuit route
-If you want multiple robots to drive on the same marker setup, you should arrange the markers in a so-called "Circuit route", so that the robots won't collide into each other. This type of marker setup is recommended even if you have only one robot, because you never know when you will add another robot to your fleet. We divide circuit route into an inbound and an outbound path. Inbound serves as the path for robots to drive to the goal and the outbound is the path which is used for the robots to return back to the starting point. The inbound and outbound paths should be at a little more (about 20 cm more) than 1 robot width apart, so that the robots can pass each other without collision. If you have space, its convienient to place the routes 1 meter apart. On both ends of the path, markers should be arranged in a specific way, shown in the image bellow.
-When setting up a route, the measurements from the image bellow need to be considered.
-If you want to include a STOP marker into the Circuit route, the best way of placing it is one meter behind the GO marker. GO markers must be max 4-5 meters apart regardless of where you put the STOP markers, because the STOP markers are ignored in the case if you don't want the robot to stop on them.
-As seen from the image, on each end of the Circuit route, there is a TURN marker, which you need to include into the route on the touchscreen. This can't be a GO marker, because it would be ignored as it is turned in opposite direction as the robot's driving direction.
+For multiple robots driving on the same marker setup, arrange the markers in a "circuit route" to prevent collisions. This setup is recommended even for one robot, as you might add more robots later. Circuit routes are divided into inbound (path for robots to drive to the goal) and outbound (path for robots to return to the starting point) paths. Place the paths a little more than 1 robot width apart (about 20 cm more) to avoid collisions. If you have space, place the routes 1 meter apart. Arrange markers at both ends of the path as shown below, and consider the measurements from the image.
+
+Circuit routes include one "main circular route" that can be seen as "main inbound and outbound paths" or just as a circular route. You can set it up in an inbound-outbound style where the paths are close together, or as a big "looping route" that "ends where it begins" with "inbound and outbound paths" far apart. The style of the "main circular route" depends on your specific use case.
+
+To include a STOP marker in the circuit route, place it one meter behind the GO marker. GO markers must be a maximum of 4-5 meters apart, regardless of where you put the STOP markers. STOP markers are ignored if you don't want the robot to stop on them. On each end of the circuit route, there is a TURN marker, which you need to include in the route on the touchscreen. A GO marker won't work, as it would be ignored since it faces the opposite direction of the robot's driving direction.
-### Branches from main circuit route
+### Branches from the main circuit route
-You can also do "branches" from the main circular route similarly as shown on the image bellow.
+You can also create "branches" from the main circular route, as shown below.
-As you can see, there is a possibility that two robots would collide into each other on the marker where the branch merges back into the main route. This is handeled in a way that the robot comming from the branch always "looks" to the left with LIDAR in order to see if there is another robot approaching from the main route. If this is the case, the robot approaching from the branch will stop and wait for the robot on the main route to pass.
+There's a possibility that two robots collide where the branch merges back into the main route. To handle this, the robot coming from the branch always "looks" left with LIDAR to see if there is another robot approaching from the main route. If so, the robot approaching from the branch will stop and wait for the robot on the main route to pass. This is the so-called "T-shaped collision avoidance".
+
+However, this introduces a problem. Robots **always** look left when turning right on a marker to detect a potential robot on the main route. If the robot is just turning right (and not going back to the main route), there should ideally be about two meters of clearance on the left side to avoid detecting a wall or obstacle as an approaching robot. If not possible, disable T-collision detection for each individual marker that makes the robot turn right where you don't want it to stop due to an obstacle on the left. This can be done on the touchscreen's route settings screen by clicking on any marker in the route and checking the "Disable T collision check" checkbox.
-But this introduces a problem. The robots **always** look to the left when turning right on a marker in order to detect a potential robot on the main route. This means that if the robot is just turning right (and it is not going back to the main route), ideally there should also be about two meters of clearance on the left side of the robot so that the wall or any other obstacle is not detected as the robot approaching from the main route. So, if the robot is driving in a hallway which is turning right, you should put the inbound path as close to the right wall as needed so that there is still 2 meters of clearance on the left side of the robot. Or, if that's not possible, you should disable t collision detection for each individual marker, that makes the robot turn right, on which you don't want the robot to stop because of the obstacle on the left. This can be done on the touchscreen's route settings screen. By clicking on any marker in the route, a popup will open where you can check the "Disable T collision check" checkbox.
-Bear in mind that to rejoin the main route at the point where the main route makes a 90 degree turn will create problems with this collision avoidance. Please rejoin the main route a few cm earlier than where the main route takes a 90 degree turn.
+Keep in mind that rejoining the main route at a point where the main route makes a 90-degree turn creates problems with collision avoidance. Rejoin the main route a few decimeters earlier than where the main route takes a 90-degree turn (by placing a marker there and pointing the last marker on the branch towards it).
### Narrow hallway limitations
-There are some minimum distances from the route to walls which are presented on the image bellow.
+Minimum distances from the route to walls are presented below.
@@ -67,42 +68,69 @@ There are some minimum distances from the route to walls which are presented on
## Touchscreen UI
-In this section we will present the web application made for the 7'' touchscreen monitor. Its main functionality is to manage routes for ConveyorBot. On the top of all screens, there is a menu bar, which offers functionalities like rebooting the robot, monitoring battery percentage, navigating to “Control panel screen”, etc. On the top right corner of the “Control panel screen”, there is a map icon which leads to “Route settings screen”. On that screen, the routes can be set up.
+In this section, we will present the web application designed for the 7'' touchscreen monitor. Its primary function is to manage routes for the ConveyorBot. A menu bar is present at the top of all screens, offering functionalities such as rebooting the robot, monitoring battery percentage, navigating to the "Control Panel screen," and more. The map icon on the top right corner of the "Control Panel screen" leads to the "Route Settings screen," where routes can be set up.
### Control panel screen
-The most noticeable part of the “Control panel screen” is the big green “Start/Stop button”, with “START” written on it. After pressing it, it changes its color to red and its text to “STOP”. It is used for the robot to start or stop following the markers of the currently selected route. When the robot finishes the route by stopping on a STOP marker, this button changes its color to blue and its text to “CONTINUE”. Now, when pressing this button, the robot will start following the route again from its beginning.
-The route can be easily selected in the dropdown menu, which is located below the “Start/Stop button”. To edit, create or delete a route, the gear icon in the top right corner can be pressed, which leads to the “Settings screen”. If you want to reset the route (to start the route from the beginning), you should select another route and then the desired route again (currently there is no "reset route" button).
-The Control panel screen with route "turn test" selected is shown on the image below.
+
+The most noticeable part of the "Control Panel screen" is the large green "Start/Stop button" labeled "START." Pressing it changes its color to red and its text to "STOP." This button allows the robot to start or stop following the markers of the currently selected route. When the robot completes the route by stopping on a STOP marker, the button changes its color to blue and its text to "CONTINUE." Pressing the button now will make the robot start following the route again from the beginning.
+
+The route can be easily selected in the dropdown menu located below the "Start/Stop button." To edit, create, or delete a route, press the gear icon in the top right corner to go to the "Settings screen." To reset the route (to start the route from the beginning), select another route and then the desired route again (there is currently no "reset route" button).
+
+The Control Panel screen with route "turn test" selected is shown in the image below.
### Menu bar
-The menu bar is present on the top of all screens. On its left side, there is a Ubiquity Robotics’ logo, which is actually a button that always leads to the “Control panel screen”. On the right side of the menu bar, there is a battery level indicator. When the battery goes under 40%, a low battery popup will be shown. When this happens, you should stop using the robot and start charging it. In the middle, there are several buttons, each having its own functionality. The first one (from left to right), shaped as a computer monitor, leads to the “Debug screen”, on which the user can monitor the camera’s image stream and detected markers or move the robot with the software joystick. The second button, shaped as a letter “R” in a circular arrow, prompts the user to reboot the robot. The third button, shaped as the letter “S” in a circular arrow, prompts the user to reboot the robot’s software. This is useful, because it functions in a similar way as rebooting the robot, but is faster than it. The fourth button, shaped as an on/off symbol, prompts the user to turn off the robot. The fifth button, shaped as a sprocket, leads the user to the "Debug settings" screen. On this screen there are additional settings for updating and recording ROS’ topics into a “bag file”. This is used for debugging purposes. The sixth button is a WiFi state indicator. If the robot is connected to the WiFi, this button has a regular WiFi icon shape, indicating the WiFi strength. If the WiFi is disconnected, it has the same shape, but with a cross symbol drawn over it. If the WiFi is in the hotspot mode, it has a shape of two regular WiFi icons rotated by 90° to left and right. Pressing on this icon displays the WiFi info, which is the IP address, SSID and the hostname. Here you can also connect to a new WiFi access point by entering the SSID and password into appropriate fields and clicking on "Connect to the new WiFi" button.
+
+The menu bar is present at the top of all screens. On its left side, there is a Ubiquity Robotics logo, which serves as a button that always leads to the "Control Panel screen." On the right side of the menu bar is a battery level indicator. When the battery falls below 40%, a low battery popup will appear. In this case, you should **stop using the robot and start charging it**. In the middle, there are several buttons, each with its own functionality.
+
+They are the following (from left to right):
+
+1. A computer monitor button that leads to the "Debug screen" where users can monitor the camera's image stream and detected markers or move the robot with the software joystick.
+
+2. An "R" in a circular arrow button that prompts the user to reboot the robot.
+
+3. An "S" in a circular arrow button that prompts the user to reboot the robot's software. This is useful because it functions similarly to rebooting the robot but is faster.
+
+4. An on/off symbol button that prompts the user to turn off the robot.
+
+5. A sprocket button that leads the user to the "Debug Settings" screen. This screen contains additional settings for updating and recording ROS topics into a "bag file" used for debugging purposes.
+
+6. A WiFi state indicator button that displays the WiFi status. If the robot is connected to the WiFi, the button shows a regular WiFi icon shape, indicating the WiFi strength. If the WiFi is disconnected, it shows the same shape but with a cross symbol drawn over it. If the WiFi is in hotspot mode, it has the shape of two regular WiFi icons rotated 90° to the left and right. Pressing this icon displays the WiFi info, including the IP address, SSID, and hostname. Here, you can also connect to a new WiFi access point by entering the SSID and password into the appropriate fields and clicking the "Connect to the new WiFi" button.
### Route settings screen
-On the left side of this screen, there is a route selection part. To add a new route, the “+” shaped button below all routes can be pressed. When clicking on any of the routes displayed here, the route editor will be displayed on the right side of the screen, where you can edit the selected route.
-The route editor has two columns. In the left one, the markers to follow can be specified and on the right part, the markers to ignore can be specified. The specified markers can also be rearranged by dragging and dropping them. The drag and drop functionality can be disabled, so that the list of markers can be scrolled up and down, without accidentally rearranging the markers. This can be done by clicking on the “lock/unlock” button above the left column. The function of “markers to follow” and “markers to ignore” and instructions on how to correctly set up a route will be described in the next section.
-To delete the route, which is currently being edited, click on the button with the bin icon on the bottom of the screen.
-The settings screen is shown on the image below.
-
+On the left side of this screen is a route selection section. To add a new route, press the "+" shaped button below all routes. When clicking on any of the displayed routes, the route editor will be displayed on the right side of the screen, where you can edit the selected route.
+
+The route editor has two columns. In the left column, you can specify the markers to follow, and in the right column, you can specify the markers to ignore. You can also rearrange the specified markers by dragging and dropping them. To prevent accidentally rearranging the markers while scrolling up and down the list, you can disable the drag and drop functionality by clicking the "lock/unlock" button above the left column. The function of "markers to follow" and "markers to ignore" and instructions on how to correctly set up a route will be described in the next section.
+
+To delete the currently edited route, click the button with the bin icon at the bottom of the screen.
+
+The Route Settings screen is shown in the image below.
+