только проверить без реальной машины затруднительно))Nick писал(а): joints[4] = arctg(pos->tran.x/pos->tran.y);
joints[1] = sqrt(pos->tran.x**2 + pos->tran.y**2)
в частности:
все ли "варианты" со знаками учтены
только проверить без реальной машины затруднительно))Nick писал(а): joints[4] = arctg(pos->tran.x/pos->tran.y);
joints[1] = sqrt(pos->tran.x**2 + pos->tran.y**2)
Код: Выделить всё
sudo apt-get install linuxcnc-devКод: Выделить всё
sudo comp --install angularkins.cну наверно все таки можно :nkp писал(а):только проверить без реальной машины затруднительно
Код: Выделить всё
{
A = atan(pos->tran.x/pos->tran.y);
joints[4] = A;
joints[1] = pos->tran.x / cos(A);
}
Только не забыть объявить переменную Аnkp писал(а):или вычислять гипотенузу через катет и угол:
Код: Выделить всё
joints[4] = atan(pos->tran.x/pos->tran.y);
joints[1] = pos->tran.x / cos(joints[4]);именно. кстати да, так удобнее.nkp писал(а):(кстати atan vs atan2 = ???)
может так мы обходим ситуацию ,когда pos->tran.y равна нулю...
это хуже, т.к. появляется деление - есть возможность делить на 0. Да и cos может быть меньше нуля.nkp писал(а):или вычислять гипотенузу через катет и угол:
можно пойти и этим путем...milo писал(а):А что, постпроцессоров под полярную обработку разве не существует? Это на тот случай ,если с описанием кинематики возникнут проблемы.
В просмотре программы будет непонятно что...milo писал(а):А что, постпроцессоров под полярную обработку разве не существует? Это на тот случай ,если с описанием кинематики возникнут проблемы.
А в ручных будет тоже в кинематике ездить. Главный вопрос в том, что станок будет делать и как с ним будет удобнее работать...nkp писал(а):может с учетом ручных перемещений это и правильней...
будет - но как?Nick писал(а):А в ручных будет тоже в кинематике ездить.