Сообщение от robotics
|
Да, все верно, выскакивает это сообщение.
Я не знаю, почему это происходит. Мне нужно, чтобы роботы могли запускаться автоматически после сбоя. У нас еще 1 робот фанук с R30iA Mate, но у него никогда не было проблем с ними после сбоев питания.
|
Происходит это потому, что робот успевает изменить положение после того, как процессор обесточился, прежде чем тормоза моторов его полностью остановят.
Тот же либо другой робот, движущий с меньшей скоростью, либо несущий меньшую массу, может в такую ошибку и не выпасть.
Попробуйте для начала увеличить пороговое значение детекции ошибки: $PARAM_GROUP[1].$spccounttol[i], для осей выпадающих в ошибку.
Произвести калибровку програмно, на первый взгляд, можно, манипулируя системными переменными в фоновой логике.
Однако, перед калибровкой робот нужно подвигать, а это возможно только вручную.
Тем не менее, можете поэкспериментировать после очередного инцидента, не двигая робот и не сбрасывая ошибку,
выставив вручную в системных переменных:
$MCR.$spc_reset=TRUE (Reset the pulse code mismatch error).
$DMR_GRP[1].$master_done=TRUE
$MCR_GRP[1].$calibrate=TRUE
и проверьте результат.
Есть еще интересная переменная $MCR_GRP[1].$machinelock
Description: Brakes are engaged and subsequent motion is executed normally, but the final output to the servo system is disabled.
Motion appears to have moved from all system aspects, but the mechanical robot has not moved.
Current position reflects the virtual robot position and not the locked robot position.
When $machinelock is set to FALSE after having been TRUE, the calibration sequence is executed and the robot position is reset to reflect the actual mechanical position.
Согласно последнему предложению, по выключении $MCR_GRP[1].$machinelock происходит процедура калибровки.
Можете попробовать после сброса pulse code mismatch error.