I have found the answer, I posted it on the stack oveflow: http://stackoverflow.com/questions/24517991/getting-my-own-ros-package-on-gumstix-overo-bitbake-yocto-project Thanks. Marc-André
On Thursday, 3 July 2014 11:01:18 UTC-4, Marc Andre Ruel wrote: > > 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é >