Итак, я пытаюсь вычислить некоторые однородные матрицы преобразования, используя набор инструментов Peter Corke Robotics, однако, когда я пытаюсь использовать команду «trchain»:
syms a1 q1 q2
trchain('Rz(q1)Tz(a1)Ry(q2)',[q1 q2])
Я получаю следующий вывод:
Error using rotz
Expected GAMMA to be one of these types:
double
Instead its type was sym.
Error in sigdatatypes.validateAngle (line 22)
validateattributes(x,{'double'},{'finite','nonnan','nonempty','real'},...
Error in rotz (line 30)
sigdatatypes.validateAngle(gamma,'rotz','GAMMA',{'scalar'});
Error in trotz (line 36)
T = [rotz(t, varargin{:}) [0 0 0]'; 0 0 0 1];
Error in trchain (line 93)
T = T * trotz(arg);
Я посмотрел в Интернете и наткнулся на несколько вещей (например, убедиться, что Phase Array Toolbox установлен), но ничего не работает.
Та же проблема возникает, если я пытаюсь использовать «rotz» отдельно, а не в команде «trchain». Кроме того, функция "rotz" прекрасно работает с числовыми аргументами.
Любая помощь будет очень кстати - спасибо!
EDIT -- Новая ошибка!
После повторной попытки кода (хотя на днях он работал нормально), теперь я получаю другое сообщение:
Error using ROUNDN
Expected X to be one of these types:
single, double
Instead its type was sym.
Error in roundn (line 31)
validateattributes(x, {'single', 'double'}, {}, 'ROUNDN', 'X')
Error in rotz (line 18)
R = roundn(R, -15);
Error in trotz (line 36)
T = [rotz(t, varargin{:}) [0 0 0]'; 0 0 0 1];
Error in trchain (line 93)
T = T * trotz(arg);
Error in kinematics1 (line 3)
trchain('Rz(q1)Tz(a1)Ry(q2)',[q1 q2])
Код точно такой же, как и выше. Версия Matlab, которую я использую, — R2018a, а версия Robotics Toolbox — 10.3. Кроме того, Phased Array Toolbox не установлен.
Надеюсь, вы снова поможете... спасибо