Hi,
I have posted in StackOverflow, http://stackoverflow.com/questions/24517991/getting-my-own-ros-package-on-gumstix-overo-bitbake-yocto-project But I think this is the right place to ask the question: I'm trying to get my own ROS package to work on a Gumstix Overo. The final goal of the project would be to get an image from the Caspa (camera) and stream it with ROS. To do so, I had the most success with the Yocto project: Pocky, which uses the bitbake crosscompile tool chaine. To do so, I fallowed the fallowing instruction from the README.md in this github repo: https://github.com/gumstix/Gumstix-YoctoProject-Repo FYI, the instructions for the actual flashing and installing are clearer on the official Gumstix web site. I was successful at compiling the bitbake project with all the ROS metadata and extras with the fallowing commande: $ bitbake gumstix-console-image . (takes quite a while and lots and lots of disk space) and later on, flashing and installing. And here is my package I tried to compile: https://github.com/elikos/groundStationPublic I tried to keep the folder as plain as possible to limit the potential path issues, so everything is at the base dir... (very ugly, I know) Here is my CMakelist.txt: cmake_minimum_required(VERSION 2.8.3) project(groundStationPublic) ## Find catkin and any catkin packages find_package(catkin REQUIRED COMPONENTS cv_bridge image_transport roscpp rospy std_msgs genmsg) find_package(OpenCV REQUIRED) ## Declare ROS messages and services #add_message_files(FILES Num.msg) #add_service_files(FILES AddTwoInts.srv) ## Generate added messages and services #generate_messages(DEPENDENCIES std_msgs) ## Declare a catkin package catkin_package() include_directories(include ${catkin_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS}) add_executable(talker talker.cpp) target_link_libraries(talker ${catkin_LIBRARIES}) #add_dependencies(talker beginner_tutorials_generate_messages_cpp) add_executable(listener listener.cpp) target_link_libraries(listener ${catkin_LIBRARIES}) #add_dependencies(listener beginner_tutorials_generate_messages_cpp) add_executable(cornerDetection main.cpp ConerDetection.cpp LineDetection.cpp ImagePublisher.cpp) target_link_libraries(cornerDetection ${catkin_LIBRARIES} ${OpenCV_LIBRARIES}) add_executable(bonPublisher bonPublisher.cpp) target_link_libraries(bonPublisher ${catkin_LIBRARIES} ${OpenCV_LIBRARIES}) And here is my bitbake recipy for the package: DESCRIPTION = "Elikos groundstation code." SECTION = "devel" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=d566ef916e9dedc494f5f793a6690ba5" DEPENDS = "roscpp rospy catkin std-msgs" RDEPENDS_${PN} = "roscpp rospy std-msgs" SRC_URI = "git://github.com/elikos/groundStationPublic.git" SRCREV = "${AUTOREV}" PV = "1.0.0+gitr${SRCPV}" S = "${WORKDIR}/git" inherit catkin ROS_SPN = "groundStationPublic" I have located it in ~/yocto/poky/meta-ros/recipes-ros/groundStationPublic If I execute the commande bitbake groundStationPublic, every thing compiles fine. No errors. (you may get an error from x264_git, but the correct sourcrev is: SRCREV = "ffc3ad4945da69f3caa2b40e4eed715a9a8d9526") *Finally, my questions are:* - Where is my package located at in the image? - It's not in the /usr/share/ like I would expect it to be... - how do I run my package if rosrun can't find it? (probably because its simply not there) - I would expect it to be somthing like rosrun groundStationPublic talker Thanks, Marc-andré
