srv / fovis Goto Github PK
View Code? Open in Web Editor NEWROS wrapper for fovis, a visual odometry library
ROS wrapper for fovis, a visual odometry library
Hi there,
I'm trying mono_depth_odometer
with a changed topic: /camera/rgb/image_rect_color
instead of /camera/rgb/image_rect_mono
, with an Asus Xtion Pro Live.
The thing is I have a Haswell i7 3.4Ghz computer running Ubuntu 12.04 with ROS Hydro and still getting a 2/3 hz tf
published! :S when echoing the pose I also see that the command line echo log seems very slow.
Is there a possible explanation to this? Supposedly this is a "fast" odometry framework, and it's revealing to be slower than the other packages I have here. I'll be using this in a MAV with and Embedded ARM, but first want it to test it in my laptop. If I get this results on my laptop I will probably get even worse in a ARM platform.
Thanks in advance!
The package should be catkinized and released for groovy.
We should rename the branches:
master
->fuerte
develop
->fuerte-devel
Branch off new branches groovy
and groovy-devel
Catkinize groovy-devel
branch and merge to groovy
when finished
Point default branch (HEAD) to groovy
Update rosdistro files for fuerte and groovy.
Hello I have posted a query here http://answers.ros.org/question/197006/error-while-building-fovis_ros/
After I do catkin_make in my catkin_ws folder, the package starts building. But at about 98% of completion it shows an error. I can't tell you the specific error as it shows lot of undefined function and variables after it start linking mono_odometry and stereo_odometry file. Please help me build this package. It's urgent as i am using it in my final year project.
Hi,
Thank you for contributing the fovis open source library! Currently I have some problem on fovis hydro version.
First, I downloaded the hydro version package from ros wiki(http://wiki.ros.org/fovis_ros) by $git clone https://github.com/srv/fovis.git
Then I used $catkin_make under the catkin_ws directory.
The following problems occurred:
CMake Error at /opt/ros/hydro/share/catkin/cmake/catkinConfig.cmake:75 (find_package):
Could not find a configuration file for package libfovis.
Set libfovis_DIR to the directory containing a CMake configuration file for
libfovis. The file will have one of the following names:
libfovisConfig.cmake
libfovis-config.cmake
Could anyone provide some suggestions? I am using Ubuntu12.04 , and ros hydro.
Many thanks in advance! :)
I try to run fovis by using the command:rosrun fovis_ros fovis_mono_depth_odometer
Then I get the following messages:
[ WARN] [1448431567.223441676]: fovis odometry status: NO_DATA
[ WARN] [1448431567.269142475]: fovis odometry status: INSUFFICIENT_INLIERS
[ WARN] [1448431567.330962002]: fovis odometry status: INSUFFICIENT_INLIERS
[ WARN] [1448431570.653291787]: fovis odometry status: REPROJECTION_ERROR
My environment: ROS hydro, Ubuntu 12.04 LTS
I already tried but it gives me issues on libfovis related to -msse2 and -msse3, which are x86 compatible only. Is there any way of pull a solution to this?
Thanks!
Hi all,
I'm using Bumblebee2 to run fovis in ros for stereo VO, the fovis_note always output failed status which is INSUFFICIENT INLIERS.
Here is my test process:
roslaunch camera1394stereo stereo_camera_full.launch
rosrun fovis_ros fovis_stereo_odometer stereo:=stereo_camera image:=image_raw
Do I run it in a right way?
I note that fovis_ros tells me a warn that i should use image_rect. Is that the reason?
What's the difference between image_raw and image_rect?
Thanks.
I tried to use fovis_ros with kinect But I got these msgs:
[ WARN] [1400569554.215914118]: The tf from '/base_link' to '/camera_rgb_optical_frame' does not seem to be available, will assume it as identity!
[ERROR] [1400569559.823182401]: fovis odometry failed: INSUFFICIENT_INLIERS
Thanks for attention
I can't find files
Are the work completed?
We're turning on arm builds and libfovis is failing due to manually setting flags.
http://54.183.26.131:8080/job/Ibin_arm_uThf__libfovis__ubuntu_trusty_armhf__binary/171/console
[ 4%] Building CXX object CMakeFiles/fovis.dir/libfovis/frame.cpp.o
/usr/lib/ccache/arm-linux-gnueabihf-g++ -Dfovis_EXPORTS -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/eigen3 -I/tmp/binarydeb/ros-indigo-libfovis-0.0.7/libfovis -Wall -msse2 -msse3 -o CMakeFiles/fovis.dir/libfovis/frame.cpp.o -c /tmp/binarydeb/ros-indigo-libfovis-0.0.7/libfovis/frame.cpp
arm-linux-gnueabihf-g++: error: unrecognized command line option ‘-msse2’
arm-linux-gnueabihf-g++: error: unrecognized command line option ‘-msse3’
Environment: Ubuntu 12.04, ROS-Hydro.
Hi,
I executed openni node by following command.
$ roslaunch openni_launch openni.launch
And I have made some mappings of topics by followings.
However, I got Segmentation Fault and NO_DATA output.
[ INFO] [1402637548.003299708]: Initialized fovis odometry with the following options:
bucket_height = 80
bucket_width = 80
clique_inlier_threshold = 0.1
fast_threshold = 20
fast_threshold_adaptive_gain = 0.005
feature_search_window = 25
feature_window_size = 9
inlier_max_reprojection_error = 1.5
max_keypoints_per_bucket = 25
max_mean_reprojection_error = 10.0
max_pyramid_level = 3
min_features_for_estimate = 10
min_pyramid_level = 0
ref_frame_change_threshold = 150
stereo_max_disparity = 128
stereo_max_dist_epipolar_line = 1.5
stereo_max_refinement_displacement = 1.0
stereo_require_mutual_match = true
target_pixels_per_feature = 250
update_target_features_with_refined = false
use_adaptive_threshold = true
use_bucketing = true
use_homography_initialization = true
use_image_normalization = false
use_subpixel_refinement = true
[ WARN] [1402637548.018896710]: fovis odometry status: NO_DATA
[fovis-1] process has died [pid 15181, exit code -11, cmd /home/asctec/catkin_ws/devel/lib/fovis_ros/fovis_mono_depth_odometer /camera/rgb/image_rect:=/camera/rgb/image_color /camera/depth_registered/image_rect:=/camera/depth/image_rect /camera/depth_registered/camera_info:=/camera/depth/camera_info __name:=fovis __log:=/home/asctec/.ros/log/1226ddfa-f2bc-11e3-b876-c4d9875b3f38/fovis-1.log].
log file: /home/asctec/.ros/log/1226ddfa-f2bc-11e3-b876-c4d9875b3f38/fovis-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done
Hi,
Please correct me if I am wrong. If I understood correctly, 'odom_frame_id' is the world fixed frame, and 'base_link_frame_id' is the moving frame attached to the camera/robot and the odom and pose messages describe the same pose in different manners. The odom message is correctly publishing the pose of the child_frame_id (base_link) on the header.frame_id (odom). But the pose message which describes the robot's current pose is refering to the base_link instead of the odom_frame. I believe the frame_id of this message should refer to the world fixed frame (odom).
After changing line 123 in the file odometer_base.hpp from base_link_frame_id_ to odom_frame_id_ everything seems to work. Could you please confirm this or explain my mistake otherwise?
Thanks!
Daniel
catkin_make
Base path: /home/jackcviers/Development/fovis_ws
Source space: /home/jackcviers/Development/fovis_ws/src
Build space: /home/jackcviers/Development/fovis_ws/build
Devel space: /home/jackcviers/Development/fovis_ws/devel
Install space: /home/jackcviers/Development/fovis_ws/install
####
#### Running command: "cmake /home/jackcviers/Development/fovis_ws/src -DCATKIN_DEVEL_PREFIX=/home/jackcviers/Development/fovis_ws/devel -DCMAKE_INSTALL_PREFIX=/home/jackcviers/Development/fovis_ws/install" in "/home/jackcviers/Development/fovis_ws/build"
####
-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Using CATKIN_DEVEL_PREFIX: /home/jackcviers/Development/fovis_ws/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/indigo
-- This workspace overlays: /opt/ros/indigo
-- Found PythonInterp: /usr/bin/python (found version "2.7.6")
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/jackcviers/Development/fovis_ws/build/test_results
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.6.9
-- BUILD_SHARED_LIBS is on
WARNING: Package "libg2o" does not follow the version conventions. It should not contain leading zeros (unless the number is 0).
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~ traversing 2 packages in topological order:
-- ~~ - fovis (metapackage)
-- ~~ - fovis_ros
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin metapackage: 'fovis'
-- ==> add_subdirectory(fovis/fovis)
-- +++ processing catkin package: 'fovis_ros'
-- ==> add_subdirectory(fovis/fovis_ros)
-- Using these message generators: gencpp;genlisp;genpy
-- checking for module 'eigen3'
-- found eigen3, version 3.2.0
-- Found eigen: /usr/include/eigen3
-- Boost version: 1.54.0
-- Found the following Boost libraries:
-- system
-- filesystem
-- thread
-- date_time
-- iostreams
-- serialization
-- checking for module 'flann'
-- found flann, version 1.8.4
-- Found Flann: /usr/lib/x86_64-linux-gnu/libflann_cpp_s.a
-- Found qhull: /usr/lib/x86_64-linux-gnu/libqhull.so
-- checking for module 'openni-dev'
-- package 'openni-dev' not found
-- Found openni: /usr/lib/libOpenNI.so
-- Found libusb-1.0: /usr/include
-- checking for module 'openni-dev'
-- package 'openni-dev' not found
-- checking for module 'openni-dev'
-- package 'openni-dev' not found
-- looking for PCL_COMMON
-- Found PCL_COMMON: /usr/lib/libpcl_common.so
-- looking for PCL_KDTREE
-- Found PCL_KDTREE: /usr/lib/libpcl_kdtree.so
-- looking for PCL_OCTREE
-- Found PCL_OCTREE: /usr/lib/libpcl_octree.so
-- looking for PCL_SEARCH
-- Found PCL_SEARCH: /usr/lib/libpcl_search.so
-- looking for PCL_SURFACE
-- Found PCL_SURFACE: /usr/lib/libpcl_surface.so
-- looking for PCL_GEOMETRY
-- Found PCL_GEOMETRY: /usr/include/pcl-1.7
-- looking for PCL_SAMPLE_CONSENSUS
-- Found PCL_SAMPLE_CONSENSUS: /usr/lib/libpcl_sample_consensus.so
-- looking for PCL_FILTERS
-- Found PCL_FILTERS: /usr/lib/libpcl_filters.so
-- looking for PCL_FEATURES
-- Found PCL_FEATURES: /usr/lib/libpcl_features.so
-- looking for PCL_SEGMENTATION
-- Found PCL_SEGMENTATION: /usr/lib/libpcl_segmentation.so
-- looking for PCL_IO
-- Found PCL_IO: /usr/lib/libpcl_io.so
-- looking for PCL_REGISTRATION
-- Found PCL_REGISTRATION: /usr/lib/libpcl_registration.so
-- looking for PCL_KEYPOINTS
-- Found PCL_KEYPOINTS: /usr/lib/libpcl_keypoints.so
-- looking for PCL_RECOGNITION
-- Found PCL_RECOGNITION: /usr/lib/libpcl_recognition.so
-- looking for PCL_VISUALIZATION
-- Found PCL_VISUALIZATION: /usr/lib/libpcl_visualization.so
-- looking for PCL_PEOPLE
-- Found PCL_PEOPLE: /usr/lib/libpcl_people.so
-- looking for PCL_OUTOFCORE
-- Found PCL_OUTOFCORE: /usr/lib/libpcl_outofcore.so
-- looking for PCL_TRACKING
-- Found PCL_TRACKING: /usr/lib/libpcl_tracking.so
-- looking for PCL_APPS
-- Found PCL_APPS: /usr/lib/libpcl_apps.so
-- Found PCL: /usr/lib/x86_64-linux-gnu/libboost_system.so;/usr/lib/x86_64-linux-gnu/libboost_filesystem.so;/usr/lib/x86_64-linux-gnu/libboost_thread.so;/usr/lib/x86_64-linux-gnu/libboost_date_time.so;/usr/lib/x86_64-linux-gnu/libboost_iostreams.so;/usr/lib/x86_64-linux-gnu/libboost_serialization.so;/usr/lib/x86_64-linux-gnu/libpthread.so;optimized;/usr/lib/libpcl_common.so;debug;/usr/lib/libpcl_common.so;optimized;/usr/lib/x86_64-linux-gnu/libflann_cpp_s.a;debug;/usr/lib/x86_64-linux-gnu/libflann_cpp_s.a;optimized;/usr/lib/libpcl_kdtree.so;debug;/usr/lib/libpcl_kdtree.so;optimized;/usr/lib/libpcl_octree.so;debug;/usr/lib/libpcl_octree.so;optimized;/usr/lib/libpcl_search.so;debug;/usr/lib/libpcl_search.so;optimized;/usr/lib/x86_64-linux-gnu/libqhull.so;debug;/usr/lib/x86_64-linux-gnu/libqhull.so;optimized;/usr/lib/libpcl_surface.so;debug;/usr/lib/libpcl_surface.so;optimized;/usr/lib/libpcl_sample_consensus.so;debug;/usr/lib/libpcl_sample_consensus.so;optimized;/usr/lib/libpcl_filters.so;debug;/usr/lib/libpcl_filters.so;optimized;/usr/lib/libpcl_features.so;debug;/usr/lib/libpcl_features.so;optimized;/usr/lib/libpcl_segmentation.so;debug;/usr/lib/libpcl_segmentation.so;/usr/lib/libOpenNI.so;vtkCommon;vtkRendering;vtkHybrid;vtkCharts;optimized;/usr/lib/libpcl_io.so;debug;/usr/lib/libpcl_io.so;optimized;/usr/lib/libpcl_registration.so;debug;/usr/lib/libpcl_registration.so;optimized;/usr/lib/libpcl_keypoints.so;debug;/usr/lib/libpcl_keypoints.so;optimized;/usr/lib/libpcl_recognition.so;debug;/usr/lib/libpcl_recognition.so;optimized;/usr/lib/libpcl_visualization.so;debug;/usr/lib/libpcl_visualization.so;optimized;/usr/lib/libpcl_people.so;debug;/usr/lib/libpcl_people.so;optimized;/usr/lib/libpcl_outofcore.so;debug;/usr/lib/libpcl_outofcore.so;optimized;/usr/lib/libpcl_tracking.so;debug;/usr/lib/libpcl_tracking.so;optimized;/usr/lib/libpcl_apps.so;debug;/usr/lib/libpcl_apps.so;/usr/lib/x86_64-linux-gnu/libboost_system.so;/usr/lib/x86_64-linux-gnu/libboost_filesystem.so;/usr/lib/x86_64-linux-gnu/libboost_thread.so;/usr/lib/x86_64-linux-gnu/libboost_date_time.so;/usr/lib/x86_64-linux-gnu/libboost_iostreams.so;/usr/lib/x86_64-linux-gnu/libboost_serialization.so;/usr/lib/x86_64-linux-gnu/libpthread.so;optimized;/usr/lib/x86_64-linux-gnu/libqhull.so;debug;/usr/lib/x86_64-linux-gnu/libqhull.so;/usr/lib/libOpenNI.so;optimized;/usr/lib/x86_64-linux-gnu/libflann_cpp_s.a;debug;/usr/lib/x86_64-linux-gnu/libflann_cpp_s.a;vtkCommon;vtkRendering;vtkHybrid;vtkCharts
-- Boost version: 1.54.0
-- Found the following Boost libraries:
-- signals
-- thread
-- fovis_ros: 1 messages, 0 services
-- Configuring done
-- Generating done
-- Build files have been written to: /home/jackcviers/Development/fovis_ws/build
####
#### Running command: "make -j8 -l8" in "/home/jackcviers/Development/fovis_ws/build"
####
Scanning dependencies of target _fovis_ros_generate_messages_check_deps_FovisInfo
Scanning dependencies of target std_msgs_generate_messages_cpp
Scanning dependencies of target std_msgs_generate_messages_py
Scanning dependencies of target std_msgs_generate_messages_lisp
[ 0%] Built target std_msgs_generate_messages_lisp
[ 0%] [ 0%] Built target std_msgs_generate_messages_cpp
Built target std_msgs_generate_messages_py
[ 0%] Built target _fovis_ros_generate_messages_check_deps_FovisInfo
Scanning dependencies of target fovis_ros_generate_messages_cpp
Scanning dependencies of target fovis_ros_generate_messages_py
Scanning dependencies of target fovis_ros_generate_messages_lisp
[ 28%] [ 28%] [ 42%] Generating C++ code from fovis_ros/FovisInfo.msg
Generating Lisp code from fovis_ros/FovisInfo.msg
Generating Python from MSG fovis_ros/FovisInfo
[ 57%] [ 57%] Built target fovis_ros_generate_messages_lisp
Generating Python msg __init__.py for fovis_ros
[ 57%] Built target fovis_ros_generate_messages_py
[ 57%] Built target fovis_ros_generate_messages_cpp
Scanning dependencies of target fovis_ros_generate_messages
Scanning dependencies of target visualization
[ 57%] Built target fovis_ros_generate_messages
[ 71%] Building CXX object fovis/fovis_ros/CMakeFiles/visualization.dir/src/visualization.cpp.o
/home/jackcviers/Development/fovis_ws/src/fovis/fovis_ros/src/visualization.cpp: In function ‘cv::Mat fovis_ros::visualization::paint(const fovis::VisualOdometry*)’:
/home/jackcviers/Development/fovis_ws/src/fovis/fovis_ros/src/visualization.cpp:118:32: error: ‘CV_GRAY2BGR’ was not declared in this scope
cv::cvtColor(canvas, canvas, CV_GRAY2BGR);
^
/home/jackcviers/Development/fovis_ws/src/fovis/fovis_ros/src/visualization.cpp:138:11: error: ‘CV_FONT_HERSHEY_SIMPLEX’ was not declared in this scope
CV_FONT_HERSHEY_SIMPLEX, 1.0, cv::Scalar(0, 255, 255), 3);
^
make[2]: *** [fovis/fovis_ros/CMakeFiles/visualization.dir/src/visualization.cpp.o] Error 1
make[1]: *** [fovis/fovis_ros/CMakeFiles/visualization.dir/all] Error 2
make: *** [all] Error 2
Invoking "make" failed
I tried the suggestion from #11.
I looked in /usr/include/opencv2/imgproc/imgproc.hpp
and it appears that the constants have changed:
imgproc.hpp#L866-874:
COLOR_BGR2GRAY =6,
COLOR_RGB2GRAY =7,
COLOR_GRAY2BGR =8,
COLOR_GRAY2RGB =COLOR_GRAY2BGR,
COLOR_GRAY2BGRA =9,
COLOR_GRAY2RGBA =COLOR_GRAY2BGRA,
COLOR_BGRA2GRAY =10,
COLOR_RGBA2GRAY =11,
I believe that you are trying to use COLOR_RGB2GRAY
, so I substituted cv::COLOR_RGB2GRAY
that in place of the error.
For the CV_FONT_HERSHEY_SIMPLEX
error, I see that opencv/core/core.hpp
has FONT_HERSHEY_SIMPLEX
, so I added that include and substitutee cv::FONT_HERSHEY_SIMPLEX
that in place of that error.
That's when things get weird.
catkin_make
Base path: /home/jackcviers/Development/fovis_ws
Source space: /home/jackcviers/Development/fovis_ws/src
Build space: /home/jackcviers/Development/fovis_ws/build
Devel space: /home/jackcviers/Development/fovis_ws/devel
Install space: /home/jackcviers/Development/fovis_ws/install
####
#### Running command: "make cmake_check_build_system" in "/home/jackcviers/Development/fovis_ws/build"
####
####
#### Running command: "make -j8 -l8" in "/home/jackcviers/Development/fovis_ws/build"
####
[ 0%] Built target std_msgs_generate_messages_py
[ 0%] [ 0%] Built target std_msgs_generate_messages_lisp
Built target std_msgs_generate_messages_cpp
[ 0%] Built target _fovis_ros_generate_messages_check_deps_FovisInfo
[ 42%] [ 57%] [ 57%] Built target fovis_ros_generate_messages_py
Built target fovis_ros_generate_messages_cpp
Built target fovis_ros_generate_messages_lisp
Scanning dependencies of target visualization
[ 57%] Built target fovis_ros_generate_messages
[ 71%] Building CXX object fovis/fovis_ros/CMakeFiles/visualization.dir/src/visualization.cpp.o
Linking CXX shared library /home/jackcviers/Development/fovis_ws/devel/lib/libvisualization.so
[ 71%] Built target visualization
Scanning dependencies of target fovis_mono_depth_odometer
Scanning dependencies of target fovis_stereo_odometer
[100%] [100%] Building CXX object fovis/fovis_ros/CMakeFiles/fovis_stereo_odometer.dir/src/stereo_odometer.cpp.o
Building CXX object fovis/fovis_ros/CMakeFiles/fovis_mono_depth_odometer.dir/src/mono_depth_odometer.cpp.o
In file included from /opt/ros/indigo/include/image_geometry/stereo_camera_model.h:4:0,
from /home/jackcviers/Development/fovis_ws/src/fovis/fovis_ros/src/stereo_odometer.cpp:3:
/opt/ros/indigo/include/image_geometry/pinhole_camera_model.h:117:41: error: ‘CV_INTER_LINEAR’ was not declared in this scope
int interpolation = CV_INTER_LINEAR) const;
^
/opt/ros/indigo/include/image_geometry/pinhole_camera_model.h:127:43: error: ‘CV_INTER_LINEAR’ was not declared in this scope
int interpolation = CV_INTER_LINEAR) const;
^
In file included from /opt/ros/indigo/include/image_geometry/stereo_camera_model.h:4:0,
from /home/jackcviers/Development/fovis_ws/src/fovis/fovis_ros/src/mono_depth_odometer.cpp:3:
/opt/ros/indigo/include/image_geometry/pinhole_camera_model.h:117:41: error: ‘CV_INTER_LINEAR’ was not declared in this scope
int interpolation = CV_INTER_LINEAR) const;
^
/opt/ros/indigo/include/image_geometry/pinhole_camera_model.h:127:43: error: ‘CV_INTER_LINEAR’ was not declared in this scope
int interpolation = CV_INTER_LINEAR) const;
^
make[2]: *** [fovis/fovis_ros/CMakeFiles/fovis_mono_depth_odometer.dir/src/mono_depth_odometer.cpp.o] Error 1
make[1]: *** [fovis/fovis_ros/CMakeFiles/fovis_mono_depth_odometer.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: *** [fovis/fovis_ros/CMakeFiles/fovis_stereo_odometer.dir/src/stereo_odometer.cpp.o] Error 1
make[1]: *** [fovis/fovis_ros/CMakeFiles/fovis_stereo_odometer.dir/all] Error 2
make: *** [all] Error 2
Invoking "make" failed
That's obviously a bug in pinhole_camera_model.h in the ros indigo image_geometry
package.
This is the third separate visual odometry library that I have attempted to compile on my workstation, and it is beginning to be obvious that whatever version of opencv2 these are compiled against, it is not the version on my machine. According to core/version.hpp
, I have 2.4.8.0 installed:
#define CV_VERSION_EPOCH 2
#define CV_VERSION_MAJOR 4
#define CV_VERSION_MINOR 8
#define CV_VERSION_REVISION 0
I've tried upgrading to 2.10.4.1, but I still ended up in the same place, and because of ubuntu libav issues, the ocl and gpu modules don't compile. I uninstalled them and went back to the apt version with apt-get install --reinstall libopencv-dev
, and tried the same.
When I check the /opt/ros/indigo/include/opencv2/core/version.hpp
, it is using 3.0.0. What version do I need to be able to compile this package?
Hi,
I am trying to get a constant publish frequency for Fovis using a Kinect Odometer. Fovis is currently using a changing publish frequency, but in our application we somehow need to make the publish frequency a constant (or approximately constant).
Is it a way to do it? I tried to read the code, but it seems the publishing routine is a callback, which is assigned to xxxxx, and I don't quite understand how it works.
Here is my currently understanding:
odometer_base.hpp
, the function process()
is a routine to process messages and publish them.mono_depth_odometer.cpp
, the function imageCallbak()
calls process()
above; then imageCallback()
is called by dataCb()
.dataCb()
is registered as a callback in mono_depth_odometer.hpp
, with the following lines: if (approx)
{
approximate_sync_.reset(new ApproximateSync(ApproximatePolicy(queue_size_),
image_sub_, depth_sub_, image_info_sub_, depth_info_sub_) );
approximate_sync_->registerCallback(boost::bind(&MonoDepthProcessor::dataCb, this, _1, _2, _3, _4));
}
else
{
exact_sync_.reset(new ExactSync(ExactPolicy(queue_size_),
image_sub_, depth_sub_, image_info_sub_, depth_info_sub_) );
exact_sync_->registerCallback(boost::bind(&MonoDepthProcessor::dataCb, this, _1, _2, _3, _4));
}
Is there a way a way to have a constant publish rate?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.