diff options
Diffstat (limited to 'dev-ros/hector_pose_estimation_core')
7 files changed, 136 insertions, 0 deletions
diff --git a/dev-ros/hector_pose_estimation_core/Manifest b/dev-ros/hector_pose_estimation_core/Manifest new file mode 100644 index 000000000000..b98228aed0ea --- /dev/null +++ b/dev-ros/hector_pose_estimation_core/Manifest @@ -0,0 +1,8 @@ +AUX eigen.patch 892 SHA256 d18b8bede7fec3d19e7f3e02b3759f795b2ed224dbf40313823c650ac78c7d30 SHA512 302e4fecdfb674b66d737d93d427b61e5fb00932469190c3b631c6e2fc4647c2622591ec83975b42d9e1bb71b70f8d942c3fe4101d9927ce2c909c1baef38d35 WHIRLPOOL 7adbffe0fa7b5c3b3e1617bc23bd6ebe3bd0439ea2ca2044288717f810937e69a69c614537de4c1013e09a6867b216de7f2fa885a0995f8b2a1f2108041385ac +AUX gcc6.patch 1597 SHA256 99647a79520a2f042aaa3a63ebe0104430136d0c20d2c3989bdb34940b144fe6 SHA512 7ef60982584cf5021d9a8c084492de84d54dc0150ad0cd5acfc9c709641935c5a9ee649e5546cae6d2da061a0e3a887e5f1ea97e1fa3848ad9dd4de7ff3ee817 WHIRLPOOL 705439979290f4bc4024d67feac75f304b74e16e22a6dbbc54f90c46545fae4ca9a7c7ca02aa6f3f5ce8f66387bff9599c305baca3f55ab0c5e11c44e035e14f +AUX includes.patch 562 SHA256 0f7db2946d46bf51df64acc1099aeb044b104caa5401525fc9ea86e7b44383be SHA512 a689645403095ef37be5a259d593ee8e6f412a77a0997b5025c85c5c9f09ef9bce622d4afccc58e9baed89576db9280d615f4a0df2eee22a18ee832f12e786a8 WHIRLPOOL 6085b7f84a1c748149a662897aa6b423c913e31853879b97ec96cf701fcebb4213e4c9ed1b8310206aeff4394dd8e614faf185693702cff0d49b63e316194a3f +DIST hector_localization-0.3.0.tar.gz 73656 SHA256 36dd8dba4496e50df65505707ade089c1e2dfe1855b78081f68706a104c38326 SHA512 5763a98247754b021631c894d44172d7c215d81f556760578f585febf2248da8dfcf10c6f1430cff47800778d39a79ab31a59916ad13c6d5ecf8a17eeac4e8df WHIRLPOOL 26ef7ff7b5011b81349448954bec84f70841d543668d43e4b50783e48580eb2632ba8713d3df1a75d5e1f2ada7fd60d8dab551cf4392ea4effc49a4272c4855e +EBUILD hector_pose_estimation_core-0.3.0-r1.ebuild 803 SHA256 774e7ae0905bdd2370fbf99555f097e0e41edf9005d3c62ff74f28a09ac4dbd8 SHA512 59a73b76930f02107c3308545ebce88ce5b1198b46803858066244e493997bfdfe2ede29ee6bb3603b31b793e694f56491cc792d4bae9eb5295e301aeba83d58 WHIRLPOOL 320d2ce5283caa6b9112a1c3fabd24e96f4a5685e2561326f154989740b77796d0df6120b12d479f1ea81ce902dd3e39976e277f47849fd6a71f80aec907d405 +EBUILD hector_pose_estimation_core-9999.ebuild 711 SHA256 636a6683e5b0e78b027c442e5e2a0ad5622a33700b7d3fbcccafd8811032ef27 SHA512 8b67fb9ce6030102d7cc9b82db7f0921bae58770e272b1a8527e60f3e9576f71f53523ffa0fb563bf348fda33eadcd0c56353e7c5f99467357d132a334f45e6c WHIRLPOOL d79460f9f4ec4fe1ee007f9e19e7312e3d7b8a8870c18c5b1686fd073e79ccb1ce1a8d6f49ba55182ee47d8f9534f764e10ea52b39cd032f39772a2b8e0f15ee +MISC ChangeLog 2565 SHA256 79f8e7378eaf0c40c9e758d552a796128f2be85cb17a1e037dd6f1673de9e0c1 SHA512 f05c9c26897b8138b270da13e3513f25423fdf5951c26be1027ca2df6c5a85ff058fd5fd96033c7146571ace62b6b0313264d71e23fc2057c2ecbcff0bf6e8da WHIRLPOOL 512e7f4b46144bd8bff3303bbee63acd95727c19361d3e96fe78c9f5f043985061d368ad66548cdb797619d630583ae55d85e47cdfaabd160804952b5f0d158a +MISC metadata.xml 354 SHA256 7fbc9041a508b4280e3ff8c43938f8d673a12df4669e2d771792ae2380515cd5 SHA512 5efea6ff063bdb92ca5c0c45cbc4c9cc110d4ed800b8631259abdffb771abb183594d9e72920e0daf9948c909a69ab564b70fed83bb2a0a879d5712f3c608420 WHIRLPOOL 06c01e937faa41d66f13b986cdcb1f0b4d92659c869909d3c8d6864cc2f7b6e25d03240302df7fe5270e2e50cf6a0ce901db8f4d79e032548bf20897db83b824 diff --git a/dev-ros/hector_pose_estimation_core/files/eigen.patch b/dev-ros/hector_pose_estimation_core/files/eigen.patch new file mode 100644 index 000000000000..b58bb9e8ca3d --- /dev/null +++ b/dev-ros/hector_pose_estimation_core/files/eigen.patch @@ -0,0 +1,13 @@ +Index: hector_pose_estimation_core/src/measurements/poseupdate.cpp +=================================================================== +--- hector_pose_estimation_core.orig/src/measurements/poseupdate.cpp ++++ hector_pose_estimation_core/src/measurements/poseupdate.cpp +@@ -382,7 +382,7 @@ double PoseUpdate::updateInternal(State + ROS_DEBUG_STREAM_NAMED("poseupdate", "alpha = " << alpha << ", beta = " << beta); + + if (max_error > 0.0) { +- double error2 = error.transpose() * Ix * (Ix + Iy).inverse() * Iy * error; ++ double error2 = error.transpose().dot( Ix * (Ix + Iy).inverse() * Iy * error); + if (error2 > max_error * max_error) { + if (!jump_on_max_error_ || !jump_function) { + ROS_WARN_STREAM_NAMED("poseupdate", "Ignoring poseupdate for " << text << " as the error [ " << error.transpose() << " ], |error| = " << sqrt(error2) << " sigma exceeds max_error!"); diff --git a/dev-ros/hector_pose_estimation_core/files/gcc6.patch b/dev-ros/hector_pose_estimation_core/files/gcc6.patch new file mode 100644 index 000000000000..42862915244b --- /dev/null +++ b/dev-ros/hector_pose_estimation_core/files/gcc6.patch @@ -0,0 +1,35 @@ +Index: hector_pose_estimation_core/include/hector_pose_estimation/input.h +=================================================================== +--- hector_pose_estimation_core.orig/include/hector_pose_estimation/input.h ++++ hector_pose_estimation_core/include/hector_pose_estimation/input.h +@@ -79,7 +79,7 @@ public: + return *variance_; + } + +- virtual bool hasVariance() const { return variance_; } ++ virtual bool hasVariance() const { return variance_ != NULL; } + virtual Variance const &getVariance() { if (!variance_) variance_.reset(new Variance); return *variance_; } + virtual Variance const &getVariance() const { return *variance_; } + virtual Variance& variance() { if (!variance_) variance_.reset(new Variance); return *variance_; } +Index: hector_pose_estimation_core/src/system/imu_model.cpp +=================================================================== +--- hector_pose_estimation_core.orig/src/system/imu_model.cpp ++++ hector_pose_estimation_core/src/system/imu_model.cpp +@@ -51,7 +51,7 @@ GyroModel::~GyroModel() + bool GyroModel::init(PoseEstimation& estimator, System &system, State& state) + { + bias_ = state.addSubState<3,3>(this, system.getName() + "_bias"); +- return bias_; ++ return bias_ != NULL; + } + + void GyroModel::getPrior(State &state) +@@ -113,7 +113,7 @@ AccelerometerModel::~AccelerometerModel( + bool AccelerometerModel::init(PoseEstimation& estimator, System &system, State& state) + { + bias_ = state.addSubState<3,3>(this, system.getName() + "_bias"); +- return bias_; ++ return bias_ != NULL; + } + + void AccelerometerModel::getPrior(State &state) diff --git a/dev-ros/hector_pose_estimation_core/files/includes.patch b/dev-ros/hector_pose_estimation_core/files/includes.patch new file mode 100644 index 000000000000..0188d027ed9d --- /dev/null +++ b/dev-ros/hector_pose_estimation_core/files/includes.patch @@ -0,0 +1,12 @@ +Index: hector_localization-0.3.0/hector_pose_estimation_core/include/hector_pose_estimation/state.h +=================================================================== +--- hector_localization-0.3.0.orig/hector_pose_estimation_core/include/hector_pose_estimation/state.h ++++ hector_localization-0.3.0/hector_pose_estimation_core/include/hector_pose_estimation/state.h +@@ -29,6 +29,7 @@ + #ifndef HECTOR_POSE_ESTIMATION_STATE_H + #define HECTOR_POSE_ESTIMATION_STATE_H + ++#include <vector> + #include <hector_pose_estimation/types.h> + + #include <boost/function.hpp> diff --git a/dev-ros/hector_pose_estimation_core/hector_pose_estimation_core-0.3.0-r1.ebuild b/dev-ros/hector_pose_estimation_core/hector_pose_estimation_core-0.3.0-r1.ebuild new file mode 100644 index 000000000000..8c95893cad5a --- /dev/null +++ b/dev-ros/hector_pose_estimation_core/hector_pose_estimation_core-0.3.0-r1.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +ROS_REPO_URI="https://github.com/tu-darmstadt-ros-pkg/hector_localization" +KEYWORDS="~amd64 ~arm" +ROS_SUBDIR=${PN} + +inherit ros-catkin + +DESCRIPTION="Extended Kalman Filter (EKF) that estimates the 6DOF pose of the robot" +LICENSE="BSD" +SLOT="0" +IUSE="" + +RDEPEND=" + dev-ros/rostime + dev-ros/rosconsole + dev-ros/roscpp + dev-ros/sensor_msgs[${CATKIN_MESSAGES_CXX_USEDEP}] + dev-ros/geometry_msgs[${CATKIN_MESSAGES_CXX_USEDEP}] + dev-ros/nav_msgs[${CATKIN_MESSAGES_CXX_USEDEP}] + dev-ros/geographic_msgs[${CATKIN_MESSAGES_CXX_USEDEP}] + dev-ros/tf + dev-libs/boost:= +" +DEPEND="${RDEPEND} + dev-cpp/eigen:3" +PATCHES=( "${FILESDIR}/includes.patch" "${FILESDIR}/gcc6.patch" "${FILESDIR}/eigen.patch" ) diff --git a/dev-ros/hector_pose_estimation_core/hector_pose_estimation_core-9999.ebuild b/dev-ros/hector_pose_estimation_core/hector_pose_estimation_core-9999.ebuild new file mode 100644 index 000000000000..8c1ce15dafe8 --- /dev/null +++ b/dev-ros/hector_pose_estimation_core/hector_pose_estimation_core-9999.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +ROS_REPO_URI="https://github.com/tu-darmstadt-ros-pkg/hector_localization" +KEYWORDS="~amd64 ~arm" +ROS_SUBDIR=${PN} + +inherit ros-catkin + +DESCRIPTION="Extended Kalman Filter (EKF) that estimates the 6DOF pose of the robot" +LICENSE="BSD" +SLOT="0" +IUSE="" + +RDEPEND=" + dev-ros/rostime + dev-ros/rosconsole + dev-ros/roscpp + dev-ros/sensor_msgs[${CATKIN_MESSAGES_CXX_USEDEP}] + dev-ros/geometry_msgs[${CATKIN_MESSAGES_CXX_USEDEP}] + dev-ros/nav_msgs[${CATKIN_MESSAGES_CXX_USEDEP}] + dev-ros/geographic_msgs[${CATKIN_MESSAGES_CXX_USEDEP}] + dev-ros/tf + dev-libs/boost:= +" +DEPEND="${RDEPEND} + dev-cpp/eigen:3" diff --git a/dev-ros/hector_pose_estimation_core/metadata.xml b/dev-ros/hector_pose_estimation_core/metadata.xml new file mode 100644 index 000000000000..ee6ea29b2d58 --- /dev/null +++ b/dev-ros/hector_pose_estimation_core/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>ros@gentoo.org</email> + <name>Gentoo ROS Project</name> + </maintainer> + <upstream> + <remote-id type="github">tu-darmstadt-ros-pkg/hector_localization</remote-id> + </upstream> +</pkgmetadata> |