delta robot emc2

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

delta robot emc2

Сообщение z-vr » 05 июн 2012, 16:50

Помогите пожалуйста разобраться, как приделать кинематику к EMC2. Файл взял тут http://kvarc.extra.hu/step/motor/emc/emckinematics.html . Как мне его привязать к EMC2?
z-vr
Новичок
 
Сообщения: 18
Зарегистрирован: 05 июн 2012, 16:41
Репутация: 0

Re: delta robot emc2

Сообщение Nick » 05 июн 2012, 17:28

Попробуй сохранить. и выполнить в консоли:
sudo comp --install deltakins.c
также надо установить пакет linuxcnc-dev, если он еще не установлен.
sudo apt-get install linuxcnc-dev\

После этого надо будет его загружать через hal.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22526
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1576
Заслуга: Developer
Медальки:

Re: delta robot emc2

Сообщение z-vr » 05 июн 2012, 18:04

файл положил /usr/src/linux-headers-2.6.32-122-rtai/deltakins.c
сделал comp --install deltakins.c
получил такой результат

make -C /usr/src/linux-headers-2.6.32-122-rtai SUBDIRS=`pwd` CC=gcc V=0 -o /Module.symvers modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-122-rtai'
CC [M] /tmp/tmpaIFBmj/deltakins.o
/tmp/tmpaIFBmj/deltakins.c: In function ‘delta_calcAngleYZ’:
/tmp/tmpaIFBmj/deltakins.c:142: warning: ISO C90 forbids mixed declarations and code
/tmp/tmpaIFBmj/deltakins.c:147: warning: ISO C90 forbids mixed declarations and code
/tmp/tmpaIFBmj/deltakins.c: In function ‘kinematicsInverse’:
/tmp/tmpaIFBmj/deltakins.c:170: warning: ISO C90 forbids mixed declarations and code
/tmp/tmpaIFBmj/deltakins.c: In function ‘init_module’:
/tmp/tmpaIFBmj/deltakins.c:221: error: ‘HAL_SUCCESS’ undeclared (first use in this function)
/tmp/tmpaIFBmj/deltakins.c:221: error: (Each undeclared identifier is reported only once
/tmp/tmpaIFBmj/deltakins.c:221: error: for each function it appears in.)
make[2]: *** [/tmp/tmpaIFBmj/deltakins.o] Error 1
make[1]: *** [_module_/tmp/tmpaIFBmj] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-122-rtai'
make: *** [modules] Error 2

И мне не понятно куда геометрию робота вводить?
там в файле закоментированно:

/* robot geometry /Ref - mzavatsky: Delta robot kinematics/
e = side length of end effector triangle, middle arm - "re"
f = side length of base triangle, middle drive joints - "rf"
re = length of end effector arm
rf = length of drive arm
sample:
e = 115.0;
f = 457.3;
re = 232.0;
rf = 112.0; */

Нужно тут указывать?
z-vr
Новичок
 
Сообщения: 18
Зарегистрирован: 05 июн 2012, 16:41
Репутация: 0

Re: delta robot emc2

Сообщение z-vr » 06 июн 2012, 11:36

Может можно в HAL прописать всю геометрию? Где можно посмотреть примеры моей проблемы?
z-vr
Новичок
 
Сообщения: 18
Зарегистрирован: 05 июн 2012, 16:41
Репутация: 0

Re: delta robot emc2

Сообщение PKM » 06 июн 2012, 12:08

судя по следующему, эти значения должны быть прописаны в HAL
но в принципе их можно просто задать в самом файле кинематики

struct haldata {
hal_float_t *e, *f, *re, *rf;
} *haldata = 0;

#define delta_e (*(haldata->e))
#define delta_f (*(haldata->f))
#define delta_re (*(haldata->re))
#define delta_rf (*(haldata->rf))

#else
double delta_e, delta_f, delta_re, delta_rf;
#endif
Аватара пользователя
PKM
Почётный участник
Почётный участник
 
Сообщения: 4261
Зарегистрирован: 31 мар 2011, 18:11
Откуда: Украина
Репутация: 703
Медальки:
Настоящее имя: Андрей

Re: delta robot emc2

Сообщение z-vr » 06 июн 2012, 12:28

Тогда я в файле убираю комментарии
e = 115.0;
f = 457.3;
re = 232.0;
rf = 112.0;
и потом его компилирую?
z-vr
Новичок
 
Сообщения: 18
Зарегистрирован: 05 июн 2012, 16:41
Репутация: 0

Re: delta robot emc2

Сообщение z-vr » 06 июн 2012, 12:53

И так ругается:

root@cnc-desktop:/usr/src/linux-headers-2.6.32-122-rtai# comp --install deltakins.c
make -C /usr/src/linux-headers-2.6.32-122-rtai SUBDIRS=`pwd` CC=gcc V=0 -o /Module.symvers modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-122-rtai'
CC [M] /tmp/tmpK0GBdM/deltakins.o
/tmp/tmpK0GBdM/deltakins.c:32: warning: data definition has no type or storage class
/tmp/tmpK0GBdM/deltakins.c:32: warning: type defaults to ‘int’ in declaration of ‘e’
/tmp/tmpK0GBdM/deltakins.c:33: warning: data definition has no type or storage class
/tmp/tmpK0GBdM/deltakins.c:33: warning: type defaults to ‘int’ in declaration of ‘f’
/tmp/tmpK0GBdM/deltakins.c:34: warning: data definition has no type or storage class
/tmp/tmpK0GBdM/deltakins.c:34: warning: type defaults to ‘int’ in declaration of ‘re’
/tmp/tmpK0GBdM/deltakins.c:35: warning: data definition has no type or storage class
/tmp/tmpK0GBdM/deltakins.c:35: warning: type defaults to ‘int’ in declaration of ‘rf’
/tmp/tmpK0GBdM/deltakins.c: In function ‘delta_calcAngleYZ’:
/tmp/tmpK0GBdM/deltakins.c:143: warning: ISO C90 forbids mixed declarations and code
/tmp/tmpK0GBdM/deltakins.c:148: warning: ISO C90 forbids mixed declarations and code
/tmp/tmpK0GBdM/deltakins.c: In function ‘kinematicsInverse’:
/tmp/tmpK0GBdM/deltakins.c:171: warning: ISO C90 forbids mixed declarations and code
/tmp/tmpK0GBdM/deltakins.c: In function ‘init_module’:
/tmp/tmpK0GBdM/deltakins.c:222: error: ‘HAL_SUCCESS’ undeclared (first use in this function)
/tmp/tmpK0GBdM/deltakins.c:222: error: (Each undeclared identifier is reported only once
/tmp/tmpK0GBdM/deltakins.c:222: error: for each function it appears in.)
make[2]: *** [/tmp/tmpK0GBdM/deltakins.o] Error 1
make[1]: *** [_module_/tmp/tmpK0GBdM] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-122-rtai'
make: *** [modules] Error 2
z-vr
Новичок
 
Сообщения: 18
Зарегистрирован: 05 июн 2012, 16:41
Репутация: 0

Re: delta robot emc2

Сообщение Nick » 07 июн 2012, 12:18

z-vr писал(а): error: ‘HAL_SUCCESS’ undeclared (first use in this function)

Вот главная ошибка...
сейчас гляну из-за чего она появляется...
Аватара пользователя
Nick
Мастер
 
Сообщения: 22526
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1576
Заслуга: Developer
Медальки:

Re: delta robot emc2

Сообщение Nick » 07 июн 2012, 12:24

Ага вот в чем дело:
Код: Выделить всёРазвернуть
    if((res = hal_pin_float_new("deltakins.e", HAL_IO, &(haldata->e), comp_id)) != HAL_SUCCESS) goto error;
    if((res = hal_pin_float_new("deltakins.f", HAL_IO, &(haldata->f), comp_id)) != HAL_SUCCESS) goto error;
    if((res = hal_pin_float_new("deltakins.re", HAL_IO, &(haldata->re), comp_id)) != HAL_SUCCESS) goto error;
    if((res = hal_pin_float_new("deltakins.rf", HAL_IO, &(haldata->rf), comp_id)) != HAL_SUCCESS) goto error;

Оказывается в 2009 от HAL_SUCCESS избавились: http://git.linuxcnc.org/gitweb?p=linuxc ... 3bf1650aba

В общем надо HAL_SUCCESS заменить на 0.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22526
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1576
Заслуга: Developer
Медальки:

Re: delta robot emc2

Сообщение z-vr » 07 июн 2012, 12:44

Огромное человеческое спасибо!
Сейчас буду пробовать.
z-vr
Новичок
 
Сообщения: 18
Зарегистрирован: 05 июн 2012, 16:41
Репутация: 0

Re: delta robot emc2

Сообщение z-vr » 07 июн 2012, 14:17

Исправил на 0.
Получился модуль deltakins.ko .
Как его прописать в HAL или в .ini ?
И где и как геометрию указать?
Спасибо.
z-vr
Новичок
 
Сообщения: 18
Зарегистрирован: 05 июн 2012, 16:41
Репутация: 0

Re: delta robot emc2

Сообщение UAVpilot » 07 июн 2012, 16:13

Nick писал(а):В общем надо HAL_SUCCESS заменить на 0.


Несколько надёжней будет вот так:

#ifndef HAL_SUCCESS
#define HAL_SUCCESS 0
#endif

;)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 19902
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4796
Медальки:
Настоящее имя: Сергей

Re: delta robot emc2

Сообщение z-vr » 08 июн 2012, 10:54

Спасибо.

Не понимаю как его прописать в HAL или в .ini ?
И где и как геометрию указать?
z-vr
Новичок
 
Сообщения: 18
Зарегистрирован: 05 июн 2012, 16:41
Репутация: 0

Re: delta robot emc2

Сообщение nkp » 08 июн 2012, 11:13

попробуй в хал файл прописать:
Код: Выделить всёРазвернуть
loadrt deltakins

По идее он должен появиться здесь :
nkp
Мастер
 
Сообщения: 8232
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1528
Медальки:

Re: delta robot emc2

Сообщение z-vr » 08 июн 2012, 11:43

Ok.
А как переменные указать, которые прописаны были в файле кинематики?

struct haldata {
hal_float_t *e, *f, *re, *rf;
} *haldata = 0;

#define delta_e (*(haldata->e))
#define delta_f (*(haldata->f))
#define delta_re (*(haldata->re))
#define delta_rf (*(haldata->rf))

#else
double delta_e, delta_f, delta_re, delta_rf;
#endif
z-vr
Новичок
 
Сообщения: 18
Зарегистрирован: 05 июн 2012, 16:41
Репутация: 0

Re: delta robot emc2

Сообщение z-vr » 08 июн 2012, 11:50

Я правильно понимаю?
loadrt deltakins e=115.0 f=457.3 re=232.0 rf=112.0
z-vr
Новичок
 
Сообщения: 18
Зарегистрирован: 05 июн 2012, 16:41
Репутация: 0

Re: delta robot emc2

Сообщение nkp » 08 июн 2012, 11:54

z-vr писал(а):Я правильно понимаю?loadrt deltakins e=115.0 f=457.3 re=232.0 rf=112.0

нет-прописывать кинематику сейчас незачем:
мы дабиваемся чтоб загрузился и определился наш(ваш) компонент
Пишем как выше и результат в студию
nkp
Мастер
 
Сообщения: 8232
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1528
Медальки:

Re: delta robot emc2

Сообщение z-vr » 08 июн 2012, 12:04

Print file information:
RUN_IN_PLACE=no
EMC2_DIR=
EMC2_BIN_DIR=/usr/bin
EMC2_TCL_DIR=/usr/share/emc/tcl
EMC2_SCRIPT_DIR=
EMC2_RTLIB_DIR=/usr/realtime-2.6.32-122-rtai/modules/emc2
EMC2_CONFIG_DIR=
EMC2_LANG_DIR=/usr/share/emc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
EMC2_EMCSH=/usr/bin/wish8.5
EMC2 - 2.4.6
Machine configuration directory is '/home/cnc/emc2/configs/мой-станок'
Machine configuration file is 'мой-станок.ini'
INIFILE=/home/cnc/emc2/configs/мой-станок/мой-станок.ini
PARAMETER_FILE=emc.var
EMCMOT=motmod
EMCIO=io
TASK=milltask
HALUI=halui
DISPLAY=axis
NML_FILE=
Starting EMC2...
Starting EMC2 server program: emcsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting EMC2 IO program: io
Starting HAL User Interface program: halui
Shutting down and cleaning up EMC2...
Killing task emcsvr, PID=1727
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Cleanup done

Debug file information:
insmod: error inserting '/usr/realtime-2.6.32-122-rtai/modules/emc2/deltakins.ko': -1 Invalid module format
мой-станок.hal:10: exit value: 1
мой-станок.hal:10: insmod failed, returned -1
See the output of 'dmesg' for more information.
1727
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components

Kernel message information:
[ 416.824793] I-pipe: Domain RTAI registered.
[ 416.824807] RTAI[hal]: <3.8.1> mounted over IPIPE-NOTHREADS 2.6-03.
[ 416.824811] RTAI[hal]: compiled with gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) .
[ 416.824822] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs DISPATCHED), ISOL_CPUS_MASK: 0).
[ 416.824825] PIPELINE layers:
[ 416.824830] f93e5e20 9ac15d93 RTAI 200
[ 416.824834] c085cb20 0 Linux 100
[ 416.866381] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[ 416.866618] RTAI[sched]: IMMEDIATE, MP, USER/KERNEL SPACE: <with RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[ 416.866627] RTAI[sched]: hard timer type/freq = APIC/8311960(Hz); default timing: periodic; linear timed lists.
[ 416.866633] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 2394093000 hz.
[ 416.866637] RTAI[sched]: timer setup = 999 ns, resched latency = 2943 ns.
[ 416.866784] RTAI[usi]: enabled.
[ 417.023143] RTAI[math]: loaded.
[ 417.150094] config string '0x378 out '
[ 417.183997] deltakins: exports duplicate symbol kinematicsInverse (owned by trivkins)
[ 417.930005] RTAI[math]: unloaded.
[ 418.047184] SCHED releases registered named ALIEN RTGLBH
[ 418.061378] RTAI[malloc]: unloaded.
[ 418.160030] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 0, syscalls 0).
[ 418.167071] I-pipe: Domain RTAI unregistered.
[ 418.167086] RTAI[hal]: unmounted.
z-vr
Новичок
 
Сообщения: 18
Зарегистрирован: 05 июн 2012, 16:41
Репутация: 0

Re: delta robot emc2

Сообщение nkp » 08 июн 2012, 12:10

insmod: error inserting '/usr/realtime-2.6.32-122-rtai/modules/emc2/deltakins.ko': -1 Invalid module format
может быть ошибка в самом модуле
nkp
Мастер
 
Сообщения: 8232
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1528
Медальки:

Re: delta robot emc2

Сообщение Nick » 08 июн 2012, 16:44

Надо его сравнить с trikins... в смысле исходник, посмотреть чем они еще отличаются...
Аватара пользователя
Nick
Мастер
 
Сообщения: 22526
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1576
Заслуга: Developer
Медальки:

След.

Вернуться в LinuxCNC

Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], dpss-2, drykov, eastwind, Google [Bot], Majestic-12 [Bot], Maxekb77, MGG, nik1, NikolayUa24, PavelTch, R2d23d, гражданинъ, s_erg, Sashalex24, shtanc, sidor094, solo, Yandex [bot], ДмитрийП, шпиндель

Reputation System ©'