4 b2Transform displacement=b2Transform_zero;
21 b2Transform deltaTransform=b2Transform_zero;
35 b2Transform getDeltaTransform(){
return deltaTransform;}
69 virtual void init(
const Task & goal)=0;
71 virtual bool hasTaskEnded(
Task & t);
82 void log_thresholds(){
83 FILE *f= fopen(
"/tmp/thresholds.txt",
"a");
84 fprintf(f,
"%f\t%f\t%f\t%f\t%f\n", threshold.
for_Di().get_x(),
85 threshold.
for_Di().get_y(),
86 threshold.
for_Di().get_angle(),
87 threshold.
for_Di().get_width(),
88 threshold.
for_Di().get_length());
109 void init(
const Task & goal){}
121 b2PolygonShape attention_window;
161 virtual std::vector <BodyFeatures>::const_iterator
find_disturbance(std::vector <BodyFeatures>::const_iterator objects_begin, std::vector <BodyFeatures>::const_iterator objects_end,
const BodyFeatures & dist, b2Transform t,
float * _least_square=NULL);
180 void set_attention(b2PolygonShape ps){
184 void init(
const Task & goal){
185 attention_window=sensor_box(
Robot::get_vertices(),b2Transform_zero, goal.get_disturbance());
189 virtual bool hasTaskEnded(
Task & t);
Definition: disturbance.h:47
Tracks task execution by observing changes in tracked disturbance.
Definition: tracker.h:118
TrackingResult get_transform(const Task &t, const CoordinateContainer &pts, const std::vector< BodyFeatures > &objects) override
returns 2d transformation matrix between one scan and the next based on the displacement of disturban...
Definition: tracker.cpp:48
void on_new_task(const Task &task, const Task &goal) override
Uses the goal to reset tracked disturbance at each task.
Definition: tracker.cpp:136
virtual void on_new_reading(const Task &goal, const Task ¤tTask) override
Called every time asensor reading is available.
Definition: tracker.h:178
void makeAttentionWindow(const Task &goal, const Task ¤tTask)
Updates the attention window at each sensor reading.
Definition: tracker.cpp:152
cv::Rect2f real_world_focus(const Task *)
returns an upright rectangle which represents a focus of attention for finding points corresponding t...
Definition: tracker.cpp:33
virtual std::vector< BodyFeatures >::const_iterator find_disturbance(std::vector< BodyFeatures >::const_iterator objects_begin, std::vector< BodyFeatures >::const_iterator objects_end, const BodyFeatures &dist, b2Transform t, float *_least_square=NULL)
Get disturbance to be tracked among the worldbuilder objects.
Definition: tracker.cpp:86
TrackingResult track(const Task &t, const CoordinateContainer &pts, const std::vector< BodyFeatures > &objects)
Tracks task execution.
Definition: tracker.cpp:26
void correctAngle(BodyFeatures &found, const BodyFeatures &dist)
Sets angle to be smallest possible increment compared to dist.
Definition: tracker.cpp:116
float window_area()
gets the area of the attention window (for debugging)
Definition: tracker.cpp:144
Definition: configurator.h:17
Tracks task execution through dead reckoning.
Definition: tracker.h:99
TrackingResult track(const Task &t, const CoordinateContainer &pts, const std::vector< BodyFeatures > &objects)
Tracks task execution.
Definition: tracker.cpp:20
void on_new_task(const Task &task, const Task &goal) override
Called every time a new task is created.
Definition: tracker.h:105
virtual void on_new_reading(const Task &goal, const Task ¤tTask) override
Called every time asensor reading is available.
Definition: tracker.h:107
static std::vector< b2Vec2 > get_vertices()
Returns vertices in local frame. Order: bl, br, tl, tr.
Definition: robot.h:52
A closed hybrid control loop. It has an initial disturbance representing the continuous state and a d...
Definition: task.h:45
Definition: threshold.h:149
Definition: threshold.h:91
Bundle for_Di() const
Returns a bundle of thresholds for the initial disturbance.
Definition: threshold.h:114
Tracking interface: Bridge between the real world and the simulation. Is used for tracking execution ...
Definition: tracker.h:17
void make_log()
opens file where all the data is dumped
Definition: tracker.cpp:78
virtual void on_new_reading(const Task &goal, const Task ¤tTask)=0
Called every time asensor reading is available.
virtual TrackingResult get_transform(const Task &t, const CoordinateContainer &pts, const std::vector< BodyFeatures > &objects)
Definition: tracker.cpp:3
virtual void on_new_task(const Task &task, const Task &goal)=0
Called every time a new task is created.
virtual TrackingResult track(const Task &t, const CoordinateContainer &pts, const std::vector< BodyFeatures > &objects)=0
Tracks task execution.
Given points, makes rotated bounding box.
std::set< Pointf > CoordinateContainer
container for LIDAR coordinates
Definition: sensor.h:61
Definition: disturbance.h:114