ease-crc / soma

The Socio-physical Model of Activities (SOMA) is a formal activity model for embodied agents that need to operate their body to generate motions that cause intentional effects in the physical and social world.
GNU Lesser General Public License v3.0
16 stars 22 forks source link

Mapping CRAM Actions to SOMA Tasks #158

Open seba90 opened 3 years ago

seba90 commented 3 years ago

Hi guys,

I created a table with the current CRAM actions which the robot is executes while setting up a breakfast table. It would be great if we can find official SOMA label for the corresponding CRAM actions which I can later use for the NEEM recording. The table is structured as follows:

CRAM Action SOMA Task CRAM Comment SOMA Comment STATUS
Accessing Accessing Seba: I defined the SOMA Label by myself
Closing Closing DONE
Delivering Delivering Seba: I defined the SOMA Label by myself
Detecting Detecting Seba: I defined the SOMA Label by myself
Fetching Fetching Seba: I defined the SOMA Label by myself
GetActionGrasps GetActionGrasps Seba: Is a reasoning task and I defined the SOMA Label by myself
GetActionGripperOpening GetActionGripperOpening Seba: Is a reasoning task and I defined the SOMA Label by myself
GetActionGrippingEffort GetActionGrippingEffort Seba: Is a reasoning task and I defined the SOMA Label by myself
GetActionTrajectory GetActionTrajectory Seba: Is a reasoning task and I defined the SOMA Label by myself
GetContainerClosingDistance GetContainerClosingDistance Seba: Is a reasoning task and I defined the SOMA Label by myself
GetContainerOpeningDistance GetContainerOpeningDistance Seba: Is a reasoning task and I defined the SOMA Label by myself
GetLocationPoses GetLocationPoses Seba: Is a reasoning task and I defined the SOMA Label by myself
Grasping Grasping DONE
Lifting Lifting DONE
looking LookingAt DONE
searching LookingFor DONE
putting Lowering DONE
MonitoringJointState MonitoringJointState Seba: I defined the SOMA Label by myself
Going MovingTo DONE
navigating Navigating DONE
opening Opening DONE
ParkingArms ParkingArms: Seba: I defined the SOMA Label by myself
Perceiving Perceiving DONE
picking-up PickingUp DONE
placing Placing' DONE
PositioningArm PositioningArm Seba: I defined the SOMA Label by myself
pulling Pulling Seba: I defined the SOMA Label by myself
pushing Pushing DONE
reaching Reaching DONE
releasing Releasing DONE
retracting Retracting DONE
sealing Sealing Seba: I defined the SOMA Label by myself
SettingGripper SettingGripper Seba: I defined the SOMA Label by myself
Transporting Transporting Seba: I defined the SOMA Label by myself
mpomarlan commented 3 years ago

There is already a Transporting task.

I see lots of GetX tasks. This suggests to me the following approach: how about we have a reasoning task called GetParameter which we define in SOMA, and any other GetX tasks as required in the table get defined somewhere else (e.g. in a CRAM-specific owl) as subclasses of GetParameter?

mpomarlan commented 3 years ago

Can you give me a definition/description for Accessing and Sealing? Likewise for SettingGripper?

Finally, is Detecting an action/task or an event? To me it seems detecting is what might happen while performing a search or monitoring task, rather than a task itself.

gaya- commented 3 years ago

Accessing and Sealing and silly names for "achieving a container opened or closed state", which includes navigating, finding the container, (one day it should also include detecting the handle) doing failure handling, and executing the actual opening and closing trajectories.

SettingGripper is setting gripper joint to the given joint value. It usually is used to open the gripper to a specific value (not completely) to grasp things in tight spaces. But one can also use it to close the gripper when grasping, but typically closing the gripper assumes completely going to 0 joint angle, and SettingGripper can be used to close the gripper to a specific value. Shortly said, it's a moving a gripper joint action.

Detecting is an action because our perception works on demand.

mpomarlan commented 3 years ago

Ok, that's clarifying most of my questions. About detecting: so how is it supposed to work? You make a query to the perception system of the form "can you see a cup here?"

gaya- commented 3 years ago

Yes.

ayden175 commented 1 year ago

What is the state of this issue? Is it still open or do all CRAM actions now have a corresponding mapping (or are not planned to be added)?