Peter Corke 的机器人工具箱中的 SE2 for MATLAB 失败

SE2 from Peter Corke's Robotics Toolbox for MATLAB failing

我试图按照 Peter Corke 的 Robotics, Vision and Control 和 运行 中的 MATLAB 示例出错。

T1 是一个 t运行sformation 矩阵,从类似的东西获得:

T1 = se2(1,2,30*pi/180)

P 由:

给出
P = [3; 2];

我注意到的第一件事是 se2 在 Corke 的机器人工具箱中没有被识别,但是 SE2 被识别了。但是,真正的错误发生在我尝试按照示例进行操作时:

P1 = inv(T1) * [P; 1]

我收到错误:

Error using  *  (line 323)
LHS should be matrix with 2 rows

我明白(我认为)SE2 产生的任何东西都是矩阵以外的某种结构,但是由于整本书的例子都是基于 SE2 生成的对象,就像矩阵,我有点卡住了。

我的MATLAB版本是R2018b。

这里有没有人idea/solutions,或者这是一个相当晦涩的问题?

在 post 之后不久,我在 Google forum:

中找到了这个解决方案
P1 = double(inv(T1)) * [P; 1]

我会post这里的答案,以防对某人有用。

您应该通过编写将 se2 对象转换为矩阵 m=T(T1) 然后你使用你的矩阵作为 m 和 T1