Skip to content

Commit d8efe1b

Browse files
author
Sascha Jongebloed
committed
added object designator logging
1 parent 4d1c086 commit d8efe1b

File tree

4 files changed

+44
-4
lines changed

4 files changed

+44
-4
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ catkin_python_setup()
1616
add_action_files(
1717
DIRECTORY action
1818
FILES
19+
PushObjectDesignator.action
1920
DesignatorInit.action
2021
DesignatorResolutionStart.action
2122
DesignatorResolutionFinished.action
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# Add or modify and object
22
string json_designator
3-
time start
4-
time end
3+
time stamp
54
---
65
bool success
76
string message

scripts/knowrob_designator_client.py

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import uuid
88
from time import sleep
99
from knowrob_designator.msg import (
10+
PushObjectDesignatorAction, PushObjectDesignatorGoal,
1011
DesignatorInitAction, DesignatorInitGoal,
1112
DesignatorResolutionStartAction, DesignatorResolutionStartGoal,
1213
DesignatorResolutionFinishedAction, DesignatorResolutionFinishedGoal,
@@ -25,7 +26,33 @@ def send_action(client, goal, label):
2526

2627
def main():
2728
rospy.init_node('knowrob_designator_full_test_client')
28-
29+
30+
##########################################################
31+
############### Object Designators ########################
32+
33+
# 0. PushObjectDesignator
34+
push_client = actionlib.SimpleActionClient('/knowrob/designator/push_object_designator', PushObjectDesignatorAction)
35+
push_goal = PushObjectDesignatorGoal()
36+
push_goal.json_designator = """
37+
{
38+
"anObject": {
39+
"type": "Milk"
40+
"pose": {
41+
"x": 1.0,
42+
"y": 0.5,
43+
"z": 0.75,
44+
"frame": "map"
45+
}
46+
}
47+
}
48+
"""
49+
push_goal.stamp = rospy.Time.now()
50+
send_action(push_client, push_goal, "PushObjectDesignator")
51+
52+
##########################################################
53+
############### Action Designators ########################
54+
55+
# Create a designator ID and JSON designator
2956
json_designator = """
3057
{
3158
"anAction": {
@@ -47,7 +74,6 @@ def main():
4774
}
4875
}
4976
"""
50-
5177
designator_id = f"desig_{uuid.uuid4()}"
5278
resolved_id = f"desig_{uuid.uuid4()}"
5379
now = rospy.Time.now()

scripts/knowrob_designator_service.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
# Import all designator action types
99
from knowrob_designator.msg import (
10+
PushObjectDesignatorAction, PushObjectDesignatorResult, PushObjectDesignatorFeedback,
1011
DesignatorInitAction, DesignatorInitResult, DesignatorInitFeedback,
1112
DesignatorResolutionStartAction, DesignatorResolutionStartResult, DesignatorResolutionStartFeedback,
1213
DesignatorResolutionFinishedAction, DesignatorResolutionFinishedResult, DesignatorResolutionFinishedFeedback,
@@ -22,6 +23,12 @@ def __init__(self):
2223
rospy.init_node('designator_logger_server')
2324

2425
# Start an action server for each action type
26+
self.push_object_server = actionlib.SimpleActionServer(
27+
'/knowrob/designator/push_object_designator',
28+
PushObjectDesignatorAction,
29+
execute_cb=self.handle_push_object_designator,
30+
auto_start=False
31+
)
2532
self.init_server = actionlib.SimpleActionServer(
2633
'/knowrob/designator/init',
2734
DesignatorInitAction,
@@ -61,13 +68,20 @@ def __init__(self):
6168
self.parser = DesignatorParser()
6269

6370
# Start all servers
71+
self.push_object_server.start()
6472
self.init_server.start()
6573
self.resolve_start_server.start()
6674
self.resolve_finished_server.start()
6775
self.exec_start_server.start()
6876
self.exec_finished_server.start()
6977

7078
rospy.loginfo("DesignatorLoggerServer: all servers started.")
79+
80+
def handle_push_object_designator(self, goal):
81+
rospy.loginfo(f"Push Object Designator")
82+
rospy.logdebug(f"Full JSON:\n{goal.json_designator}")
83+
result = PushObjectDesignatorResult(success=True, message="Designator pushed.")
84+
self.push_object_server.set_succeeded(result)
7185

7286
def handle_init(self, goal):
7387
rospy.loginfo(f"Init Designator: {goal.designator_id}")

0 commit comments

Comments
 (0)