发明内容
(一)发明目的
本发明的目的是提供一种提高机械臂的灵活性和适应性,支持任意自由度机械臂扩展和管理的机械臂运动控制方法及系统。
(二)技术方案
为解决上述问题,本发明提供了一种机械臂运动控制方法,包括:
获取机械臂运动需求,初始化目标机械臂;
查询目标机械臂上所有在线的关节并进行回报;
根据所述所有在线的关节的回报,获取所述目标机械臂的在线关节数量和相对应的在线关节信息;
根据所述在线关节数量、在线关节信息和机械臂运动需求,配置关节运动的路径;
根据配置的关节运动的路径,控制目标机械臂运动。
本发明的另一方面,优选地,所述查询目标机械臂上所有在线的关节包括:通过广播接口查询目标机械臂上所有在线的关节。
本发明的另一方面,优选地,所述查询目标机械臂上所有在线的关节还包括:
每个关节包括输入IO和输出IO;
当前关节的输入IO检测是否有输入信号,
若有,存在下一个关节,当前关节的输出IO给上一个关节输出存在下一个关节的信息;
若没有,不存在下一个关节,当前关节为末端关节,当前关节的输出IO给上一个关节输出不存在下一个关节的信息。
本发明的另一方面,优选地,所述在线关节信息包括:关节ID信息、关节的型号信息、关节尺寸信息、限位信息、速度信息和加速度信息。
本发明的另一方面,优选地,所述查询目标机械臂上所有在线的关节并进行回报的通信方式采用手拉手全双工的通信方式,形成通信环路。
本发明的另一方面,优选地,所述机械臂包括N个关节,末端关节为第N个关节;所述通信环路包括:
第一个关节接收数据并处理,获取第一处理数据,第一个关节将接收到数据传输给第二个关节;
第二个关节接收第一个关节传输的数据并处理,获取第二处理数据,第二个关节将接收到数据传输给第三个关节;
重复至第N个关节接收第N-1个关节传输的数据并处理,获取第N处理数据;
第N个关节将第N处理数据传输给第N-1个关节;
第N-1个关节接收第N处理数据,并将第N-1处理数据添加进第N处理数据中,一并返回给第N-2个关节;
重复至第一个关节接收N个处理数据。
本发明的另一方面,优选地,所述控制方法还包括对关节信息进行预先存储,根据预先存储的关节信息对关节进行管理。
本发明的另一方面,优选地,所述控制方法还包括对目标机械臂上所有在线的关节信息可视化。
本发明的另一方面,优选地,根据所述在线关节数量、在线关节信息和机械臂运动需求,配置关节运动的路径包括:
将所述在线关节数量、在线关节信息和机械臂运动需求输入轨迹规划算法,分别获取所述在线关节相应的运动轨迹,配置关节运动的路径。
本发明的另一方面,优选地,根据配置的关节运动的路径,控制目标机械臂运动包括:
根据所述配置的关节运动的路径,利用多关节位置同步算法,同步所述在线关节相应的运动轨迹的时间戳;
利用振动抑制算法,实时检测所述在线关节的运行状态,抑制关节抖动。
本发明的另一方面,优选地,一种机械臂运动控制系统,包括:
第一获取模块:获取机械臂运动需求,初始化目标机械臂;
查询模块:查询目标机械臂上所有在线的关节并进行回报;
第二获取模块:根据所述所有在线的关节的回报,获取所述目标机械臂的在线关节数量和相对应的在线关节信息;
配置模块:根据所述在线关节数量、在线关节信息和机械臂运动需求,配置关节运动的路径;
控制模块:根据配置的关节运动的路径,控制目标机械臂运动。
发明的另一方面,优选地,所述控制模块包括同步单元和振动抑制单元;
所述同步单元根据所述配置的关节运动的路径,利用多关节位置同步算法,同步所述在线关节相应的运动轨迹的时间戳;
所述振动抑制单元利用振动抑制算法,实时检测所述在线关节的运行状态,抑制关节抖动。
(三)有益效果
本发明的上述技术方案具有如下有益的技术效果:
本发明通过获取的在线关节数量、在线关节信息和机械臂运动需求,配置关节运动的路径,可以提高机械臂的灵活性,使其能够更好地适应各种复杂的工作环境;可以实现控制器的完全通用性,使得同一套控制器能够适应不同的设备或应用场景,减少了开发人员的工作量,提高了开发效率,同时也减少了测试和验证的工作量,从而降低了研发成本。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
实施例一
一种机械臂运动控制方法,图1示出了本发明一个实施例的整体流程图,如图1所示,包括:
S100:获取机械臂运动需求,初始化目标机械臂;此处不限制获取的机械臂运动需求的具体内容,获取机械臂运动需求包括对要执行的任务的详细描述,例如抓取、搬运、装配等,以及任务所需的精度、速度和力量等参数,进一步,还包括机械臂的工作环境,如空间限制、障碍物、其他机械设备的存在等,这些信息对于确定机械臂的运动轨迹、关节角度和末端执行器的姿态等至关重要;初始化过程涉及设置机械臂的初始状态,以确保其从已知的起点开始执行任务,包括确定机械臂的起始位置、关节角度和配置等。进一步,还包括机械臂的校准和传感器数据的同步,以确保机械臂的精确控制和运动;
S200:查询目标机械臂上所有在线的关节并进行回报;
查询目标机械臂上所有在线的关节是为了获取机械臂的实时状态信息。在线关节通常指的是那些与控制系统连接正常,可以接收和发送数据的关节。通过查询这些关节的状态,控制系统可以获取到机械臂当前的位置、速度、加速度以及关节角度等关键信息;
可选的,本实施例中,所述查询目标机械臂上所有在线的关节包括:通过广播接口查询目标机械臂上所有在线的关节;
进一步,本实施例中,所述查询目标机械臂上所有在线的关节还包括:
每个关节包括输入IO和输出IO;
当前关节的输入IO检测是否有输入信号,
若有,存在下一个关节,当前关节的输出IO给上一个关节输出存在下一个关节的信息;
若没有,不存在下一个关节,当前关节为末端关节,当前关节的输出IO给上一个关节输出不存在下一个关节的信息;
确认模块化的关节,每个关节都可以单独拆卸和安装,并可独立连接软件工作;每个关节都具有一个输入IO,一个输出IO,输入IO的功能主要是用来检测是否还有下级设备,若检测到输入信号,则存在下级设备,若不存在,则认为当前关节是末端关节,输出IO的功能则是用来告诉上级设备还存在一个下级设备;
S300:根据所述所有在线的关节的回报,获取所述目标机械臂的在线关节数量和相对应的在线关节信息;
此处不限制在线关节信息的具体内容,可选的,本实施例中,所述在线关节信息包括:关节ID信息、关节的型号信息、关节尺寸信息、限位信息、速度信息和加速度信息;关节尺寸信息包括长度、半径等、限位大小包括如型号RM65的机械臂第一关节限位是±180°,型号RM63的机械臂第一关节限位是±90°;
此处也不限制查询的通信的具体方式,可选的,所述查询目标机械臂上所有在线的关节并进行回报的通信方式采用手拉手全双工的通信方式,形成通信环路。
每个关节都需要与主控制器进行单独的通信,通信次数多,通信带宽占用率高,而且通信效率和稳定性容易受到干扰和影响。这样的通信方式在机械臂自由度增加时,问题会变得更加严重。采用手拉手环形通信方式,可以实现一次通信即可完成与所有关节的交互。这种通信方式将每个关节都连接在一起,形成一个环形结构,通信数据可以在这个环形结构中循环传输,每个关节都可以接收到通信数据,并根据需要做出相应的反应。优点在于,它可以减少通信次数,降低通信带宽占用率,从而提高通信的效率和稳定性。此外,手拉手环形通信方式还可以提高机械臂的可靠性和稳定性,因为每个关节都可以接收到通信数据,当某个关节出现故障时,其他关节仍然可以正常工作,不会影响整个机械臂的运行。
进一步,所述机械臂包括N个关节,末端关节为第N个关节;
所述通信环路包括:
第一个关节接收数据并处理,获取第一处理数据,第一个关节将接收到数据传输给第二个关节;
第二个关节接收第一个关节传输的数据并处理,获取第二处理数据,第二个关节将接收到数据传输给第三个关节;
重复至第N个关节接收第N-1个关节传输的数据并处理,获取第N处理数据;
第N个关节将第N处理数据传输给第N-1个关节;
第N-1个关节接收第N处理数据,并将第N-1处理数据添加进第N处理数据中,一并返回给第N-2个关节;
重复至第一个关节接收N个处理数据;
通信方式要采用手拉手全双工的通信方式,形成通信环路,如RS485现有技术,并且,一次数据交互可以在2ms内完成,以保证电机控制的准确性;通信方式,可以选择百兆网口芯片等速率高、全双工的通信方式,控制器发送数据后,对于非末端关节,接收到数据后,需要将数据透传给下一个关节,对于末端关节,完成数据处理后,返回处理结果到上一级关节,非末端关节接收到返回的数据包时,将自己的处理结果添加进协议,通用协议包中,一并返回;
S400:根据所述在线关节数量、在线关节信息和机械臂运动需求,配置关节运动的路径;此处不限制配置关节运动的路径的具体方式,可选的,本实施例中,包括根据所述在线关节数量、在线关节信息和机械臂运动需求,配置关节运动的路径包括:
将所述在线关节数量、在线关节信息和机械臂运动需求输入轨迹规划算法,分别获取所述在线关节相应的运动轨迹,配置关节运动的路径;所述轨迹规划算法,通过多项式插值、梯形速度规划、正弦轨迹规划、S形轨迹规划等相关算法,得到一系列离散的轨迹点;
轨迹规划算法需要获取在线关节的数量和状态信息。这些信息包括关节的位置、速度、加速度以及可能的运动限制等。在线关节的状态信息对于算法来说是至关重要的,因为它直接影响到轨迹的生成和机械臂的运动性能;
机械臂的运动需求也是轨迹规划算法的重要输入。这些需求可能包括目标位置、运动速度、运动精度等。算法需要根据这些需求来计算出每个关节应该采取的运动轨迹,以确保机械臂能够按照预期的方式完成任务;
在轨迹规划过程中,算法会考虑多种因素,如机械臂的动力学特性、关节的运动范围、可能的碰撞等。通过综合考虑这些因素,算法能够生成平滑、连续且符合机械臂运动能力的轨迹;
一旦轨迹规划完成,算法会输出每个在线关节的运动轨迹。这些轨迹通常以一系列关节角度或位置的形式表示,它们描述了机械臂从起始点到目标点的运动过程。控制系统会根据这些轨迹来驱动机械臂的关节,实现精确的运动控制;
S500:根据配置的关节运动的路径,控制目标机械臂运动包括:
根据所述配置的关节运动的路径,利用多关节位置同步算法,同步所述在线关节相应的运动轨迹的时间戳;以实现所有在线关节的同步控制;通过同步时间戳,控制系统可以精确地协调每个关节的运动,避免关节之间的运动冲突和不一致,从而实现机械臂整体的平滑和协调运动;如果关节之间缺乏同步控制,就可能导致机械臂在运动过程中出现抖动、偏差甚至失控的情况。这不仅会影响机械臂的运动精度和效率,还可能对机械臂本身和周围环境造成损害。因此,利用多关节位置同步算法同步在线关节的运动轨迹时间戳是实现机械臂精确控制和高效运动的重要保障;此外,同步控制还有助于提高机械臂的适应性和灵活性。通过精确地控制每个关节的运动轨迹和时间戳,机械臂可以更加灵活地适应不同的任务需求和环境变化,从而实现更加智能化和自主化的运动控制;
利用振动抑制算法,实时检测所述在线关节的运行状态,抑制关节抖动。在机械臂控制系统中,关节抖动是一个常见但非常关键的问题,它可能由多种因素引起,如机械臂的动态特性、外部扰动、关节间的摩擦等。关节抖动不仅会影响机械臂的运动精度和稳定性,还可能导致机械臂的损坏或任务失败。振动抑制算法通常基于传感器反馈的信息来检测机械臂的运动状态和关节抖动情况。一旦检测到抖动,算法会迅速计算出抑制抖动的控制信号,并发送给控制系统。这些控制信号能够有效地减少或消除关节的抖动,使机械臂恢复到平稳的运动状态。通过持续监测关节的位置、速度、加速度等参数,振动抑制算法能够实时评估机械臂的运动状态,并在检测到异常时立即采取行动。这种实时性对于确保机械臂的安全和稳定运行至关重要,尤其是在执行高精度或高速度任务时。抑制关节抖动不仅可以提高机械臂的运动精度和稳定性,还可以延长机械臂的使用寿命。
进一步,本实施例中,所述控制方法还包括对关节信息进行预先存储,根据预先存储的关节信息对关节进行管理。通过预先存储关节信息,控制系统可以在机械臂启动或重新启动时迅速加载这些数据,从而加快机械臂的初始化过程;在系统发生故障或意外关机后,利用预先存储的关节信息,机械臂可以更快地恢复到之前的工作状态。随着机械臂的使用和升级,关节的配置和参数可能需要进行调整,通过预先存储关节信息,维护人员可以更加方便地进行关节配置的更改和升级,而无需对整个控制系统进行大规模的修改。
进一步,本实施例中,所述控制方法还包括对目标机械臂上所有在线的关节信息可视化。通过可视化展示,操作人员或监控系统可以实时地获取机械臂上每个在线关节的状态信息,更加直观和易于理解,操作人员可以快速地获取所需的信息,而无需花费大量时间进行数据分析和解读,提高了工作效率。
本发明通过在线关节数量、在线关节信息和机械臂运动需求,配置关节运动的路径,实现控制器的完全通用性,可以提高机械臂的灵活性,使其能够更好地适应各种复杂的工作环境。通过模块化设计和开放式控制系统等方法,可以实现机械臂的可扩展性,降低升级和扩展的成本和难度。通过通用方案,可以极大的降低新型号产品的研发难度和周期,同时也提供更高的稳定性;减少了开发人员的工作量,提高了开发效率,同时也减少了测试和验证的工作量,从而降低了研发成本。
实施例二
一种机械臂运动控制系统,图2示出了本发明一个实施例的整体结构示意图,如图2所示,包括:
第一获取模块1:获取机械臂运动需求,初始化目标机械臂;
查询模块2:查询目标机械臂上所有在线的关节并进行回报;
第二获取模块3:根据所述所有在线的关节的回报,获取所述目标机械臂的在线关节数量和相对应的在线关节信息;
配置模块4:根据所述在线关节数量、在线关节信息和机械臂运动需求,配置关节运动的路径;
控制模块5:根据配置的关节运动的路径,控制目标机械臂运动;
所述控制模块包括同步单元和振动抑制单元;
所述同步单元根据所述配置的关节运动的路径,利用多关节位置同步算法,同步所述在线关节相应的运动轨迹的时间戳;
所述振动抑制单元利用振动抑制算法,实时检测所述在线关节的运行状态,抑制关节抖动。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
以上参照本发明的实施例对本发明予以了说明。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本发明的范围。本发明的范围由所附权利要求及其等价物限定。不脱离本发明的范围,本领域技术人员可以做出多种替换和修改,这些替换和修改都应落在本发明的范围之内。
尽管已经详细描述了本发明的实施方式,但是应该理解的是,在不偏离本发明的精神和范围的情况下,可以对本发明的实施方式做出各种改变、替换和变更。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。