我想用C ++为我的项目编写自己的运动学库。我确实知道,那里有少数带有逆运动学求解器的库,例如RL(机器人库)和ROS。但是令我沮丧的是,这些库不支持MacOS平台。我已经写了正向运动学部分,这很简单。但是对于逆运动学部分,我非常怀疑,因为解决IK问题涉及求解非线性联立方程组。我发现Eigen / Unsupported 3.3模块具有用于非线性方程式的API。但是,在我开始这条不确定的道路之前,我想从你们那里获得一些有关编写IK库的合理性和实用性的见解。我的机械手设计非常简单,使用4 DoF,并且该库将不会用于其他机械手设计。因此,我要实现的是针对我的特定操纵器设计的泰勒制IK库,而不是一个“通用”库。

所以,

我只是想通过不探索现有库来重新发明轮子?如果是,请为MacOS平台提供IK库的示例。

有人编写了自己的IK库吗?这是可行的解决方案吗?还是一个相当复杂的问题,对于特定的操纵器设计而言,是不值得解决的?现有的库?

评论

喜欢泰勒制双关语

@Ben,不是每个人的母语是英语。我怀疑双关语是故意的

#1 楼

为C ++中的特定操纵器实现逆运动学非常简单。当然,您需要从运动学方程本身开始。将这些代码放入代码中将仅涉及一些三角函数,例如acos,asin和atan2(使用atan2代替atan),并可能涉及几个平方根和平方根项。

这样您将学到很多东西。

#2 楼

我同意SteveO的观点,如果您想了解车轮,那么重新发明车轮没有错。对于单个应用程序的4自由度臂,IK可能不太难。

但是我想我应该提到的是,大多数运动学库都主要针对Linux。因此,可能很难从MacOS的源代码进行编译。

以下是一些常见的库: Mac即开即用。
Orocos-C ++,支持Mac OSX
OpenRave-C ++和Python。适用于Linux和Windows的二进制文件,但是有针对Mac OSX进行编译的说明。
ROS MoveIt! -这可能是最难在Mac上安装的。看起来ROS Jade比ROS Kinetic具有更完整的Mac构建说明。


#3 楼

我用不同的设置(高达8自由度)进行了IK的几种实现。
当然,您可以坐下来自己编写算法。 (假设您知道自己在做什么)对于这种方法,我建议使用Eigenlib和一些基本数学。
从我的角度来看,还有一种更优雅的方法是使用matlab:根据需要实现算法并让matlab为您生成代码。 Matlab代码生成功能是一个非常不错的工具,并且功能可靠(到目前为止,尚未在生成的代码中发现任何错误)。生成此代码后,为您喜欢的任何操作系统编写任何包装。
这只是我的两分钱

#4 楼

我建议采用现有的库。


ROS可以安装在OS X上


任务也可以在OS X上运行。

每个也可以与V-REP或凉亭集成在一起,非常容易进行仿真和可视化。我还创建了一个Homebrew-robotics抽头,用于通过homebrew在OS X上安装各种与机器人技术相关的工具,并在robotics_setup中设置一组Linux安装脚本。

#5 楼

我也有相同的论文,我将按照以下步骤进行操作


通过输入方程式在excel中模拟角度。
制作autocad或solidworks 3d机器人模型并进行测试该模型上的excel文件产生的角度。

之所以这样做,是因为我不想在PC上安装Linux以便仅运行模拟软件。当然,我们可以在Windows上使用虚拟机,但是时间是完成所有这些工作的宝贵商品。