Skip to content

Commit

Permalink
[rosplan_rqt] fixes rosplan ROSPlanDispatcher rqt not showing problem
Browse files Browse the repository at this point in the history
  • Loading branch information
oscar-lima committed Jul 16, 2018
1 parent d19b748 commit 690d134
Showing 1 changed file with 19 additions and 18 deletions.
37 changes: 19 additions & 18 deletions rosplan_rqt/src/rosplan_rqt/ROSPlanDispatcher.py
Expand Up @@ -45,9 +45,9 @@ def __init__(self, plugin=None):
self.setObjectName('ROSPlanDispatcherUI')

# populate goal combo boxes
rospy.wait_for_service('/kcl_rosplan/get_domain_predicates')
rospy.wait_for_service('rosplan_knowledge_base/domain/predicates')
try:
predicates_client = rospy.ServiceProxy('/kcl_rosplan/get_domain_predicates', GetDomainAttributeService)
predicates_client = rospy.ServiceProxy('rosplan_knowledge_base/domain/predicates', GetDomainAttributeService)
resp = predicates_client()
for pred in resp.items:
self.goalNameComboBox.addItem(pred.name)
Expand All @@ -61,13 +61,14 @@ def __init__(self, plugin=None):
self._predicate_param_label_list[pred.name] = label_list
except rospy.ServiceException, e:
print "Service call failed: %s"%e

self._handle_goal_name_changed(0)
self._handle_fact_name_changed(0)

# populate type combo box
rospy.wait_for_service('/kcl_rosplan/get_domain_types')
rospy.wait_for_service('rosplan_knowledge_base/domain/types')
try:
type_client = rospy.ServiceProxy('/kcl_rosplan/get_domain_types', GetDomainTypeService)
type_client = rospy.ServiceProxy('rosplan_knowledge_base/domain/types', GetDomainTypeService)
resp = type_client()
for typename in resp.types:
self.typeComboBox.addItem(typename)
Expand Down Expand Up @@ -122,12 +123,12 @@ def start(self):
"""
def refresh_model(self):
# goals
rospy.wait_for_service('/kcl_rosplan/get_current_goals')
rospy.wait_for_service('rosplan_knowledge_base/state/goals')
selected_list = []
for item in self.goalView.selectedItems():
selected_list.append(item.text())
try:
goals_client = rospy.ServiceProxy('/kcl_rosplan/get_current_goals', GetAttributeService)
goals_client = rospy.ServiceProxy('rosplan_knowledge_base/state/goals', GetAttributeService)
resp = goals_client('')
self.goalView.clear()
self._goal_list.clear()
Expand All @@ -144,12 +145,12 @@ def refresh_model(self):
except rospy.ServiceException, e:
print "Service call failed: %s"%e
# facts and functions
rospy.wait_for_service('/kcl_rosplan/get_current_knowledge')
rospy.wait_for_service('rosplan_knowledge_base/state/propositions')
selected_list = []
for item in self.modelView.selectedItems():
selected_list.append(item.text())
try:
model_client = rospy.ServiceProxy('/kcl_rosplan/get_current_knowledge', GetAttributeService)
model_client = rospy.ServiceProxy('rosplan_knowledge_base/state/propositions', GetAttributeService)
resp = model_client('')
self.modelView.clear()
self._fact_list.clear()
Expand Down Expand Up @@ -180,7 +181,7 @@ def refresh_model(self):
expanded_list.append(item.text(0))
self.instanceView.clear()
for typename in self._type_list:
instance_client = rospy.ServiceProxy('/kcl_rosplan/get_current_instances', GetInstanceService)
instance_client = rospy.ServiceProxy('rosplan_knowledge_base/state/instances', GetInstanceService)
resp = instance_client(typename)
item = QTreeWidgetItem(self.instanceView)
item.setText(0, typename)
Expand Down Expand Up @@ -266,11 +267,11 @@ def system_status_callback(self, data):
"""
def _handle_predicate_name_change(self, predName, combo):
combo.clear()
rospy.wait_for_service('/kcl_rosplan/get_current_instances')
rospy.wait_for_service('rosplan_knowledge_base/state/instances')
parameters = []
for param_type in self._predicate_param_type_list[predName]:
try:
predicates_client = rospy.ServiceProxy('/kcl_rosplan/get_current_instances', GetInstanceService)
predicates_client = rospy.ServiceProxy('rosplan_knowledge_base/state/instances', GetInstanceService)
resp = predicates_client(param_type)
parameters.append(resp.instances)
except rospy.ServiceException, e:
Expand All @@ -286,12 +287,12 @@ def _handle_fact_name_changed(self, index):
self._handle_predicate_name_change(self.factNameComboBox.itemText(index), self.factComboBox)

"""
called when the add goal button is clicked
called when the add goal/fact button is clicked
"""
def _handle_add_button_clicked(self, updateType, predName, combo):
rospy.wait_for_service('/kcl_rosplan/update_knowledge_base')
rospy.wait_for_service('rosplan_knowledge_base/update')
try:
update_client = rospy.ServiceProxy('/kcl_rosplan/update_knowledge_base', KnowledgeUpdateService)
update_client = rospy.ServiceProxy('rosplan_knowledge_base/update', KnowledgeUpdateService)
knowledge = KnowledgeItem()
knowledge.knowledge_type = KnowledgeItem.FACT
knowledge.attribute_name = predName
Expand All @@ -318,10 +319,10 @@ def _handle_add_fact_clicked(self, data):
called when the remove goal button is clicked
"""
def _handle_remove_button_clicked(self, updateType, removeNameList, removeMsgList):
rospy.wait_for_service('/kcl_rosplan/update_knowledge_base')
rospy.wait_for_service('rosplan_knowledge_base/update')
for item in removeNameList:
try:
update_client = rospy.ServiceProxy('/kcl_rosplan/update_knowledge_base', KnowledgeUpdateService)
update_client = rospy.ServiceProxy('rosplan_knowledge_base/update', KnowledgeUpdateService)
resp = update_client(updateType, removeMsgList[item.text()])
except rospy.ServiceException, e:
print "Service call failed: %s"%e
Expand All @@ -341,9 +342,9 @@ def _handle_remove_fact_clicked(self, checked):
def _handle_add_instance_clicked(self, checked):
if self.instanceNameEdit.text() == '':
return
rospy.wait_for_service('/kcl_rosplan/update_knowledge_base')
rospy.wait_for_service('rosplan_knowledge_base/update')
try:
update_client = rospy.ServiceProxy('/kcl_rosplan/update_knowledge_base', KnowledgeUpdateService)
update_client = rospy.ServiceProxy('rosplan_knowledge_base/update', KnowledgeUpdateService)
knowledge = KnowledgeItem()
knowledge.knowledge_type = KnowledgeItem.INSTANCE
knowledge.instance_type = self.typeComboBox.currentText()
Expand Down

0 comments on commit 690d134

Please sign in to comment.