Skip to content

Commit d4ba2e5

Browse files
committed
Official 14.04 on Indigo
1 parent 68440bc commit d4ba2e5

File tree

73 files changed

+1422
-1272
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+1422
-1272
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@ The core of this library are two probabilistic tracker
2020
All trackers require mesh models of the tracked objects in Wavefront (.obj) format.
2121

2222
# Requirements
23-
* Ubuntu 12.04
24-
* C++0x or C++11 Compiler (gcc-4.6 or later)
23+
* Ubuntu 14.04
24+
* C++0x Compiler (gcc-4.6 or later)
25+
* C++11 Compiler (gcc-4.7 or later)
2526
* [CUDA](https://developer.nvidia.com/cuda-downloads) 6.5 or later (optional)
2627

2728
## Dependecies

source/dbot/builder/gaussian_tracker_builder.cpp

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
*
2222
*/
2323

24-
#include <dbot/simple_wavefront_object_loader.hpp>
25-
#include <dbot/builder/gaussian_tracker_builder.hpp>
24+
#include <dbot/builder/gaussian_tracker_builder.h>
25+
#include <dbot/simple_wavefront_object_loader.h>
2626

2727
namespace dbot
2828
{
@@ -33,18 +33,17 @@ GaussianTrackerBuilder::GaussianTrackerBuilder(
3333
{
3434
}
3535

36-
std::shared_ptr<GaussianTracker>
37-
GaussianTrackerBuilder::build()
36+
std::shared_ptr<GaussianTracker> GaussianTrackerBuilder::build()
3837
{
3938
auto object_model = create_object_model(param_.ori);
4039

4140
auto filter = create_filter(object_model);
4241

43-
auto tracker = std::make_shared<GaussianTracker>(
44-
filter,
45-
object_model,
46-
param_.moving_average_update_rate,
47-
param_.center_object_frame);
42+
auto tracker =
43+
std::make_shared<GaussianTracker>(filter,
44+
object_model,
45+
param_.moving_average_update_rate,
46+
param_.center_object_frame);
4847

4948
return tracker;
5049
}
@@ -99,8 +98,7 @@ auto GaussianTrackerBuilder::create_sensor(
9998
return Sensor(body_tail_pixel_model, camera_data->pixels());
10099
}
101100

102-
std::shared_ptr<ObjectModel>
103-
GaussianTrackerBuilder::create_object_model(
101+
std::shared_ptr<ObjectModel> GaussianTrackerBuilder::create_object_model(
104102
const ObjectResourceIdentifier& ori) const
105103
{
106104
auto object_model = std::make_shared<ObjectModel>(
@@ -112,18 +110,16 @@ GaussianTrackerBuilder::create_object_model(
112110
}
113111

114112
auto GaussianTrackerBuilder::create_object_transition(
115-
const ObjectTransitionBuilder<
116-
GaussianTrackerBuilder::State>::Parameters& param) const
117-
-> Transition
113+
const ObjectTransitionBuilder<GaussianTrackerBuilder::State>::Parameters&
114+
param) const -> Transition
118115
{
119116
ObjectTransitionBuilder<State> process_builder(param);
120117
auto process = process_builder.build_model();
121118

122119
return process;
123120
}
124121

125-
std::shared_ptr<RigidBodyRenderer>
126-
GaussianTrackerBuilder::create_renderer(
122+
std::shared_ptr<RigidBodyRenderer> GaussianTrackerBuilder::create_renderer(
127123
const std::shared_ptr<ObjectModel>& object_model) const
128124
{
129125
std::shared_ptr<RigidBodyRenderer> renderer(

source/dbot/builder/gaussian_tracker_builder.hpp renamed to source/dbot/builder/gaussian_tracker_builder.h

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,19 @@
2222
*/
2323

2424
/**
25-
* \file gaussian_tracker_builder.hpp
25+
* \file gaussian_tracker_builder.h
2626
* \date December 2015
2727
* \author Jan Issac (jan.issac@gmail.com)
2828
*/
2929

3030
#pragma once
3131

32+
#include <dbot/builder/object_transition_builder.h>
33+
#include <dbot/camera_data.h>
34+
#include <dbot/object_resource_identifier.h>
35+
#include <dbot/tracker/gaussian_tracker.h>
3236
#include <exception>
3337

34-
#include <dbot/camera_data.hpp>
35-
#include <dbot/object_resource_identifier.hpp>
36-
#include <dbot/tracker/gaussian_tracker.hpp>
37-
#include <dbot/builder/object_transition_builder.hpp>
38-
3938
namespace dbot
4039
{
4140
/**
@@ -72,8 +71,7 @@ class GaussianTrackerBuilder
7271

7372
ObjectResourceIdentifier ori;
7473
Observation observation;
75-
ObjectTransitionBuilder<State>::Parameters
76-
object_transition;
74+
ObjectTransitionBuilder<State>::Parameters object_transition;
7775
};
7876

7977
public:
@@ -82,9 +80,8 @@ class GaussianTrackerBuilder
8280
* \param param Builder and sub-builder parameters
8381
* \param camera_data Tracker camera data object
8482
*/
85-
GaussianTrackerBuilder(
86-
const Parameters& param,
87-
const std::shared_ptr<CameraData>& camera_data);
83+
GaussianTrackerBuilder(const Parameters& param,
84+
const std::shared_ptr<CameraData>& camera_data);
8885

8986
/**
9087
* \brief Builds the Rbc PF tracker
@@ -103,8 +100,7 @@ class GaussianTrackerBuilder
103100
* filter
104101
*/
105102
Transition create_object_transition(
106-
const ObjectTransitionBuilder<State>::Parameters& param)
107-
const;
103+
const ObjectTransitionBuilder<State>::Parameters& param) const;
108104

109105
/**
110106
* \brief Creates the Rbc particle filter observation model. This can either
@@ -113,10 +109,9 @@ class GaussianTrackerBuilder
113109
* \throws NoGpuSupportException if compile with DBOT_BUILD_GPU=OFF and
114110
* attempting to build a tracker with GPU support
115111
*/
116-
Sensor create_sensor(
117-
const std::shared_ptr<ObjectModel>& object_model,
118-
const std::shared_ptr<CameraData>& camera_data,
119-
const Parameters::Observation& param) const;
112+
Sensor create_sensor(const std::shared_ptr<ObjectModel>& object_model,
113+
const std::shared_ptr<CameraData>& camera_data,
114+
const Parameters::Observation& param) const;
120115

121116
/**
122117
* \brief Creates an object model renderer

source/dbot/builder/object_transition_builder.hpp renamed to source/dbot/builder/object_transition_builder.h

Lines changed: 26 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,12 @@
2929

3030
#pragma once
3131

32-
#include <memory>
33-
34-
#include <fl/util/profiling.hpp>
35-
#include <fl/util/meta.hpp>
36-
3732
#include <Eigen/Dense>
38-
39-
#include <dbot/builder/transition_function_builder.hpp>
33+
#include <dbot/builder/transition_function_builder.h>
4034
#include <fl/model/transition/linear_transition.hpp>
35+
#include <fl/util/meta.hpp>
36+
#include <fl/util/profiling.hpp>
37+
#include <memory>
4138

4239
namespace dbot
4340
{
@@ -57,20 +54,19 @@ struct ObjectStateTrait
5754

5855
template <typename State>
5956
class ObjectTransitionBuilder
60-
: public TransitionFunctionBuilder<
61-
State,
62-
typename ObjectStateTrait<State>::Noise,
63-
typename ObjectStateTrait<State>::Input>
57+
: public TransitionFunctionBuilder<State,
58+
typename ObjectStateTrait<State>::Noise,
59+
typename ObjectStateTrait<State>::Input>
6460
{
6561
public:
6662
typedef fl::TransitionFunction<State,
67-
typename ObjectStateTrait<State>::Noise,
68-
typename ObjectStateTrait<State>::Input>
63+
typename ObjectStateTrait<State>::Noise,
64+
typename ObjectStateTrait<State>::Input>
6965
Model;
70-
typedef fl::LinearTransition<
71-
State,
72-
typename ObjectStateTrait<State>::Noise,
73-
typename ObjectStateTrait<State>::Input> DerivedModel;
66+
typedef fl::LinearTransition<State,
67+
typename ObjectStateTrait<State>::Noise,
68+
typename ObjectStateTrait<State>::Input>
69+
DerivedModel;
7470

7571
struct Parameters
7672
{
@@ -87,8 +83,8 @@ class ObjectTransitionBuilder
8783
ObjectTransitionBuilder(const Parameters& param) : param_(param) {}
8884
virtual std::shared_ptr<Model> build() const
8985
{
90-
auto model = std::shared_ptr<DerivedModel>(
91-
new DerivedModel(build_model()));
86+
auto model =
87+
std::shared_ptr<DerivedModel>(new DerivedModel(build_model()));
9288

9389
return std::static_pointer_cast<Model>(model);
9490
}
@@ -116,17 +112,17 @@ class ObjectTransitionBuilder
116112
part_A.rightCols(6) *= param_.velocity_factor;
117113

118114
part_B.setZero();
119-
part_B.block(0, 0, 3, 3) = Eigen::DiagonalMatrix<double, 3>(
120-
param_.linear_sigma_x,
121-
param_.linear_sigma_y,
122-
param_.linear_sigma_z);
123-
// Eigen::Matrix3d::Identity() * param_.linear_sigma;
124-
part_B.block(3, 3, 3, 3) = Eigen::DiagonalMatrix<double, 3>(
125-
param_.angular_sigma_x,
126-
param_.angular_sigma_y,
127-
param_.angular_sigma_z);
128-
129-
// Eigen::Matrix3d::Identity() * param_.angular_sigma;
115+
part_B.block(0, 0, 3, 3) =
116+
Eigen::DiagonalMatrix<double, 3>(param_.linear_sigma_x,
117+
param_.linear_sigma_y,
118+
param_.linear_sigma_z);
119+
// Eigen::Matrix3d::Identity() * param_.linear_sigma;
120+
part_B.block(3, 3, 3, 3) =
121+
Eigen::DiagonalMatrix<double, 3>(param_.angular_sigma_x,
122+
param_.angular_sigma_y,
123+
param_.angular_sigma_z);
124+
125+
// Eigen::Matrix3d::Identity() * param_.angular_sigma;
130126
part_B.bottomRows(6) = part_B.topRows(6);
131127

132128
for (int i = 0; i < param_.part_count; ++i)
@@ -142,7 +138,6 @@ class ObjectTransitionBuilder
142138
return model;
143139
}
144140

145-
146141
private:
147142
Parameters param_;
148143
};

source/dbot/builder/particle_tracker_builder.cpp

Lines changed: 2 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -21,48 +21,5 @@
2121
*
2222
*/
2323

24-
#include <dbot/simple_wavefront_object_loader.hpp>
25-
#include <dbot/builder/particle_tracker_builder.hpp>
26-
27-
28-
//namespace dbot
29-
//{
30-
//ParticleTrackerBuilder::ParticleTrackerBuilder(
31-
// const std::shared_ptr<TransitionFunctionBuilder>&
32-
// transition_builder,
33-
// const CameraData& camera_data)
34-
// : transition_builder_(transition_builder),
35-
// camera_data_(camera_data)
36-
//{
37-
//}
38-
39-
//std::shared_ptr<ParticleTracker>
40-
//ParticleTrackerBuilder::build()
41-
42-
//auto ParticleTrackerBuilder::create_filter(
43-
// const ObjectModel& object_model,
44-
// double max_kl_divergence) -> std::shared_ptr<Filter>
45-
46-
//auto ParticleTrackerBuilder::create_object_transition() const
47-
// -> std::shared_ptr<Transition>
48-
49-
50-
//ObjectModel ParticleTrackerBuilder::create_object_model(
51-
// const ObjectResourceIdentifier& ori) const
52-
53-
//std::vector<std::vector<size_t>>
54-
//ParticleTrackerBuilder::create_sampling_blocks(int blocks,
55-
// int block_size) const
56-
//{
57-
// std::vector<std::vector<size_t>> sampling_blocks(params_.ori.count_meshes());
58-
// for (int i = 0; i < blocks; ++i)
59-
// {
60-
// for (int k = 0; k < block_size; ++k)
61-
// {
62-
// sampling_blocks[i].push_back(i * block_size + k);
63-
// }
64-
// }
65-
66-
// return sampling_blocks;
67-
//}
68-
//}
24+
#include <dbot/builder/particle_tracker_builder.h>
25+
#include <dbot/simple_wavefront_object_loader.h>

source/dbot/builder/particle_tracker_builder.hpp renamed to source/dbot/builder/particle_tracker_builder.h

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -22,24 +22,22 @@
2222
*/
2323

2424
/**
25-
* \file particle_tracker_builder.hpp
25+
* \file particle_tracker_builder.h
2626
* \date November 2015
2727
* \author Jan Issac (jan.issac@gmail.com)
2828
*/
2929

3030
#pragma once
3131

32-
#include <exception>
33-
34-
#include <dbot/object_model_loader.hpp>
35-
#include <dbot/object_resource_identifier.hpp>
36-
#include <dbot/tracker/particle_tracker.hpp>
37-
#include <dbot/builder/object_transition_builder.hpp>
32+
#include <dbot/builder/object_transition_builder.h>
3833
#include <dbot/builder/rb_sensor_builder.h>
34+
#include <dbot/object_model_loader.h>
35+
#include <dbot/object_resource_identifier.h>
36+
#include <dbot/tracker/particle_tracker.h>
37+
#include <exception>
3938

4039
namespace dbot
4140
{
42-
4341
/**
4442
* \brief Represents an Rbc Particle filter based tracker builder
4543
*/
@@ -52,8 +50,7 @@ class ParticleTrackerBuilder
5250
typedef typename Tracker::Input Input;
5351

5452
/* == Model Builder Interfaces ========================================== */
55-
typedef TransitionFunctionBuilder<State, Noise, Input>
56-
TransitionBuilder;
53+
typedef TransitionFunctionBuilder<State, Noise, Input> TransitionBuilder;
5754
typedef RbSensorBuilder<State> SensorBuilder;
5855

5956
/* == Model Interfaces ================================================== */
@@ -62,8 +59,7 @@ class ParticleTrackerBuilder
6259
typedef typename Sensor::Observation Obsrv;
6360

6461
/* == Filter algorithm ================================================== */
65-
typedef RaoBlackwellCoordinateParticleFilter<Transition,
66-
Sensor> Filter;
62+
typedef RaoBlackwellCoordinateParticleFilter<Transition, Sensor> Filter;
6763

6864
/* == Tracker parameters ================================================ */
6965
struct Parameters
@@ -103,7 +99,7 @@ class ParticleTrackerBuilder
10399
object_model_,
104100
params_.evaluation_count,
105101
params_.moving_average_update_rate,
106-
params_.center_object_frame);
102+
params_.center_object_frame);
107103

108104
return tracker;
109105
}
@@ -121,15 +117,12 @@ class ParticleTrackerBuilder
121117
auto transition = transition_builder_->build();
122118
auto sensor = sensor_builder_->build();
123119

124-
auto sampling_blocks =
125-
create_sampling_blocks(object_model->count_parts(),
126-
transition->noise_dimension() /
127-
object_model->count_parts());
120+
auto sampling_blocks = create_sampling_blocks(
121+
object_model->count_parts(),
122+
transition->noise_dimension() / object_model->count_parts());
128123

129-
auto filter = std::shared_ptr<Filter>(new Filter(transition,
130-
sensor,
131-
sampling_blocks,
132-
max_kl_divergence));
124+
auto filter = std::shared_ptr<Filter>(
125+
new Filter(transition, sensor, sampling_blocks, max_kl_divergence));
133126
return filter;
134127
}
135128

source/dbot/builder/rb_sensor_builder.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,11 @@
2727
* \author Jan Issac (jan.issac@gmail.com)
2828
*/
2929

30-
#include <dbot/pose/free_floating_rigid_bodies_state.hpp>
31-
3230
#include <dbot/builder/rb_sensor_builder.h>
3331
#include <dbot/builder/rb_sensor_builder.hpp>
34-
32+
#include <dbot/pose/free_floating_rigid_bodies_state.h>
3533

3634
namespace dbot
3735
{
38-
template class RbSensorBuilder<osr::FreeFloatingRigidBodiesState<>>;
36+
template class RbSensorBuilder<dbot::FreeFloatingRigidBodiesState<>>;
3937
}

0 commit comments

Comments
 (0)