-
Notifications
You must be signed in to change notification settings - Fork 0
LabCeGoR 2022
Lab course at the KBSG in the winter term 2022/2023, see also the KBSG website.
- Oct 20: Intro Meeting (slides)
- Oct 27: Goal Reasoning Fundamentals (slides), CLIPS Executive Implmentation (slides), CLIPS code example and CLIPS manual
- Dec 08: Start with Task 2, see the official rulebook for details.
See instructions here: KBSG-VNC
See instructions here: Simulation-Setup
- Group 1: Vishwas, Mazhd, Rishabh (group 1 wiki)
- Group 2: Ang, Hanbin (group 2 wiki)
- Group 3: David, Anis, Falk (group 3 wiki)
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.
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
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:
- The default agent that is started by the clips-executive is now called
labcegor
- The agent specification for that agent can be found in
fawkes-robotino/cfg/conf.d/clips-executive.yaml
. - 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:
- go to the
~/rcll-refbox
directory and check out the branchtviehmann/labcegor22
. - re-build the whole refbox by doing
cd ~/rcll-refbox/ ; make clean; make -j$(nproc)
- 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