Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 16 additions & 4 deletions examples/07_vel_jitter_trace.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -166,10 +166,22 @@ int main(int argc, char** argv) {
});

// ---- 路②: 开 300Hz 固件日志, 然后发运动 ----
arm.log().start(LOG_TICKS);
const double t_move0 = now_s();
const CartPlan plan = arm.move_l(goal, args.speed);
const double move_s = now_s() - t_move0;
// ⚠ 线程必须在**所有路径**上 stop+join: move_l 抛异常 (固件拒绝规划、超时
// 都是正常工况) 时若不收线程, `std::thread` 析构会对 joinable 线程直接
// `std::terminate` —— 实测就是 core dump (exit 134), 且 stdout 还在块缓冲里,
// 错误信息也一起丢。
CartPlan plan{};
double move_s = 0.0;
try {
arm.log().start(LOG_TICKS);
const double t_move0 = now_s();
plan = arm.move_l(goal, args.speed);
move_s = now_s() - t_move0;
} catch (...) {
stop.store(true);
grabber.join();
throw;
}
stop.store(true);
grabber.join();

Expand Down
Loading