29 virtual b2Transform
get_transform(
const Task &t,
const CoordinateContainer &pts,
Disturbance * observed_disturbance, std::vector <BodyFeatures> & objects)=0;
40 virtual b2Transform
track(
Task &t,
const CoordinateContainer &pts, std::vector <BodyFeatures> & objects)=0;
57 virtual void init(
Task * goal)=0;
67 void log_thresholds(){
68 FILE *f= fopen(
"/tmp/thresholds.txt",
"a");
69 fprintf(f,
"%f\t%f\t%f\t%f\t%f\n", threshold.
for_Di().get_x(),
70 threshold.
for_Di().get_y(),
71 threshold.
for_Di().get_angle(),
72 threshold.
for_Di().get_width(),
73 threshold.
for_Di().get_length());
88 b2Transform
get_transform(
const Task &t,
const CoordinateContainer &pts,
Disturbance * observed_disturbance, std::vector <BodyFeatures> & objects){
89 return t.getAction().getTransform(LIDAR_SAMPLING_RATE);
92 b2Transform
track(
Task &t,
const CoordinateContainer &pts, std::vector <BodyFeatures> & objects);
98 void init(
Task * goal){}
109 b2PolygonShape attention_window;
126 b2Transform
get_transform(
const Task &t,
const CoordinateContainer &pts,
Disturbance * observed_disturbance, std::vector <BodyFeatures> & objects);
128 b2Transform
track(
Task &t,
const CoordinateContainer &pts, std::vector <BodyFeatures> & objects);
136 return &tracked_disturbance;
139 void set_tracked_disturbance(
const Disturbance & d){
140 tracked_disturbance=d;
150 std::vector <BodyFeatures>::iterator
find_disturbance(std::vector <BodyFeatures> & objects,
const BodyFeatures & dist, b2Transform t,
float * _least_square=NULL);
166 void set_attention(b2PolygonShape ps){
170 void init(
Task * goal){
171 attention_window=sensor_box(Robot::get_vertices(),b2Transform_zero, goal->
get_disturbance_ptr());
Definition: disturbance.h:45
Tracks task execution by observing changes in tracked disturbance.
Definition: tracker.h:107
b2Transform get_transform(const Task &t, const CoordinateContainer &pts, Disturbance *observed_disturbance, std::vector< BodyFeatures > &objects)
returns 2d transformation matrix between one scan and the next based on the displacement of disturban...
Definition: tracker.cpp:38
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:23
b2Transform track(Task &t, const CoordinateContainer &pts, std::vector< BodyFeatures > &objects)
Tracks task execution.
Definition: tracker.cpp:13
std::vector< BodyFeatures >::iterator find_disturbance(std::vector< BodyFeatures > &objects, const BodyFeatures &dist, b2Transform t, float *_least_square=NULL)
Get disturbance to be tracked among the worldbuilder objects.
Definition: tracker.cpp:81
void on_new_reading(Task *goal=NULL)
Updates the attention window at each sensor reading.
Definition: tracker.cpp:136
void on_new_task(Task *task=NULL)
Uses the goal to reset tracked disturbance at each task.
Definition: tracker.cpp:129
Tracks task execution through dead reckoning.
Definition: tracker.h:84
void on_new_reading(Task *task=NULL)
Called every time asensor reading is available.
Definition: tracker.h:96
void on_new_task(Task *task=NULL)
Called every time a new task is created.
Definition: tracker.h:94
b2Transform get_transform(const Task &t, const CoordinateContainer &pts, Disturbance *observed_disturbance, std::vector< BodyFeatures > &objects)
Definition: tracker.h:88
b2Transform track(Task &t, const CoordinateContainer &pts, std::vector< BodyFeatures > &objects)
Tracks task execution.
Definition: tracker.cpp:3
Disturbance * get_disturbance_ptr()
Get a pointer to the disturbance.
Definition: task.h:311
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:8
virtual void on_new_task(Task *task=NULL)=0
Called every time a new task is created.
virtual void on_new_reading(Task *task=NULL)=0
Called every time asensor reading is available.
void make_log()
opens file where all the data is dumped
Definition: tracker.cpp:73
virtual b2Transform track(Task &t, const CoordinateContainer &pts, std::vector< BodyFeatures > &objects)=0
Tracks task execution.
virtual b2Transform get_transform(const Task &t, const CoordinateContainer &pts, Disturbance *observed_disturbance, std::vector< BodyFeatures > &objects)=0
Definition: disturbance.h:112