Skip to content

Commit 8594ee5

Browse files
committed
Added some debug information
1 parent 57aca09 commit 8594ee5

File tree

3 files changed

+43
-21
lines changed

3 files changed

+43
-21
lines changed

source/dbrt/tracker/fusion_tracker.cpp

Lines changed: 39 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ FusionTracker::FusionTracker(
3939
ros_image_updated_(false)
4040
{
4141
gaussian_joint_tracker_ = rotary_tracker_factory();
42+
i_t = 0;
43+
j_t = 0;
4244
}
4345

4446
void FusionTracker::initialize(const std::vector<State>& initial_states)
@@ -124,7 +126,7 @@ void FusionTracker::run_visual_tracker()
124126
while (running_)
125127
{
126128
// continue only if there is a new image available
127-
usleep(10);
129+
usleep(100);
128130
{
129131
std::lock_guard<std::mutex> lock(image_obsrvs_mutex_);
130132
if (!ros_image_updated_)
@@ -166,8 +168,8 @@ void FusionTracker::run_visual_tracker()
166168
belief_entry);
167169
if (belief_index < 0)
168170
{
169-
std::cout << "belief_index < 0: " << belief_index << std::endl;
170-
171+
// no belief found, put back extracted beliefs from local to global
172+
// buffer
171173
std::lock_guard<std::mutex> belief_buffer_lock(
172174
joints_obsrv_belief_buffer_mutex_);
173175
while (joints_obsrv_belief_buffer_local.size() > 0)
@@ -179,15 +181,6 @@ void FusionTracker::run_visual_tracker()
179181
continue;
180182
}
181183

182-
183-
// // just some print -----------------------------------------------------
184-
// static ros::Time last_image_stamp;
185-
// ros::Duration delta = ros_image_.header.stamp - last_image_stamp;
186-
// last_image_stamp = ros_image_.header.stamp;
187-
// std::cout << "time difference between processed images: " << delta <<
188-
// std::endl;
189-
// // ---------------------------------------------------------------------
190-
191184
// #3
192185
auto mean = get_state_from_belief(belief_entry);
193186
auto cov_sqrt = get_covariance_sqrt_from_belief(belief_entry);
@@ -244,6 +237,7 @@ void FusionTracker::run_visual_tracker()
244237
joints_obsrv_belief_buffer_local.pop_front();
245238
}
246239

240+
// add back joint observations after belief index
247241
while (joints_obsrv_belief_buffer_local.size() > 0)
248242
{
249243
joints_obsrvs_buffer_.push_front(
@@ -261,8 +255,6 @@ void FusionTracker::run_visual_tracker()
261255
if (entry.timestamp < prev.timestamp)
262256
{
263257
PV(entry.timestamp - prev.timestamp);
264-
PV(entry.obsrv);
265-
PV(prev.obsrv);
266258
PInfo("constructed queue is wrong");
267259
}
268260

@@ -300,12 +292,35 @@ int FusionTracker::find_belief_entry(const std::deque<JointsBeliefEntry>& queue,
300292
index++;
301293
}
302294

303-
std::cout.precision(20);
304-
305-
std::cout << "could not find a matching belief for time stamp "
306-
<< timestamp << std::endl;
307-
std::cout << "latest belief: " << max << std::endl;
308-
std::cout << "oldest belief: " << min << std::endl;
295+
if (i_t > j_t)
296+
{
297+
std::cout << ">>>>>>>>> ";
298+
}
299+
else
300+
{
301+
302+
std::cout << "<<<<<<<<< ";
303+
304+
}
305+
std::cout << "Waiting for processed joint observation beliefs. "
306+
<< "Unprocessed observations: " << joints_obsrvs_buffer_.size()
307+
<< " ("
308+
<< " image t: " << i_t << ", joints t: " << j_t << "; diff: "
309+
<< i_t - j_t
310+
<< ")"
311+
<< std::endl;
312+
// std::cout.precision(20);
313+
// std::cout << "could not find a matching belief for time stamp "
314+
// << timestamp << " (delta: " << timestamp - max << ")" << std::endl;
315+
// std::cout << "latest processed obsrv: " << max << std::endl;
316+
// std::cout << "oldest processed obsrv: " << min << std::endl;
317+
// std::cout << "unprocessed obsrvs size: " << joints_obsrvs_buffer_.size()
318+
// << ", processed buffer size: " << queue.size() << std::endl;
319+
// if (joints_obsrvs_buffer_.size())
320+
// {
321+
// std::cout << "joints_obsrvs_buffer_.back().timestamp" <<
322+
// joints_obsrvs_buffer_.back().timestamp << std::endl;
323+
// }
309324

310325
return -1;
311326
}
@@ -413,6 +428,7 @@ void FusionTracker::joints_obsrv_callback(
413428
ROS_WARN("Obsrv buffer max size reached.");
414429
joints_obsrvs_buffer_.pop_front();
415430
}
431+
j_t = entry.timestamp;
416432
}
417433

418434
void FusionTracker::image_obsrv_callback(const sensor_msgs::Image& ros_image)
@@ -423,6 +439,9 @@ void FusionTracker::image_obsrv_callback(const sensor_msgs::Image& ros_image)
423439
ros_image_ = ros_image;
424440
ros_image_.header.stamp.fromSec(
425441
ros_image_.header.stamp.toSec() - camera_delay_);
442+
443+
std::lock_guard<std::mutex> lock_joint_obsrv(joints_obsrv_buffer_mutex_);
444+
i_t = ros_image_.header.stamp.toSec();
426445
}
427446

428447
}

source/dbrt/tracker/fusion_tracker.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,9 @@ class FusionTracker
109109
const Eigen::MatrixXd& cov);
110110

111111
private:
112+
double i_t;
113+
double j_t;
114+
112115
VisualTrackerFactory visual_tracker_factory_;
113116
std::shared_ptr<dbot::CameraData> camera_data_;
114117
std::shared_ptr<KinematicsFromURDF> kinematics_;

source/dbrt/tracker/fusion_tracker_node.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ int main(int argc, char** argv)
119119
&dbrt::FusionTracker::image_obsrv_callback,
120120
fusion_tracker.get());
121121

122-
ros::AsyncSpinner spinner(4);
122+
ros::AsyncSpinner spinner(20);
123123
spinner.start();
124124

125125
ros::Rate visualization_rate(100);

0 commit comments

Comments
 (0)