ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Custom ROS capabilities. InterfaceNameNotFoundException

asked 2017-06-30 08:28:40 -0600

HaleyCurr gravatar image

updated 2017-06-30 08:31:09 -0600

Hello!

I am trying to implement a system of custom ROS capabilities for my lab-specific turtlebot_bringup. I've got it to the point where the capability_server recognizes that the package has providers and interfaces; however, it appears that the server can't find any interfaces or the semantic interface at all. I've trying tinkering around with the syntax referencing the interfaces, but no dice.

Does anybody know more about ROS capabilities to help me figure this out?

[package.xml]

<?xml version="1.0"?>
<package>
  <name>chris_bringup</name>
  <version>0.1.0</version>
  <description>chris_bringup package. Implements ROS capabilities into the chris_turtlebot_bringup setup.</description>
  <maintainer email="haley.currence.15@cnu.edu">User Name</maintainer>
  <license>BSD</license>

  <buildtool_depend>catkin</buildtool_depend>

  <export>
    <capability_interface>
      interfaces/chris_bringup.yaml
    </capability_interface>
    <capability_interface>
      interfaces/chris_turtlebot_setup.yaml
    </capability_interface>
    <capability_interface>
      interfaces/chris_ext_sensors.yaml
    </capability_interface>
    <capability_provider>
      providers/chris_turtlebot_bringup.yaml
    </capability_provider>
    <capability_provider>
      providers/chris_cmd_vel_mux.yaml
    </capability_provider>
    <capability_provider>
      providers/chris_kinect_bringup.yaml
    </capability_provider>
    <capability_provider>
      providers/chris_hokuyo_bringup.yaml
    </capability_provider>
    <capability_provider>
      providers/chris_turtlebot_node.yaml
    </capability_provider>
    <semantic_capability_interface>
      interfaces/chris_bringup_semantic.yaml
    </semantic_capability_interface>
  </export>
</package>

[semantic interface]

%YAML 1.1
---
name: chris_bringup_semantic
spec_version: 1
spec_type: semantic_interface
redefines: 'chris_bringup/chris_bringup'

[Error Message]

[ERROR] [1498828546.875217]: Errors were encountered loading capabilities:
[ERROR] [1498828546.875430]:   InterfaceNameNotFoundException: Semantic capability interface 
'chris_bringup/chris_bringup_semantic' redefines 'chris_bringup/chris_bringup', but the 
'chris_bringup/chris_bringup' interface was not found.
[ERROR] [1498828546.875578]:   InterfaceNameNotFoundException: Capability provider 
'chris_bringup/chris_turtlebot_bringup' implements 'chris_bringup/chris_bringup', but the 
'chris_bringup/chris_bringup' interface was not found.
[ERROR] [1498828546.875710]:   InterfaceNameNotFoundException: Capability provider 
'chris_bringup/chris_cmd_vel_mux.yaml' implements 'chris_bringup/chris_turtlebot_setup', but the 
'chris_bringup/chris_turtlebot_setup' interface was not found.
[ERROR] [1498828546.875840]:   InterfaceNameNotFoundException: Capability provider 
'chris_bringup/chris_kinect_bringup' implements 'chris_bringup/chris_ext_sensors', but the 
'chris_bringup/chris_ext_sensors' interface was not found.
[ERROR] [1498828546.875967]:   InterfaceNameNotFoundException: Capability provider 
'chris_bringup/chris_hokuyo_bringup' implements 'chris_bringup/chris_ext_sensors', but the 
'chris_bringup/chris_ext_sensors' interface was not found.
[ERROR] [1498828546.876091]:   InterfaceNameNotFoundException: Capability provider 
'chris_bringup/chris_turtlebot_node' implements 'chris_bringup/chris_turtlebot_setup', but the 
'chris_bringup/chris_turtlebot_setup' interface was not found.
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2017-07-03 11:20:29 -0600

HaleyCurr gravatar image

Some repositories online have their interfaces and providers formatted differently.

What worked for me was to have your interface name defined as name: interface instead of name: interface.yaml. Another thing to note is that the launch_file path for your providers does not have to be a path routed from the root. The server is looking for the launch files in the provider package, so it can just be launch/provider.launch.

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2017-06-30 08:28:40 -0600

Seen: 131 times

Last updated: Jul 03 '17