Ask Your Question
2

Unscented Kalman Filter - Bayes++ [closed]

asked 2012-05-30 23:27:02 -0500

Hey,

Does anybody have any experience how to include UKF from Bayes++ into ROS. I can't get it to build.

I'm constantly getting errors like:

...Bayes++/BayesFilter/bayesFlt.hpp:588: undefined reference to `VTT for Bayesian_filter::Unscented_scheme'

Any tips are welcome.

edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by Miquel Massot
close date 2015-06-25 02:50:55.161805

2 Answers

Sort by ยป oldest newest most voted
4

answered 2012-05-31 23:56:45 -0500

Miquel Massot gravatar image

I made a port of Bayes++ to ROS, it's not finished but you could give it a try.

https://github.com/miquelmassot/bayes_filter_ros

what I did in order to build it was to create a ROS package and, in the CMakelists add

//Set the dependencies of Bayes++

rosbuild_add_boost_directories()

SET(CMAKE_CXX_FLAGS "-msse3")

//Source the files from Bayes++ and compile the library

rosbuild_add_library(BayesFilter external_libs/include/BayesFilter/bayesFlt.cpp external_libs/include/BayesFilter/bayesFltAlg.cpp external_libs/include/BayesFilter/CIFlt.cpp external_libs/include/BayesFilter/covFlt.cpp external_libs/include/BayesFilter/infFlt.cpp external_libs/include/BayesFilter/infRtFlt.cpp external_libs/include/BayesFilter/itrFlt.cpp external_libs/include/BayesFilter/matSup.cpp external_libs/include/BayesFilter/SIRFlt.cpp external_libs/include/BayesFilter/UDFlt.cpp external_libs/include/BayesFilter/UdU.cpp external_libs/include/BayesFilter/unsFlt.cpp external_libs/include/BayesFilter/bayesFlt.cpp)

it builds a "libBayesFilter.so" that you can later use.

edit flag offensive delete link more

Comments

Great work. Thank you. I finally built my project.

Grega Pusnik gravatar image Grega Pusnik  ( 2012-06-01 05:14:23 -0500 )edit
0

answered 2012-05-31 03:51:39 -0500

DimitriProsser gravatar image

I'm not familiar with Bayes++, but I do know that if Bayes++ is not built using CMake, the #include statements in the source code might not use the same naming conventions as in ROS's CMake build system. For example, in a ROS project, to include a header file in the package, I would use the following:

#include <my_package_name/my_header.hpp>

But in many Makefile projects, the convention is to just use:

#include "my_header.hpp"

and let the Makefile take care of the file paths.

If I get some time, I can look further into this source code, but this is just a generic issue that I've encountered while using 3rd party libraries and building as a ROS package.

edit flag offensive delete link more

Question Tools

Stats

Asked: 2012-05-30 23:27:02 -0500

Seen: 834 times

Last updated: May 31 '12