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

Using custom messages in ROSAndroid

asked 2014-08-13 07:50:20 -0500

stefan gravatar image

updated 2014-08-14 03:16:22 -0500

Hi,

i am doing http://wiki.ros.org/rosjava/Tutorials... and http://wiki.ros.org/ROS/Tutorials/Cre...

can anyone have a short look on my CMakeList.txt?

When i do catkin_make i get the error

-- ==> add_subdirectory(custom_msgs)
-- Using these message generators: gencpp;genlisp;genpy
CMake Error at /opt/ros/hydro/share/genmsg/cmake/genmsg-extras.cmake:85 (message): 
  add_message_files() directory not found:
  /home/user/rosjava/src/custom_msgs/msg
Call Stack (most recent call first):
 custom_msgs/CMakeLists.txt:68 (add_message_files)


-- Configuring incomplete, errors occurred!
 make: *** [cmake_check_build_system] Fehler 1
Invoking "make cmake_check_build_system" failed

In my Folder custom_msgs i have the file mycustomMSG.msg

CMakeList:

 cmake_minimum_required(VERSION 2.8.3)
 project(custom_msgs)



 ##Tutorial http://wiki.ros.org/ROS/Tutorials/CreatingMsgAndSrv

 ## Find catkin macros and libraries
 ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
 ## is used, also find other catkin packages



 ##find_package(catkin REQUIRED COMPONENTS
 ##  std_msgs
 ##)


 find_package(catkin REQUIRED COMPONENTS
    roscpp
    rospy
    std_msgs
    message_generation
 )

 ## System dependencies are found with CMake's conventions
 # find_package(Boost REQUIRED COMPONENTS system)


 ## Uncomment this if the package has a setup.py. This macro ensures
 ## modules and global scripts declared therein get installed
 ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
 # catkin_python_setup()

 ################################################
 ## Declare ROS messages, services and actions ##
 ################################################

 ## To declare and build messages, services or actions from within this
 ## package, follow these steps:
 ## * Let MSG_DEP_SET be the set of packages whose message types you use in
 ##   your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
 ## * In the file package.xml:
 ##   * add a build_depend and a run_depend tag for each package in MSG_DEP_SET
 ##   * If MSG_DEP_SET isn't empty the following dependencies might have been
 ##     pulled in transitively but can be declared for certainty nonetheless:
 ##     * add a build_depend tag for "message_generation"
 ##     * add a run_depend tag for "message_runtime"
 ## * In this file (CMakeLists.txt):
 ##   * add "message_generation" and every package in MSG_DEP_SET to
 ##     find_package(catkin REQUIRED COMPONENTS ...)
 ##   * add "message_runtime" and every package in MSG_DEP_SET to
 ##     catkin_package(CATKIN_DEPENDS ...)
 ##   * uncomment the add_*_files sections below as needed
 ##     and list every .msg/.srv/.action file to be processed
 ##   * uncomment the generate_messages entry below
 ##   * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)

 ## Generate messages in the 'msg' folder
 ## add_message_files(
 ##   FILES
 ##   Message1.msg
 ##   Message2.msg
 ## )



  add_message_files(
    FILES
    mycustomMSG.msg
  )




 ## Generate services in the 'srv' folder
 # add_service_files(
 #   FILES
 #   Service1.srv
 #   Service2.srv
 # )

 ## Generate actions in the 'action' folder
 # add_action_files(
 #   FILES
 #   Action1.action
 #   Action2.action
 # )

 ## Generate added messages and services with any dependencies listed here
 ##uncommented
  generate_messages(
    DEPENDENCIES
    std_msgs
  )     

 ###################################
 ## catkin specific configuration ##
 ###################################
 ## The catkin_package macro generates cmake config files for your package
 ## Declare things to be passed to dependent projects
 ## INCLUDE_DIRS: uncomment this if you package contains header files
 ## LIBRARIES: libraries you create in this project that dependent projects also need
 ## CATKIN_DEPENDS: catkin_packages dependent projects also need
 ## DEPENDS: system dependencies of this project that dependent projects also need
 catkin_package(
 #  INCLUDE_DIRS include
 #  LIBRARIES custom_msgs
 #  CATKIN_DEPENDS std_msgs message_runtime
 #  DEPENDS system_lib
 )

 ###########
 ## Build ##
 ###########

 ## Specify additional locations of header files
 ## Your package locations should be listed before other locations
 # include_directories(include)
 include_directories(
   ${catkin_INCLUDE_DIRS}
 )     

 ## Declare a cpp library
 # add_library(custom_msgs
 #   src/${PROJECT_NAME}/custom_msgs.cpp
 # )

 ## Declare ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
1

answered 2014-08-13 08:38:10 -0500

Wolf gravatar image

You have to put the message file mycustomMSG.msg into the subfolder msg of your project folder custom_msgs. If it does not exist, you have to create the folder msg and püut the message file into it. add_message_files does not look directly in your project folder but only in the msg subfolder, i. e. if you message files lies there (next to CMakeLists.txt and package.xml) it won't be found..............

edit flag offensive delete link more

Comments

Hi, I've succesfully created my custom_msg with the msg and srv subfolder. I'm trying to use this package on the rosjava_tutorial_services, but the compiler says that the custom_msg package doesn't exist. Do you have some suggestion on how to build the project in a correct way?

denis gravatar image denis  ( 2016-01-11 04:26:12 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2014-08-13 07:50:20 -0500

Seen: 1,659 times

Last updated: Aug 14 '14