Страница 1 из 9
Все-таки SCARA
Добавлено: 20 дек 2014, 21:49
РЕКЛАМА
Хочу разобраться с этой кинематикой.
Сваял "стенд" из двух шаговиков, без редукторв, для экспериментов, если что получится-буду делать нормальный образец.
Пока все "управляется" стандартной кинематикой настроенной через стандартный степконф.
Оси "Z" нету, т.к. она идентична стандартной, и проблем с ней быть вроде как не должно.
Образец SCARA что есть по умолчанию в программе очевидно заточен под сервы и работать отказался, работает только та симуляция что в отдельном окошке, в самой программе ничего не движется.
И так дядьки, я очень надеюсь что вы поможете мне вставить формулы Скары в нужные файлы.
Я пока ничего не понял с чего надо начать, читаю все где есть слова "кинематика""Скара"Линукс снс" но никакого плана действий еще не прояснил. Чем больше читаю, тем больше каши в голове.
Что такое "прямая" и "обратная" кинематики?
Куда вставлять длину плеч "конечности"..
Где вообще всё это лежит и как всё это заставить работать..
Без вас никуда..
Re: Все-таки SCARA
Добавлено: 20 дек 2014, 22:22
nkp
РЕКЛАМА писал(а):Хочу разобраться с этой кинематикой.
эта?
в хал
loadrt scarakins прописано?
если да - и загружается без ошибок - то кинематика уже работает...
Re: Все-таки SCARA
Добавлено: 20 дек 2014, 22:32
nkp
РЕКЛАМА писал(а):Образец SCARA что есть по умолчанию в программе очевидно заточен под сервы и работать отказался, работает только та симуляция что в отдельном окошке, в самой программе ничего не движется.
ага - не внимательно прочитал
значит пример конфига запускается...
хал там "ни под что" - в смысле ,что там нет stepgen-ов вообще(если мы один и тот же конфиг
смотрим)
нужно добавить core_stepper.hal как минимум...
Re: Все-таки SCARA
Добавлено: 20 дек 2014, 22:41
РЕКЛАМА
На мой взгляд основная беда людей которые знают как что-то сделать в том что они думают что общаются с равным по знаниям, а ведь бывает (к примеру в этом конкретном случае) что по ту сторону экрана сидит человек недалекий (как счас).
Потому на вопрос "в хал loadrt scarakins прописано?" отвечу что не записано.
Потомучто:
1. я не знал что это надо куда-то писать.
2.теперь я знаю что это надо писать, но не знаю куда конкретно и в какое место (строчку) и где это лежит.
3. Зачем лишняя 4 ось?
4. Загружается без ошибок, но в окне визуализации программы "инструмент" не перемещается при ручном управлении, крутится только моделька. при попытке запустить "программу" выходит ошибка что "не могу в ручном режиме исполнить" и иногда что "ось выходит за лимиты" или как-то так.
Re: Все-таки SCARA
Добавлено: 20 дек 2014, 22:48
nkp
РЕКЛАМА писал(а):На мой взгляд основная беда людей которые знают как что-то сделать в том что они думают что общаются с равным по знаниям,
согласен - но эта "беда" как ты сказал - обоюдоострая
сейчас поясню:
ты думаешь ,что я отписался - и я знаю ответ?
да ничего подобного

- я просто хочу помочь тебе (нам) его найти!
я никогда не сталкивался с этой кинематикой...
ну ладно - это было лирическое отступление

==========
вот файлы ,которые я смотрю:
если у тебя речь об этом конфиге - его и будем редактировать...
если не те - выкладывай свои...
РЕКЛАМА писал(а):теперь я знаю что это надо писать, но не знаю куда конкретно и в какое место (строчку) и где это лежит.
это уже прописано в хал файле scara_sim_4.hal(опять же - если у нас одинаковый конфиг)
Re: Все-таки SCARA
Добавлено: 20 дек 2014, 22:59
nkp
РЕКЛАМА писал(а):Зачем лишняя 4 ось?
ну в данном исполнении 4 оси:
1."плечо"
2. "локоть"
3 обычная ось Z (вверх - вниз)
4.ось С( вращается "вокруг" Z )
вот здесь видно :
===========зы
все конфиги лежат :
/домашняя_папка/linuxcnc/configs
Re: Все-таки SCARA
Добавлено: 20 дек 2014, 23:14
РЕКЛАМА
А не проще в стандартной кинематике вставить формулы?
На сколько я понял там вместо (утрировано) перемещение по оси Х=перемещение оси, допустим "1" надо вставит формулу типа перемещение по оси Х= повернуть аксиальную ось "1" на формулу+ось "2" на формулу...
Или это я слишком упростил?
Re: Все-таки SCARA
Добавлено: 20 дек 2014, 23:21
nkp
РЕКЛАМА писал(а):Или это я слишком упростил?
в принципе - всё так...
только все формулы
украдены вставлены до нас))
в смысле - что все уже прописано в файле кинематики , он уже "установлен" в твоей системе, и подключается
к твоей запускаемой конфигурацией одной строкой:
loadrt scarakins
в отличии от "стандартной кинематики ,которая прописывается так:
loadrt trivkins
===========
так вот , все уже работает ,осталось выяснить - почему нет визуализации в основном окне Axis и
прописать stepgen-ы с выходами на шаговики
Re: Все-таки SCARA
Добавлено: 20 дек 2014, 23:26
nkp
так - поправил ini файл (лимиты) и можно посмотреть симуляцию обработки:
вот поправленый файл - можешь подредактировать - попробовать:
(для просмотра содержимого нажмите на ссылку)Код: Выделить всё
# EMC controller parameters for a simulated hexapod of the minitetra type.
# General note: Comments can either be preceded with a # or ; - either is
# acceptable, although # is in keeping with most linux config files.
# Settings with a + at the front of the comment are likely needed to get
# changed by the user.
# Settings with a - at the front are highly unneeded to be changed
###############################################################################
# General section
###############################################################################
# General section -------------------------------------------------------------
[EMC]
#- Version of this INI file
VERSION = $Revision$
#+ Name of machine, for use with display, etc.
MACHINE = LinuxCNC-HAL-SIM-SCARA
#+ Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others
DEBUG = 0
# DEBUG = 0x00000007
#DEBUG = 0x7FFFFFFF
###############################################################################
# Sections for display options
###############################################################################
[DISPLAY]
#+ Name of display program, e.g., xemc
DISPLAY = axis
# DISPLAY = usrmot
# DISPLAY = mini
# DISPLAY = tkemc
#- Cycle time, in seconds, that display will sleep between polls
CYCLE_TIME = 0.200
#- Path to help file
HELP_FILE = tklinucnc.txt
#- Initial display setting for position, RELATIVE or MACHINE
POSITION_OFFSET = MACHINE
#- Initial display setting for position, COMMANDED or ACTUAL
POSITION_FEEDBACK = ACTUAL
#+ Highest value that will be allowed for feed override, 1.0 = 100%
MAX_FEED_OVERRIDE = 2.0
#+ Prefix to be used
PROGRAM_PREFIX = ../../nc_files/
#- Introductory graphic
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PYVCP = scara.xml
# Editor to be used with Axis
EDITOR = gedit
###############################################################################
# Task controller section
###############################################################################
[TASK]
# Name of task controller program, e.g., milltask
TASK = milltask
#- Cycle time, in seconds, that task controller will sleep between polls
CYCLE_TIME = 0.010
###############################################################################
# Part program interpreter section
###############################################################################
[RS274NGC]
#- File containing interpreter variables
PARAMETER_FILE = scara.var
###############################################################################
# Motion control section
###############################################################################
[EMCMOT]
EMCMOT = motmod
#- Timeout for comm to emcmot, in seconds
COMM_TIMEOUT = 1.0
#- Interval between tries to emcmot, in seconds
COMM_WAIT = 0.010
#- Servo task period, in nanoseconds
SERVO_PERIOD = 1000000
#- Trajectory Planner task period, in nanoseconds - will be rounded to an
# integer multiple of SERVO_PERIOD
TRAJ_PERIOD = 10000000
###############################################################################
# Hardware Abstraction Layer section
###############################################################################
[HAL]
# The run script first uses halcmd to execute any HALFILE
# files, and then to execute any individual HALCMD commands.
#
# list of hal config files to run through halcmd
# files are executed in the order in which they appear
HALFILE = scara_sim_4.hal
POSTGUI_HALFILE = scara_postgui.hal
#- list of halcmd commands to execute
# commands are executed in the order in which they appear
#HALCMD = save neta
#load halui to enable
HALUI = halui
###############################################################################
# Trajectory planner section
###############################################################################
[TRAJ]
#+ machine specific settings
AXES = 6
COORDINATES = X Y Z C
HOME = 0 0 0 0
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 1.0
MAX_VELOCITY = 600.0
DEFAULT_ACCELERATION = 100.0
MAX_ACCELERATION = 200.0
###############################################################################
# Axes sections
###############################################################################
#+ First axis
[AXIS_0]
TYPE = ANGULAR
HOME = 0.000
MAX_VELOCITY = 30.0
MAX_ACCELERATION = 200.0
BACKLASH = 0.000
INPUT_SCALE = 4000
OUTPUT_SCALE = 1.000
MIN_LIMIT = -360.0
MAX_LIMIT = 360.0
FERROR = 2.000
MIN_FERROR = 0.200
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 0
#+ Second axis
[AXIS_1]
TYPE = ANGULAR
HOME = 0.000
MAX_VELOCITY = 30.0
MAX_ACCELERATION = 200.0
BACKLASH = 0.000
INPUT_SCALE = 4000
OUTPUT_SCALE = 1.000
MIN_LIMIT = -360.0
MAX_LIMIT = 360.0
FERROR = 2.000
MIN_FERROR = 0.200
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 0
#+ Third axis
[AXIS_2]
TYPE = LINEAR
HOME = 25.000
MAX_VELOCITY = 30.0
MAX_ACCELERATION = 200.0
BACKLASH = 0.000
INPUT_SCALE = 4000
OUTPUT_SCALE = 1.000
MIN_LIMIT = -2500.0
MAX_LIMIT = 3000.0
FERROR = 2.000
MIN_FERROR = 0.200
HOME_OFFSET = 25.0
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 0
#+ Fourth axis
[AXIS_5]
TYPE = ANGULAR
HOME = 0.000
MAX_VELOCITY = 30.0
MAX_ACCELERATION = 200.0
BACKLASH = 0.000
INPUT_SCALE = 4000
OUTPUT_SCALE = 1.000
MIN_LIMIT = -180.0
MAX_LIMIT = 180.0
FERROR = 2.000
MIN_FERROR = 0.200
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 0
###############################################################################
# section for main IO controller parameters
###############################################################################
[EMCIO]
#- Name of IO controller program, e.g., io
EMCIO = io
#- cycle time, in seconds
CYCLE_TIME = 0.100
#- tool table file
TOOL_TABLE = scara.tbl
Re: Все-таки SCARA
Добавлено: 20 дек 2014, 23:35
РЕКЛАМА
У меня все-равно не работают перемещения в пограме.
При попытке выполнить задание пишет:
Re: Все-таки SCARA
Добавлено: 20 дек 2014, 23:40
nkp
скорей всего все пользовательские настройки делаем в хал...
вот наши пины - ними задаем саму конфигурацию конкретного робота(самой железки):
РЕКЛАМА писал(а):У меня все-равно не работают перемещения в пограме.
сейчас разберёмся...
Re: Все-таки SCARA
Добавлено: 20 дек 2014, 23:44
РЕКЛАМА
соврал. работает.
очему-то не перепеался ини с первого раза.
Re: Все-таки SCARA
Добавлено: 20 дек 2014, 23:47
РЕКЛАМА
nkp писал(а):
вот наши пины - ними задаем саму конфигурацию конкретного робота(самой железки):
Кким образом?
Re: Все-таки SCARA
Добавлено: 20 дек 2014, 23:50
nkp
попробуй не делать "ручных перемещений":
перегрузи емс ,хоумы , и сразу включай программу на выполнение...
РЕКЛАМА писал(а):соврал. работает.очему-то не перепеался ини с первого раза.
прочитал)))
Re: Все-таки SCARA
Добавлено: 20 дек 2014, 23:53
nkp
РЕКЛАМА писал(а):Кким образом?
если коротко - то вот:
Код: Выделить всё
/* key dimensions
joint[0] = Entire arm rotates around a vertical axis at its inner end
which is attached to the earth. A value of zero means the
inner arm is pointing along the X axis.
D1 = Vertical distance from the ground plane to the center of the inner
arm.
D2 = Horizontal distance between joint[0] axis and joint[1] axis, ie.
the length of the inner arm.
joint[1] = Outer arm rotates around a vertical axis at its inner end
which is attached to the outer end of the inner arm. A
value of zero means the outer arm is parallel to the
inner arm (and extending outward).
D3 = Vertical distance from the center of the inner arm to the center
of the outer arm. May be positive or negative depending
on the structure of the robot.
joint[2] = End effector slides along a vertical axis at the outer end
of the outer arm. A value of zero means the end effector
is at the same height as the center of the outer arm, and
positive values mean downward movement.
D4 = Horizontal distance between joint[1] axis and joint[2] axis, ie.
the length of the outer arm
joint[3] = End effector rotates around the same vertical axis that it
slides along. A value of zero means that the tooltip (if
offset from the axis) is pointing in the same direction
as the centerline of the outer arm.
D5 = Vertical distance from the end effector to the tooltip. Positive
means the tooltip is lower than the end effector, and is
the normal case.
D6 = Horizontal distance from the centerline of the end effector (and
the joints 2 and 3 axis) and the tooltip. Zero means the
tooltip is on the centerline. Non-zero values should be
positive, if negative they introduce a 180 degree offset
on the value of joint[3].
а так - сейчас помучаемся - разберем
я с туземным язЫком не сильно дружу((
Re: Все-таки SCARA
Добавлено: 20 дек 2014, 23:56
РЕКЛАМА
Что означают D1,D2 итд и как их менять? Я подозреваю что это физичеиепараметры "станка" длина плеч. итд.
Вот то что вы счас выложили я и потерял и больше не смог найти.
Еще вопрос:
Можно удалить лишнюю ось? может проще будет? Тем более у меня ее не будет.
Re: Все-таки SCARA
Добавлено: 21 дек 2014, 00:01
РЕКЛАМА
Нам нужно сменить Д2 (1плечо) Д4 (2 плечо) и всё? остальное вроде не влияет. Хотя Д6 то такое непонятно.
Re: Все-таки SCARA
Добавлено: 21 дек 2014, 00:03
РЕКЛАМА
Их менять надо идти в файл?
Re: Все-таки SCARA
Добавлено: 21 дек 2014, 00:07
nkp
РЕКЛАМА писал(а):Их менять надо идти в файл?
а хал файле в конце прописать по принципу:
Код: Выделить всё
setp scarakins.D1 0
setp scarakins.D2 0
setp scarakins.D3 0
setp scarakins.D4 0
setp scarakins.D5 0
setp scarakins.D6 0
только вместо нулей нужные значения прописать(пока не знаю - какие)
Re: Все-таки SCARA
Добавлено: 21 дек 2014, 00:10
nkp
ну или лучше прописать сразу с дефолтными :
#define DEFAULT_D1 490
#define DEFAULT_D2 340
#define DEFAULT_D3 50
#define DEFAULT_D4 250
#define DEFAULT_D5 50
#define DEFAULT_D6 50
то есть так:
Код: Выделить всё
setp scarakins.D1 490
setp scarakins.D2 340
setp scarakins.D3 50
setp scarakins.D4 250
setp scarakins.D5 50
setp scarakins.D6 50
а потом менять по мере надобности...