Skip to content

LabCeGoR 2022

Tarik Viehmann edited this page Dec 15, 2022 · 18 revisions

Lab course at the KBSG in the winter term 2022/2023, see also the KBSG website.

Meetings

Setup instructions

Setting up your account and VNC

See instructions here: KBSG-VNC

Workspace setup

See instructions here: Simulation-Setup

Group Assignment

Git Usage

Make sure your name and email address (rwth address) is correctly set in the global git config of your lab machine.

10:43 $ git config --global user.name
Tarik Viehmann
10:43 $ git config --global user.email
[email protected]

Further, check Workflows for guidelines of how to name your branches and how to write commit messages.

Task 1: Visit-All

In order to get used to working with the Clips Executive, the first task is to write an agent that visits all machines on the field. You can use the fawkes-robotino branch common/labcegor22 as baseline. There you can find an agent that lets the first robot drive to a base station. The configuration for the agent can be found in fawkes-robotino/cfg/conf.d/clips-executive.yaml.

a) Get familiar with the current behavior of that agent, focus on the main components that are located in fawkes-robotino/src/clips-specs/visit-all/ (for completeness, the clips code of the clips-executive core module can be found on fawkes-robotino/fawkes/src/plugins/clips-executive/clips). A useful tool to see what is currently happening is to look into the frontend of the central agent (localhost:8091). Likewise, the log file debug11_YYYY-MM-DD_HH-MM-SS.log find out what has happened throughout the execution, debug11_latest.log always points to the latest log file. It may be helpful to revisit the basics of the CLIPS-Executive by looking at the slides from the introductory meeting.

b) Adapt the agent to control a robot, such that it visits all machines of your team

c) Use more than one robot to visit all machines of your team

Task 2: Playing the RCLL Game

Pull the latest revision of common/labcegor22 (you will likely need to hard reset via git reset --hard origin/common/labcegor22 if your local revision of the common/labcegor22 branch diverged) and the latest fawkes master. There you find a similar structure to the one from the visitall task:

  1. The default agent that is started by the clips-executive is now called labcegor
  2. The agent specification for that agent can be found in fawkes-robotino/cfg/conf.d/clips-executive.yaml.
  3. Some skeleton code can be found in fawkes-robotino/src/clips-specs/labcegor/, which lets a robot drive to the cap station C-CS1 to buffer a cap.

Before this branch works you will need to follow the following steps:

  1. go to the ~/rcll-refbox directory and check out the branch tviehmann/labcegor22.
  2. re-build the whole refbox by doing cd ~/rcll-refbox/ ; make clean; make -j$(nproc)
  3. re-build the protobuf messages within fawkes robotino by doing cd ~/fawkes-robotino/src/libs/llsf_msgs/ ; make clean; make

Your task is to build an agent that can produce the orders that are given by the refbox, the rules of the game can be found here. You will need to define your own goals, select them according to your production strategy and distribute them among your robots and craft suitable plans. You can follow along the following milestones to achieve this:

a) Get familiar with the current behavior of that agent

b) Adapt the agent to control a robot to produce a simple product to completion

c) Collaborate with multiple robots to complete a product

d) Build multiple orders simultaneously

Clone this wiki locally