FRED

FRED Integration #

Installation #

First, make sure to have docker installed on your machine. If you don’t have docker installed, you can follow the instructions here.

Meili will send two files: fred_integration.tar and docker-compose.yaml. This files should be placed in the same folder.

To install the docker, open a terminal and run the following command, being in the same folder as the files:

docker load < fred_integration.tar

Running #

To launch the Docker container, follow these steps:

  1. Open a terminal window.
  2. Navigate to the meili folder located on your desktop.
  3. Run the following command:
docker compose up
  1. After a few messages appear, the software will be ready, and you should be able to see the robots on the FMS.
Warning: If an error appears, the next sections should probably be performed.

Vehicle Configuration #

When adding new vehicles to the system, you need to update both the FMS and the Docker container. Follow these steps:

Adding Vehicles in FMS #

  1. Go to https://app.meilirobots.com/dashboard/organization/.
  2. Navigate to the Vehicles page and click the Add Vehicle button.
  3. A window will appear. Fill in the important fields:
    • Name: FRED + serial number (e.g., FRED101)
    • Team: Select the team where the vehicle will be added
    • Integration Type: Select ROS
    • Vehicle Type: Select AMR (Select AMR even if the robot is an AGV)
    • Active: Check this checkbox
  4. Leave the rest of the fields blank and press Save.
  5. Repeat this process to add as many vehicles as needed.
Add new vehicle

Setting Up the Fleet #

  1. Go to the Fleet Setup page and click the Add Fleet Setup button.

  2. Fill in the important fields:

    • Name: Enter an easily identifiable name.
    • Team: Select the team where the vehicles are located.
    • Communication Protocol: Select websocket
    • Communication Format: Select json
    • Setup Type: Select Vehicle
  3. Click the Add new button and select one vehicle.

  4. In the Prefix field, enter / + the serial number (e.g., /101). This step is very important.

  5. Click Add. Repeat this process to add all the vehicles.

  6. Finally, click Save.

Create fleet set up

You should be able to see the new setup listed. Locate the 5-character PIN associated with the setup in the ”PIN” column, as you will need it for further configuration.

Updating the Docker #

In a terminal window, navigate to the meili folder and execute the following command:

docker compose run --rm fred_integration update_fleet $PIN

Replace $PIN with the previously mentioned PIN or any other PIN from the fleet you want to configure.

Press Enter to start the process, which will update the vehicles and launch the integration. If everything is successful, you should see the new vehicles on the FMS map.

Synchronize Tag List #

If you update the tag list or receive the warning Tag {tag_name} is not synchronized. Send map updates to the robot (when the tag is not 0) during the integration process, it indicates that the tags are not stored in the database. To resolve this issue, follow these steps:

  1. Go to the FMS team, map tab, and map editor tab (https://app.meilirobots.com/dashboard/fred-corporate/maps/modify/).
  2. Click on the Send Map Updates to Robot button located at the top right corner, identified by a paper plane icon.
  3. Some messages will appear in the terminal. Do not worry if an error message appears stating that some number of stations were expected to be received.
  4. If everything went correctly, the robots will now appear on the map.

Updating Configuration Files #

To update the tag list, use the following command as an example:

docker compose run --rm fred_integration update_config

Some messages will appear on the terminal, which commands to update each of the possible configuration files. This commands should be executed in a new terminal.

Update configuration files

In this documents, a placeholder $container_id is used for the Docker container ID. In the output terminal, this value will be substituted with the actual container ID, as seen in the image. It is recommended to copy and paste the command, then update the path to your file before executing.

Updating the Tag List #

Tag list is a file named Tag Location List.xlsx. This file contains three columns: POINT, X-Axis, and Y-Axis. POINT is the tag name, and X-Axis and Y-Axis are the coordinates of the tag.

To update the tag list, use the following command in a new terminal:

docker cp "\path\to\your\Tag Location List.xlsx" "$container_id:/code/src/data/Tag Location List.xlsx"

Copy the command and substitute path/to/your/ with the actual path of the file. Ensure the file is named Tag Location List.xlsx.

Updating the Route Deck #

Route deck is a file named ROUTE_DATA.txt. The content of this file will be published into the MQTT broker when requested by the robot.

To update the route deck, use the following command in a terminal:

docker cp "\path\to\your\ROUTE_DATA.txt" "$container_id:/code/src/data/ROUTE_DATA.txt"

Copy the command and substitute path/to/your/ with the actual path of the file. Ensure the file is named ROUTE_DATA.txt.

Updating the Lock List #

Lock list is a file named LOCK_LIST.txt. This file contains the list of critical tags where the robot should stop, and the list of tags that should be checked before moving. For example:

{
  "118": ["133", "137"],
  "140": ["141", "142", "143"]
}

To update the lock list, use the following command in a terminal:

docker cp "\path\to\your\LOCK_LIST.txt" "$container_id:/code/src/data/LOCK_LIST.txt"

Copy the command and substitute path/to/your/ with the actual path of the file. Ensure the file is named LOCK_LIST.txt.

Updating fred_config.yaml #

This file has the following structure:

mqtt_ip: 192.168.X.XX
app_name: APPNAME
robot_model: Fred
lines: ["ROUTE1", "ROUTE2", "ROUTE3"]

Here you can configure the MQTT broker IP, the app name, the robot model and the lines. Once updated, use the following command in a terminal to apply changes:

docker cp "\path\to\your\fred_config.yaml" "$container_id:/code/config/fred_config.yaml"

Copy the command and substitute path/to/your/ with the actual path of the file. Ensure the file is named fred_config.yaml.

In this version, extra help from Meili will be needed to be able to send the robots new routes.

Finishing the Update #

Once done, press Ctrl+C in the first terminal. You can now relaunch the integration code. You will need to follow the steps on the Running section to do so.