delta robot emc2

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

Re: delta robot emc2

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

Nick писал(а):Надо его сравнить с trikins... в смысле исходник, посмотреть чем они еще отличаются...

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

Re: delta robot emc2

Сообщение nkp » 08 июн 2012, 17:38

Код: Выделить всёРазвернуть
/********************************************************************
* Description: trivkins.c
*   Trivial kinematics for 3 axis Cartesian machine
*
*   Derived from a work by Fred Proctor & Will Shackleford
*
* Author:
* License: GPL Version 2
* System: Linux
*   
* Copyright (c) 2004 All rights reserved.
*
* Last change:
********************************************************************/

#include "kinematics.h"      /* these decls */


int kinematicsForward(const double *joints,
            EmcPose * pos,
            const KINEMATICS_FORWARD_FLAGS * fflags,
            KINEMATICS_INVERSE_FLAGS * iflags)
{
    pos->tran.x = joints[0];
    pos->tran.y = joints[1];
    pos->tran.z = joints[2];
    pos->a = joints[3];
    pos->b = joints[4];
    pos->c = joints[5];
    pos->u = joints[6];
    pos->v = joints[7];
    pos->w = joints[8];

    return 0;
}

int kinematicsInverse(const EmcPose * pos,
            double *joints,
            const KINEMATICS_INVERSE_FLAGS * iflags,
            KINEMATICS_FORWARD_FLAGS * fflags)
{
    joints[0] = pos->tran.x;
    joints[1] = pos->tran.y;
    joints[2] = pos->tran.z;
    joints[3] = pos->a;
    joints[4] = pos->b;
    joints[5] = pos->c;
    joints[6] = pos->u;
    joints[7] = pos->v;
    joints[8] = pos->w;

    return 0;
}

/* implemented for these kinematics as giving joints preference */
int kinematicsHome(EmcPose * world,
         double *joint,
         KINEMATICS_FORWARD_FLAGS * fflags,
         KINEMATICS_INVERSE_FLAGS * iflags)
{
    *fflags = 0;
    *iflags = 0;

    return kinematicsForward(joint, world, fflags, iflags);
}

KINEMATICS_TYPE kinematicsType()
{
    return KINEMATICS_IDENTITY;
}

#include "rtapi.h"      /* RTAPI realtime OS API */
#include "rtapi_app.h"      /* RTAPI realtime module decls */
#include "hal.h"

EXPORT_SYMBOL(kinematicsType);
EXPORT_SYMBOL(kinematicsForward);
EXPORT_SYMBOL(kinematicsInverse);
MODULE_LICENSE("GPL");

int comp_id;
int rtapi_app_main(void) {
    comp_id = hal_init("trivkins");
    if(comp_id > 0) {
   hal_ready(comp_id);
   return 0;
    }
    return comp_id;
}

void rtapi_app_exit(void) { hal_exit(comp_id); }

http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=tree;f=src/emc/kinematics;h=100d3f2a0af5e5510f901149187d9bc52dfea4f9;hb=f5e02f6304b5b04d8840a2c3f95c852d458ac5d7
nkp
Мастер
 
Сообщения: 8232
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1528
Медальки:

Re: delta robot emc2

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

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


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

#ifndef HAL_SUCCESS
#define HAL_SUCCESS 0
#endif

;)


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

Re: delta robot emc2

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

Этот tripodkins.c больше похож на мой, но наверное мне это не поможет.
Что мой, что тот, что этот темный лес для меня.
z-vr
Новичок
 
Сообщения: 18
Зарегистрирован: 05 июн 2012, 16:41
Репутация: 0

Re: delta robot emc2

Сообщение nkp » 08 июн 2012, 18:16

если это работало у других- значит заработает и у нас!
все дело только во времени.
для меня си - это тоже иероглифы.Но есть коллективный разум-он поможет.
nkp
Мастер
 
Сообщения: 8232
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1528
Медальки:

Re: delta robot emc2

Сообщение UAVpilot » 08 июн 2012, 20:20

nkp писал(а):insmod: error inserting '/usr/realtime-2.6.32-122-rtai/modules/emc2/deltakins.ko': -1 Invalid module format
может быть ошибка в самом модуле


Не, похоже модуль неправильно скомпилился.
Что говорят
file /usr/realtime-2.6.32-122-rtai/modules/emc2/deltakins.ko
и
modinfo /usr/realtime-2.6.32-122-rtai/modules/emc2/deltakins.ko
?
Последний раз редактировалось UAVpilot 08 июн 2012, 20:32, всего редактировалось 1 раз.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 19902
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4796
Медальки:
Настоящее имя: Сергей

Re: delta robot emc2

Сообщение PKM » 08 июн 2012, 20:22

я бы не надеялся на comp
в таких случаях скачиваю исходники и редактирую одну из готовых кинематик, потом полностью компилирую linuxcnc для run-in-place
правда, компилировать приходится очень много раз, пока не заработает... :hehehe:
Аватара пользователя
PKM
Почётный участник
Почётный участник
 
Сообщения: 4261
Зарегистрирован: 31 мар 2011, 18:11
Откуда: Украина
Репутация: 703
Медальки:
Настоящее имя: Андрей

Re: delta robot emc2

Сообщение UAVpilot » 08 июн 2012, 20:26

z-vr писал(а):Если я просто ноль прописал это не могло повлиять или надо как тут?


В данном случае эта запись и замена на 0 развнозначны, но при заменах можно что-нибудь пропустить, а эта запись, особенно если расположить её в правильном месте сама "поменяет" везде.
Можно было ещё поменять добавив в опции компилятору "-DHAL_SUCCESS=0", например в Makefile в переменную CFLAGS.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 19902
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4796
Медальки:
Настоящее имя: Сергей

Re: delta robot emc2

Сообщение nkp » 08 июн 2012, 22:29

попробовал я проделать все эти действия:
Файл:
deltakins.c.tar.gz
(2.09 Кб) Скачиваний: 987

файл положил /usr/src/linux-headers-2.6.32-122-rtai/deltakins.c
сделал comp --install deltakins.c
(все под рутом)
s3301 писал(а):Что говорят file /usr/realtime-2.6.32-122-rtai/modules/emc2/deltakins.ko и modinfo /usr/realtime-2.6.32-122-rtai/modules/emc2/deltakins.ko

не знаю что это значит,но:
Код: Выделить всёРазвернуть
root@nkp-desktop:/usr/src/linux-headers-2.6.32-122-rtai# file /usr/realtime-2.6.32-122-rtai/modules/emc2/deltakins.ko
/usr/realtime-2.6.32-122-rtai/modules/emc2/deltakins.ko: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped

и:
Код: Выделить всёРазвернуть
root@nkp-desktop:/usr/src/linux-headers-2.6.32-122-rtai# modinfo /usr/realtime-2.6.32-122-rtai/modules/emc2/deltakins.ko
filename:       /usr/realtime-2.6.32-122-rtai/modules/emc2/deltakins.ko
license:        GPL
srcversion:     87EF434EF176B8BE61DAA0F
depends:        hal_lib
vermagic:       2.6.32-122-rtai SMP mod_unload 586TSC

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

результат:
delta robot emc2 Выделение(001).png
nkp
Мастер
 
Сообщения: 8232
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1528
Медальки:

Re: delta robot emc2

Сообщение Nick » 08 июн 2012, 22:41

Я тоже в сях не силен...

Меня вот это смущает , что за "error:" ?!? (4-я строчка снизу)
Код: Выделить всёРазвернуть
int rtapi_app_main(void) {
    int res = 0;

    comp_id = hal_init("deltakins");
    if(comp_id < 0) return comp_id;

    haldata = hal_malloc(sizeof(struct haldata));
    if(!haldata) goto error;
   
    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;

    delta_e = delta_f = delta_re = delta_rf = 1.0;
   
    hal_ready(comp_id);
    return 0;

error:
    hal_exit(comp_id);
    return res;
}


s3301 писал(а):Не, похоже модуль неправильно скомпилился.Что говорят

вроде ошибок при компилировании не было...
А что они должны говорить?

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

Re: delta robot emc2

Сообщение nkp » 08 июн 2012, 22:45

Nick писал(а):Т.е. заработало??? А что ты сделал не так?

В исходниках раскомментировал

e = 115.0;
f = 457.3;
re = 232.0;
rf = 112.0;
nkp
Мастер
 
Сообщения: 8232
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1528
Медальки:

Re: delta robot emc2

Сообщение UAVpilot » 09 июн 2012, 01:14

nkp писал(а):не знаю что это значит,но:


file - по содержимому определят тип файла, не расширение после имени, а текст это, картинка или ещё что.
modinfo - как можно догдаться показывает специфическую информацию о модуле.
Вобщем с этим всё в порядке.

nkp писал(а):В исходниках раскомментировал

я пока не силён в этом API, но мне показалось, что параметры должны передаваться как-то с помощью пинов, в имени которых есть буквы типа "deltakins.e"
Кстати, если пробуете раскоментировать, то лучше так:
double e = 115.0;
...

Nick писал(а):Меня вот это смущает , что за "error:" ?!? (4-я строчка снизу)

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

Re: delta robot emc2

Сообщение xentaur » 09 июн 2012, 01:25

s3301 писал(а):я пока не силён в этом API, но мне показалось, что параметры должны передаваться как-то с помощью пинов, в имени которых есть буквы типа "deltakins.e"

Это не для всех. Некоторые кинематики только во время компиляции параметры принимают.
xentaur
Опытный
 
Сообщения: 178
Зарегистрирован: 09 ноя 2010, 02:29
Откуда: Украина Харьков
Репутация: 1

Re: delta robot emc2

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

nkp писал(а):#29 nkp » Вчера, 23:29

попробовал я проделать все эти действия:
Файл:


Повторил все, у меня при компиляции такие предупреждения:

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/tmp790I3i/deltakins.o
/tmp/tmp790I3i/deltakins.c:7: warning: data definition has no type or storage class
/tmp/tmp790I3i/deltakins.c:7: warning: type defaults to ‘int’ in declaration of ‘e’
/tmp/tmp790I3i/deltakins.c:8: warning: data definition has no type or storage class
/tmp/tmp790I3i/deltakins.c:8: warning: type defaults to ‘int’ in declaration of ‘f’
/tmp/tmp790I3i/deltakins.c:9: warning: data definition has no type or storage class
/tmp/tmp790I3i/deltakins.c:9: warning: type defaults to ‘int’ in declaration of ‘re’
/tmp/tmp790I3i/deltakins.c:10: warning: data definition has no type or storage class
/tmp/tmp790I3i/deltakins.c:10: warning: type defaults to ‘int’ in declaration of ‘rf’
/tmp/tmp790I3i/deltakins.c: In function ‘delta_calcAngleYZ’:
/tmp/tmp790I3i/deltakins.c:119: warning: ISO C90 forbids mixed declarations and code
/tmp/tmp790I3i/deltakins.c:124: warning: ISO C90 forbids mixed declarations and code
/tmp/tmp790I3i/deltakins.c: In function ‘kinematicsInverse’:
/tmp/tmp790I3i/deltakins.c:147: warning: ISO C90 forbids mixed declarations and code
Building modules, stage 2.
MODPOST 1 modules
WARNING: "hal_init" [/tmp/tmp790I3i/deltakins.ko] undefined!
WARNING: "hal_exit" [/tmp/tmp790I3i/deltakins.ko] undefined!
WARNING: "hal_malloc" [/tmp/tmp790I3i/deltakins.ko] undefined!
WARNING: "hal_pin_float_new" [/tmp/tmp790I3i/deltakins.ko] undefined!
WARNING: "hal_ready" [/tmp/tmp790I3i/deltakins.ko] undefined!
CC /tmp/tmp790I3i/deltakins.mod.o
LD [M] /tmp/tmp790I3i/deltakins.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-122-rtai'

Сделал modinfo:
root@cnc-desktop:/usr/src/linux-headers-2.6.32-122-rtai# modinfo /usr/realtime-2.6.32-122-rtai/modules/emc2/deltakins.ko
filename: /usr/realtime-2.6.32-122-rtai/modules/emc2/deltakins.ko
license: GPL
srcversion: 87EF434EF176B8BE61DAA0F
depends:
vermagic: 2.6.32-122-rtai SMP mod_unload 586TSC

У меня нет depends?
в примере depends: hal_lib
и EMC2 выдает:
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=2014
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 Unknown
symbol in module
мой-станок.hal:10: exit value: 1
мой-станок.hal:10: insmod failed, returned -1
See the output of 'dmesg' for more information.
2014
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components

Kernel message information:
[ 879.230015] I-pipe: Domain RTAI registered.
[ 879.230031] RTAI[hal]: <3.8.1> mounted over IPIPE-NOTHREADS 2.6-03.
[ 879.230035] RTAI[hal]: compiled with gcc version 4.4.3 (Ubuntu
4.4.3-4ubuntu5) .
[ 879.230046] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL
IRQs DISPATCHED), ISOL_CPUS_MASK: 0).
[ 879.230050] PIPELINE layers:
[ 879.230055] f85b4e20 9ac15d93 RTAI 200
[ 879.230059] c085cb20 0 Linux 100
[ 879.273496] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[ 879.273739] RTAI[sched]: IMMEDIATE, MP, USER/KERNEL SPACE: <with RTAI
OWN KTASKs>, kstacks pool size = 524288 bytes.
[ 879.273750] RTAI[sched]: hard timer type/freq = APIC/8311990(Hz);
default timing: periodic; linear timed lists.
[ 879.273755] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq =
2394121000 hz.
[ 879.273759] RTAI[sched]: timer setup = 999 ns, resched latency = 2943 ns.
[ 879.273908] RTAI[usi]: enabled.
[ 879.428590] RTAI[math]: loaded.
[ 879.598716] config string '0x378 out '
[ 879.605126] deltakins: Unknown parameter `e'
[ 880.385404] RTAI[math]: unloaded.
[ 880.506549] SCHED releases registered named ALIEN RTGLBH
[ 880.521379] RTAI[malloc]: unloaded.
[ 880.620033] RTAI[sched]: unloaded (forced hard/soft/hard transitions:
traps 0, syscalls 0).
[ 880.627128] I-pipe: Domain RTAI unregistered.
[ 880.627144] RTAI[hal]: unmounted.

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

Re: delta robot emc2

Сообщение nkp » 09 июн 2012, 13:23

у меня убунта 10.04 емс 2.5 установлена с CD
а может ругается на наниаши переменные
Код: Выделить всёРазвернуть
/tmp/tmp790I3i/deltakins.c:7: warning: data definition has no type or storage class
/tmp/tmp790I3i/deltakins.c:7: warning: type defaults to ‘int’ in declaration of ‘e’
/tmp/tmp790I3i/deltakins.c:8: warning: data definition has no type or storage class
/tmp/tmp790I3i/deltakins.c:8: warning: type defaults to ‘int’ in declaration of ‘f’
/tmp/tmp790I3i/deltakins.c:9: warning: data definition has no type or storage class
/tmp/tmp790I3i/deltakins.c:9: warning: type defaults to ‘int’ in declaration of ‘re’
/tmp/tmp790I3i/deltakins.c:10: warning: data definition has no type or storage class
/tmp/tmp790I3i/deltakins.c:10: warning: type defaults to ‘int’ in declaration of ‘rf’

попробовать как советовали:
Код: Выделить всёРазвернуть
double e = 115.0;
nkp
Мастер
 
Сообщения: 8232
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1528
Медальки:

Re: delta robot emc2

Сообщение z-vr » 09 июн 2012, 13:29

У меня 10.04 и 2.4.6
сеючас обновлю EMC
z-vr
Новичок
 
Сообщения: 18
Зарегистрирован: 05 июн 2012, 16:41
Репутация: 0

Re: delta robot emc2

Сообщение Nick » 09 июн 2012, 14:11

z-vr писал(а):type defaults to ‘int’ in declaration of ‘e’

Нужно в объявлении переменных написать вот так:
UAVpilot писал(а):double e = 115.0;

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

Re: delta robot emc2

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

Nick писал(а):
z-vr писал(а):type defaults to ‘int’ in declaration of ‘e’

Нужно в объявлении переменных написать вот так:
UAVpilot писал(а):double e = 115.0;

Ошибка говорит, что не задан тип переменной по этому по дефолту он ставится в int, т.е. в целое число. А он должен быть действительным числом, т.к. потом с этими параметрами производятся различные хитрые вычисления.


Пока добился этого:

root@cnc-desktop:/usr/src/linux-headers-2.6.32-122-rtai# comp --install deltakins.c
make KBUILD_EXTRA_SYMBOLS=/usr/realtime-2.6.32-122-rtai/modules/linuxcnc/Module.symvers -C /usr/src/linux-headers-2.6.32-122-rtai SUBDIRS=`pwd` CC=gcc V=0 modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-122-rtai'
CC [M] /tmp/tmpoiqJBq/deltakins.o
/tmp/tmpoiqJBq/deltakins.c: In function ‘delta_calcAngleYZ’:
/tmp/tmpoiqJBq/deltakins.c:119: warning: ISO C90 forbids mixed declarations and code
/tmp/tmpoiqJBq/deltakins.c:124: warning: ISO C90 forbids mixed declarations and code
/tmp/tmpoiqJBq/deltakins.c: In function ‘kinematicsInverse’:
/tmp/tmpoiqJBq/deltakins.c:147: warning: ISO C90 forbids mixed declarations and code
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/tmpoiqJBq/deltakins.mod.o
LD [M] /tmp/tmpoiqJBq/deltakins.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-122-rtai'
cp deltakins.ko /usr/realtime-2.6.32-122-rtai/modules/linuxcnc/


root@cnc-desktop:/usr/src/linux-headers-2.6.32-122-rtai# modinfo /usr/realtime-2.6.32-122-rtai/modules/linuxcnc/deltakins.ko
filename: /usr/realtime-2.6.32-122-rtai/modules/linuxcnc/deltakins.ko
license: GPL
srcversion: CD4663657E9DC151030172C
depends: hal_lib
vermagic: 2.6.32-122-rtai SMP mod_unload 586TSC
root@cnc-desktop:/usr/src/linux-headers-2.6.32-122-rtai# modinfo /usr/realtime-2.6.32-122-rtai/modules/linuxcnc/deltakins.ko
z-vr
Новичок
 
Сообщения: 18
Зарегистрирован: 05 июн 2012, 16:41
Репутация: 0

Re: delta robot emc2

Сообщение Nick » 09 июн 2012, 15:21

И LinuxCNC все еще не запускается? Покажи ошибку...
Вообще, на сколько я понимаю:
z-vr писал(а):/tmp/tmpoiqJBq/deltakins.c:124: warning: ISO C90 forbids mixed declarations and code

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

Re: delta robot emc2

Сообщение UAVpilot » 09 июн 2012, 15:32

По поводу "depends: hal_lib", теперь уже просто как ликбез:
Это говорит о том, что для работы модуля нужен модуль hal_lib.
z-vr, у вас по какой-то причине при сборке модуля компилятор/линкер не увидел hal_lib и не постоил соотв. связь, решив, что это будет сделано на этапе выполнения самим модулем. А т.к. модуль этого не делает, то получили "Unknown symbol in module", т.е. модуль использует некую функцию, но никто не знает где её взять.

Ну а чтоб при компиляции совсем не ругалось надо в в функциях delta_calcAngleYZ и kinematicsInverse сначала сделать все объявления переменных, а потом их использовать:

double y1, a, b, d, yj, zj;
y1 = ...
y0 -= ...
a = ...
b = ...
...

double x0 = pos->tran.x;
double y0 = pos->tran.y;
double z0 = pos->tran.z;
double theta1;
double theta2;
double theta3;
int status;

theta1 = theta2 = theta3 = 0;
status = delta_calcAngleYZ(x0, y0, z0, &theta1);
if (status == 0) joints[0] = theta1;
...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 19902
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4796
Медальки:
Настоящее имя: Сергей

Пред.След.

Вернуться в LinuxCNC

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

Зарегистрированные пользователи: 4ana, aftaev, besriworld, Bing [Bot], borodaagvali, bred55, Google [Bot], parket_3d, ruh2100, SeReGa Sh, tsurika, vitzin, Yandex [bot], шпиндель

Reputation System ©'