Skip to main content
IntEL4CoRo
  • Home
  • More
English (United States) ‎(en_us)‎
English ‎(en)‎ English (United States) ‎(en_us)‎
You are currently using guest access
Log in
Home
  1. Robotics
  2. KRR
  3. Exercises
Assignment

Exercises

Completion requirements
Opened: Friday, September 16, 2022, 12:00 AM

In this exercise you will write your own predicates and queries to reason about the symbolic representation of a robot, and the events performed by the robot within a recorded NEEM. Before starting the exercise we recommend to go through tutorials hosted at the openEASE website: https://data.open-ease.org/tutorials/

Exercise 1: Robot Structure

In the first part of this exercise you will define relationships that are implemented via reasoning about the symbolic representation of the robot. You can test your implemented predicates at the following link:
https://data.open-ease.org/2021-robot-mooc-ex1

  1. Write the predicate robotPart(Robot, Part, PartType) where Part is reachable by Robot through the transitive closure of the parthood relationship dul:’hasPart’, and PartType is a type of Part, and a subclass of dul:’PhysicalObject’.
    Tip: The type of an object can be obtained by rdf:type, and its subclasses by rdfs:subClassOf.
  2. Write a query that answers the following questions: (1) What are the reference frames associated to the base link of arms of the PR2 robot, and (2) how are the arms positioned relative to the base of the robot?
    Tips: The PR2 robot is identified by pr2:’PR2_0’, the type
    of arm components is pr2:’PR2Arm’, and their base link reference frame can be obtained through their property urdf:hasBaseLinkName. The base of the robot is of type pr2:’PR2Base’. The position of an object O can be obtained via the 2-ary predicate tf:tf_get_pose, written as tf:tf_get_pose(O, [F, Position, _]) , where the position of O is expressed relative to the reference frame F.
Exercise 2: Episode Structure
In this exercise, you will write queries for a recorded robotic NEEM. Under the following link you can find the website where you can test your queries on the NEEM: https://data.open-ease.org/2021-robot-mooc-ex2

The link sends you to an real query interface for a recorded episode. With the Examples button you can try different queries on the episode. Write the following queries:

  1. Write a query that yields the shortest action in which a transporting task was executed.
    Tip: You can use event_interval(Action, Start, End), where Action is the given action, and Start and End the start- and endtimepoint of the action. Use number(End) to ensure that Start and End is bound to a rational number. To obtain the executed task you can use the property dul:executesTask. The type of the task is soma:’Transporting’.
  2. Write a query that yields the type of tasks that are executed in actions in which an agent manipulates an item.
    Tip: Being an item in an action is the role an object plays when a task is executed, the roles of a task are denoted by the dul:isTaskOf property. The type of the role of manipulated items is soma:’Item’, and, for agents in a
    task, the role type is soma:’AgentRole’.


◄ References
Social forum ►
Contact site support
You are currently using guest access (Log in)
Data retention summary
Powered by Moodle