bd_manage_from_cs(&mainboard.left_cobroller.bd, &mainboard.left_cobroller.cs);
bd_manage_from_cs(&mainboard.right_cobroller.bd, &mainboard.right_cobroller.cs);
if (mainboard.flags & DO_ERRBLOCKING) {
- if (bd_get(&mainboard.left_cobroller.bd) ||
- bd_get(&mainboard.left_cobroller.bd)) {
- printf_P(PSTR("MOTOR BLOCKED STOP ALL\r\n"));
- mainboard.flags &= ~(DO_POWER | DO_ERRBLOCKING);
- }
+/* if (bd_get(&mainboard.left_cobroller.bd) || */
+/* bd_get(&mainboard.left_cobroller.bd)) { */
+/* printf_P(PSTR("MOTOR BLOCKED STOP ALL\r\n")); */
+/* mainboard.flags &= ~(DO_POWER | DO_ERRBLOCKING); */
+/* } */
}
#endif
}
#ifdef HOST_VERSION
if ((cpt & 7) == 0) {
- // dump_cs("dist", &mainboard.distance.cs);
robotsim_dump();
}
#endif
position_init(&mainboard.pos);
position_set_physical_params(&mainboard.pos, VIRTUAL_TRACK_MM, DIST_IMP_MM);
position_set_related_robot_system(&mainboard.pos, &mainboard.rs);
- position_set_centrifugal_coef(&mainboard.pos, 0.000016);
+ //position_set_centrifugal_coef(&mainboard.pos, 0.000025);
position_use_ext(&mainboard.pos);
/* TRAJECTORY MANAGER */
/* ---- CS angle */
/* PID */
pid_init(&mainboard.angle.pid);
- pid_set_gains(&mainboard.angle.pid, 500, 10, 7000);
- pid_set_maximums(&mainboard.angle.pid, 0, 20000, 4095);
+ pid_set_gains(&mainboard.angle.pid, 850, 30, 15000);
+ pid_set_maximums(&mainboard.angle.pid, 0, 10000, 4095);
pid_set_out_shift(&mainboard.angle.pid, 10);
pid_set_derivate_filter(&mainboard.angle.pid, 4);
/* ---- CS distance */
/* PID */
pid_init(&mainboard.distance.pid);
- pid_set_gains(&mainboard.distance.pid, 500, 10, 7000);
- pid_set_maximums(&mainboard.distance.pid, 0, 2000, 4095);
+ pid_set_gains(&mainboard.distance.pid, 850, 30, 15000);
+ pid_set_maximums(&mainboard.distance.pid, 0, 10000, 4095);
pid_set_out_shift(&mainboard.distance.pid, 10);
pid_set_derivate_filter(&mainboard.distance.pid, 6);
mainboard.left_cobroller.on = 1;
mainboard.right_cobroller.on = 1;
-
scheduler_add_periodical_event_priority(do_cs, NULL,
5000L / SCHEDULER_UNIT,
CS_PRIO);
+
}