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é

Reply via email to