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

Revision history [back]

click to hide/show revision 1
initial version

I made the non-ROS-package version of Fovis as a ROS package that works with kinect. I show you what I have done:

-Create a ROS package (I also made the package to be an eclipse project). Inside the package, add 2 directories: /your_package/fovis and /your_package/src.

-Download the fovis library wherever you want.

-Copy the files from fovis source in /fovis/libfovis/libfovis (excluded the cmakelist inside), place them into /your_package/fovis

-Actually, there is a Kinect example in fovis source, which is in /fovis/libfovis/examples/fv-example-openni. Copy main.cpp, data_capture.cpp and depth_image.cpp into /your_package/src .

-Add these lines into cmakelist file in the package.

include_directories(/usr/include/openni)

rosbuild_add_executable(ros_frame src/ros_frame.cpp src/data_capture.cpp fovis/depth_image.cpp fovis/fast.cpp fovis/feature_matcher.cpp fovis/frame.cpp fovis/gauss_pyramid.c fovis/grid_filter.cpp fovis/initial_homography_estimation.cpp fovis/intensity_descriptor.cpp fovis/internal_utils.cpp fovis/motion_estimation.cpp fovis/normalize_image.cpp fovis/primesense_depth.cpp fovis/pyramid_level.cpp fovis/rectification.cpp fovis/refine_feature_match.cpp fovis/refine_motion_estimate.cpp fovis/stereo_depth.cpp fovis/stereo_frame.cpp fovis/stereo_rectify.cpp fovis/tictoc.cpp fovis/visual_odometry.cpp  )

find_package(Eigen REQUIRED)

include_directories(${Eigen_INCLUDE_DIRS})

target_link_libraries(ros_frame OpenNI)

-Add these lines into manifest.xml in the package.

<rosdep name="eigen" />
<rosdep name="openni-dev" />
<rosdep name="ps-engine" />

<rosdep name="eigen"/><rosdep name="openni-dev"/><rosdep name="ps-engine"/>

-Use "rosdep install your_package" command to install the needed libraries.

-Connect the kinect and run the package in eclispe.

I dont know if there are some easier ways, but it works for me.

I made the non-ROS-package version of Fovis as a ROS package that works with kinect. I show you what I have done:

-Create a ROS package (I also made the package to be an eclipse project). Inside the package, add 2 directories: /your_package/fovis /fovis and /your_package/src./src.

-Download the fovis library wherever you want.

-Copy the files from fovis source in /fovis/libfovis/libfovis (excluded the cmakelist inside), place them into /your_package/fovis

-Actually, there is a Kinect example in fovis source, which is in /fovis/libfovis/examples/fv-example-openni. Copy main.cpp, data_capture.cpp and depth_image.cpp into /your_package/src .

-Add these lines into cmakelist file in the package.

include_directories(/usr/include/openni)

rosbuild_add_executable(ros_frame src/ros_frame.cpp src/data_capture.cpp fovis/depth_image.cpp fovis/fast.cpp fovis/feature_matcher.cpp fovis/frame.cpp fovis/gauss_pyramid.c fovis/grid_filter.cpp fovis/initial_homography_estimation.cpp fovis/intensity_descriptor.cpp fovis/internal_utils.cpp fovis/motion_estimation.cpp fovis/normalize_image.cpp fovis/primesense_depth.cpp fovis/pyramid_level.cpp fovis/rectification.cpp fovis/refine_feature_match.cpp fovis/refine_motion_estimate.cpp fovis/stereo_depth.cpp fovis/stereo_frame.cpp fovis/stereo_rectify.cpp fovis/tictoc.cpp fovis/visual_odometry.cpp  )

find_package(Eigen REQUIRED)

include_directories(${Eigen_INCLUDE_DIRS})

target_link_libraries(ros_frame OpenNI)

-Add these lines into manifest.xml in the package.

<rosdep name="eigen" />
<rosdep name="openni-dev" />
<rosdep name="ps-engine" />

<rosdep name="eigen"/><rosdep name="openni-dev"/><rosdep name="ps-engine"/>

-Use "rosdep install your_package" command to install the needed libraries.

-Connect the kinect and run the package in eclispe.

I dont know if there are some easier ways, but it works for me.