CN107414836A - 机械臂控制方法及装置 - Google Patents
机械臂控制方法及装置 Download PDFInfo
- Publication number
- CN107414836A CN107414836A CN201710775152.2A CN201710775152A CN107414836A CN 107414836 A CN107414836 A CN 107414836A CN 201710775152 A CN201710775152 A CN 201710775152A CN 107414836 A CN107414836 A CN 107414836A
- Authority
- CN
- China
- Prior art keywords
- mechanical arm
- rocking bar
- threedimensional model
- default
- planning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本发明提供一种机械臂控制方法及装置,应用于控制设备,所述方法包括:获得第一摇杆的摇杆参数并计算规划第一机械臂的运动路径和/或获得第二摇杆的摇杆参数并计算规划第二机械臂的运动路径。基于预设三维模型对第一机械臂和/或第二机械臂的运动路径进行碰撞检测,并根据检测结果更新第一机械臂和/或第二机械臂在预设三维模型中的姿态位置。根据更新后的预设三维模型控制电机驱动所述第一机械臂和/或第二机械臂完成对应动作。由此,通过优化机械臂的运动路径,可更加灵活、高效地对机械臂进行控制。并且,通过提高机械臂的响应速度,根据预设三维模型对机械臂进行实时碰撞检测,进一步提升了机甲的驾驶安全性。
Description
技术领域
本发明涉及机器人控制技术领域,具体而言,涉及一种机械臂控制方法及装置。
背景技术
随着科技的不断发展,能够让体验者在机甲内部通过操控机甲体验娱乐战斗的大型载人机甲逐渐出现。其中,如何对机甲的机械臂进行灵活控制对于机甲控制来说至关重要。在全世界规模内,对机甲的机械臂进行控制的方案主要有以下几种:
1.日本的KR-01采用等关节映射方式进行机械臂控制,通过控制等比缩小的小型机械臂的各个关节的运动,来实现大型机械臂的随动。这种方式的缺点在于:控制效率低,驾驶过程中,随着机甲的运动颠簸,机载的小型机械臂的各个关节角度会发生偏差,导致大型机械臂的控制精度变差。
2.美国的Megabot采用摇杆方式控制机甲的机械臂运动,由于没有规划机械臂的运动路径,仅能实现机械臂的简单运动,无法完成高精度复杂的机械臂控制。
3.韩国的大型载人机甲采用外骨骼的方式,即控制机甲的机械臂跟随人的手臂进行移动。缺点在于,人的手臂无法做出的动作,机甲机械臂也无法做出,限制了机械臂的灵活性。
发明内容
为了克服现有技术中的上述不足,本发明提供一种机械臂控制方法及装置,其通过优化机械臂的运动路径,可更加灵活、高效、安全地对机械臂进行控制。
本发明的第一目的在于提供一种机械臂控制方法,应用于控制设备,所述控制设备分别与第一摇杆、第二摇杆及用于驱动机械臂运动的多个电机通信连接,其中,所述机械臂包括第一机械臂及第二机械臂,所述第一摇杆控制第一机械臂,所述第二摇杆控制第二机械臂,所述方法包括:
获得第一摇杆的摇杆参数并计算规划第一机械臂的运动路径和/或获得第二摇杆的摇杆参数并计算规划第二机械臂的运动路径;
基于预设三维模型对第一机械臂和/或第二机械臂的运动路径进行碰撞检测,并根据检测结果更新第一机械臂和/或第二机械臂在预设三维模型中的姿态位置;
根据更新后的预设三维模型控制电机驱动所述第一机械臂和/或第二机械臂完成对应动作。
本发明的第二目的在于提供一种机械臂控制装置,应用于控制设备,所述控制设备分别与第一摇杆、第二摇杆及用于驱动机械臂运动的多个电机通信连接,其中,所述机械臂包括第一机械臂及第二机械臂,所述第一摇杆控制第一机械臂,所述第二摇杆控制第二机械臂,所述装置包括:
路径规划模块,用于获得第一摇杆的摇杆参数并计算规划第一机械臂的运动路径和/或获得第二摇杆的摇杆参数并计算规划第二机械臂的运动路径;
碰撞检测模块,用于基于预设三维模型对第一机械臂和/或第二机械臂的运动路径进行碰撞检测,并根据检测结果更新第一机械臂和/或第二机械臂在预设三维模型中的姿态位置;
控制模块,用于根据更新后的预设三维模型控制电机驱动所述第一机械臂和/或第二机械臂完成对应动作。
相对于现有技术而言,本发明具有以下有益效果:
本发明提供一种机械臂控制方法及装置,应用于控制设备,所述控制设备分别与第一摇杆、第二摇杆及用于驱动机械臂运动的多个电机通信连接,其中,所述机械臂包括第一机械臂及第二机械臂,所述第一摇杆控制第一机械臂,所述第二摇杆控制第二机械臂,所述方法包括:获得第一摇杆的摇杆参数并计算规划第一机械臂的运动路径和/或获得第二摇杆的摇杆参数并计算规划第二机械臂的运动路径。基于预设三维模型对第一机械臂和/或第二机械臂的运动路径进行碰撞检测,并根据检测结果更新第一机械臂和/或第二机械臂在预设三维模型中的姿态位置。根据更新后的预设三维模型控制电机驱动所述第一机械臂和/或第二机械臂完成对应动作。由此,通过优化机械臂的运动路径,可更加灵活、高效地对机械臂进行控制。并且,通过提高机械臂的响应速度,根据预设三维模型对机械臂进行实时碰撞检测,进一步提升了机甲的驾驶安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明较佳实施例提供的控制设备与第一摇杆、第二摇杆及电机的通信连接示意图。
图2是本发明较佳实施例提供的控制设备的方框示意图。
图3是本发明第一实施例提供的机械臂控制方法的步骤流程图之一。
图4是本发明第一实施例提供的图3所示的步骤S120的子步骤流程图。
图5是本发明第一实施例提供的图3所示的步骤S130的子步骤流程图。
图6是本发明第一实施例提供的图3所示的步骤S140的子步骤流程图。
图7是本发明第一实施例提供的机械臂控制方法的步骤流程图之二。
图8为本发明第二实施例提供的机械臂控制装置的功能模块图。
图标:100-控制设备;110-存储器;120-处理器;130-网络模块;200-机械臂控制装置;210-通信构建模块;220-路径规划模块;230-碰撞检测模块;240-控制模块;300-第一摇杆;400-第二摇杆;500-电机。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1是本发明较佳实施例提供的控制设备100与第一摇杆300、第二摇杆400及电机500的通信连接示意图。
在本实施例中,所述控制设备100分别与第一摇杆300、第二摇杆400及用于驱动机械臂运动的多个电机500通信连接。其中,所述机械臂包括第一机械臂及第二机械臂,所述第一摇杆300用于控制第一机械臂,所述第二摇杆400用于控制第二机械臂。
在本实施例中,所述电机500可以采用,但不限于,可对速度及位置精度进行准确控制的伺服电机。除此之外,也可根据实际需求将电机500换为其他的驱动器件,比如,在采用液压驱动的情况下,可以将电机500换为液压马达。
在本实施例中,术语“第一”、“第二”仅用于作区分描述,通常机甲设置有左机械臂及右机械臂,其中,若第一机械臂为左机械臂,第二机械臂为右机械臂,则第一摇杆300为控制左机械臂的左摇杆,第二摇杆400为控制右机械臂的右摇杆,反之同理。
在本实施例中,所述控制设备100获取用户对摇杆的操控信息,并对所述操控信息进行计算处理规划出机械臂的运动路径,以根据运动路径控制机械臂执行相应的动作。
请参照图2,图2是本发明较佳实施例提供的控制设备100的方框示意图。所述控制设备100包括存储器110、机械臂控制装置200、处理器120、网络模块130。
所述存储器110、处理器120、网络模块130相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线或信号线实现电性连接。存储器110中存储有机械臂控制装置200,所述机械臂控制装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中的软件功能模块,所述处理器120通过运行存储在存储器110内的软件程序以及模块,从而执行各种功能应用以及数据处理。
其中,所述存储器110可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,存储器110用于存储程序,所述处理器120在接收到执行指令后,执行所述程序。进一步地,上述存储器110内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。
所述处理器120可以是一种集成电路芯片,具有信号的处理能力。上述的处理器120可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述网络模块130用于通过网络实现控制设备100与第一摇杆300、第二摇杆400及电机500等其他外部设备之间的通信连接及数据传输。
在本实施例中,所述网络模块130优选采用ethercat(以太网控制自动化技术)通信技术,ethercat是一个以以太网为基础的开放架构的现场总线系统。采用ethercat通信技术可极大地提升通信的响应速度,进而提高控制设备100的控制效率。并且,ethercat通信技术的通信响应周期只有100微秒,通过提高摇杆及机械臂的响应速度,可进一步提升机甲的驾驶安全性。
可以理解,图2所述的结构仅为示意,控制设备100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
第一实施例
请参照图3,图3是本发明第一实施例提供的机械臂控制方法的步骤流程图之一。所述机械臂控制方法应用于上述的控制设备100。下面对机械臂控制方法的具体流程进行详细阐述。
步骤S120,获得第一摇杆300的摇杆参数并计算规划第一机械臂的运动路径,和/或获得第二摇杆400的摇杆参数并计算规划第二机械臂的运动路径。
步骤S130,基于预设三维模型对第一机械臂和/或第二机械臂的运动路径进行碰撞检测,并根据检测结果更新第一机械臂和/或第二机械臂在预设三维模型中的姿态位置。
步骤S140,根据更新后的预设三维模型控制电机500驱动所述第一机械臂和/或第二机械臂完成对应动作。
在本实施例提供的一种实施方式中,若用户只对第一摇杆300或第二摇杆400中的任意一个摇杆进行操控时,所述控制设备100只获得用户操控摇杆的摇杆参数,并根据所述摇杆参数进行对应的计算处理,以控制该摇杆对应操控的机械臂完成用户指定的动作。
在本实施例提供的另一种实施方式中,若用户同时对第一摇杆300及第二摇杆400进行操控时,所述控制设备100可先获得第一摇杆300的摇杆参数并进行对应的计算处理,更新第一机械臂在预设三维模型中的姿态位置。然后,获得第二摇杆400的摇杆参数并进行对应的计算处理,更新第二机械臂在预设三维模型中的姿态位置。最后,根据更新的预设三维模型,控制第一机械臂及第二机械臂对应完成用户指定的动作。反之,先处理第二摇杆400,后处理第一摇杆300亦可。
除此之外,所述控制设备100可通过增设线程的方式,对第一摇杆300的摇杆参数及第二摇杆400的摇杆参数进行并行计算处理。
在本实施例中,所述控制设备100根据第一摇杆300的摇杆参数实现对第一机械臂的控制驾驶与根据第二摇杆400的摇杆参数实现对第二机械臂的控制驾驶的步骤流程相同。由此,下面以第一摇杆300控制第一机械臂为例对上述步骤S120、步骤S130及步骤S140进行详细介绍。
请参照图4,图4是本发明第一实施例提供的图3所示的步骤S120的子步骤流程图。所述步骤S120包括:子步骤S121、子步骤S122、子步骤S123及子步骤S124。
子步骤S121,每间隔预设采样周期采集一次用户对第一摇杆300进行操控的摇杆参数,采集预设数量的摇杆参数并计算滤波值。
在本实施例中,所述控制设备100每间隔预设采样周期采集一次用户对第一摇杆300进行操控的摇杆参数,在连续采集预设数量的摇杆参数后,可根据预设滤波算法对预设数量的摇杆参数进行滤波值计算。其中,所述预设滤波算法可以包括,但不限于,中位值滤波算法、算术滤波算法、递推滤波算法、卡尔曼滤波算法等。
在本实施例中,所述预设采样周期可根据实际需求进行设定。例如,所述预设采样周期可基于ethercat通信的响应周期设定为100μs,即每间隔100μs采集一次用户对第一摇杆300进行操控的摇杆参数。所述预设数量也可根据实际需求进行设定。
在本实施例中,所述摇杆参数可以包括,但不限于,用户推动第一摇杆300在预设方向上移动的摇杆推动量。其中,所述摇杆推动量是基于ethercat通信采集的模拟量。所述摇杆参数的精度可达到2的16次方。
在本实施例中,上述预设方向包括:摇杆在三维空间中进行前后移动的方向(比如,X轴的延伸方向)、左右移动的方向(比如,Y轴的延伸方向)及上下移动的方向(比如,Z轴的延伸方向)中的任意一种或组合
子步骤S122,根据采集的预设数量的摇杆推动量判断第一摇杆300的推动趋势。
下面以预设方向为摇杆在三维空间中进行前后移动的方向为例对子步骤S122进行说明。
在本实施例中,所述控制设备100可将变量x用于表示本次采集的摇杆推动量,将变量y用于表示上一次采集的摇杆推动量。并且,预先设置向前计数器(比如,forwardCount)及向后计数器(比如,backCount)。
具体地,所述控制设备100先将本次采集的摇杆推动量x与上一次采集的摇杆推动量y进行比较。
若x>y,将forwardCount+1,并检测forwardCount是否不小于预设向前阈值(比如,50)。若不小于预设向前阈值,此时,检测forwardCount与backCount的差值是否小于预设差值阈值(比如,5),若小于预设差值阈值,则将forwardCount及backCount清零;若不小于预设差值阈值,则将forwardCount及backCount清零,并判定所述第一摇杆300的推动趋势为向前。若小于预设向前阈值,将x的数值赋值给y,即将本次采集的摇杆推动量作为上一次采集的摇杆推动量,以进行新一轮的判断检测。
若x<y,将backCount+1,并检测backCount是否不小于预设向后阈值(比如,50)。若不小于预设向后阈值,此时,检测backCount与forwardCount的差值是否小于预设差值阈值(比如,5),若小于预设差值阈值,则将forwardCount及backCount清零;若不小于预设差值阈值,则将forwardCount及backCount清零,并判定所述第一摇杆300的推动趋势为向后。若小于预设向后阈值,将x的数值赋值给y,即将本次采集的摇杆推动量作为上一次采集的摇杆推动量,以进行新一轮的判断检测。
若x=y,直接将x的数值赋值给y,进行新一轮的判断检测。
子步骤S123,根据所述滤波值计算第一机械臂的末端点在三维空间中的位移量。
在本实施例中,所述控制设备100对所述滤波值进行转换处理,得到位移量调节值。所述控制设备100根据所述位移量调节值及预设位移量公式计算得到第一机械臂的末端点在三维空间中的位移量。
在本实施例中,假设第一摇杆300在三维空间的3轴(即X轴、Y轴及Z轴)方向上的推动量分别为x、y、z。则计算第一机械臂的末端点在三维空间中3轴方向位移量的预设位移量公式如下:
position.x2=position.x1+x*(factor)
position.y2=position.y1+y*(factor)
position.z2=position.z1+z*(factor)
其中,position.x1、position.y1、position.z1分别表示上一次计算的第一机械臂的末端点在X轴、Y轴及Z轴方向上的位移量。position.x2、position.y2、position.z2分别表示本次计算的第一机械臂的末端点在X轴、Y轴及Z轴方向上的位移量。factor表示对所述滤波值进行转换处理映射到机械臂的位移量调节值。
子步骤S124,根据所述位移量及推动趋势规划第一机械臂的运动路径。
在本实施例中,所述控制设备100根据所述位移量,采用RTT(Rapidly-exploringRandom Tree,快速搜索随机树)算法进行逆运动学求解,并基于所述推动趋势进行求解优化,得到第一机械臂的各个关节的角度变化量(即第一机械臂的运动路径)。
在本实施例中,RRT是一种树形数据存储结构和算法,通过递增的方法建立并快速减小随机选择点同树之间的距离,可有效地搜索非凸的(Non Convex)高维度空间。
请参照图5,图5是本发明第一实施例提供的图3所示的步骤S130的子步骤流程图。所述步骤S130包括:子步骤S131及子步骤S132。
子步骤S131,基于预设三维模型及预设碰撞检测算法,对第一机械臂的各个关节的角度变化量进行碰撞检测,检测第一机械臂按照各个关节的角度变化量运动的过程中是否发生碰撞。
在本实施例中,所述控制设备100采用预设碰撞检测算法在预设三维模型中对第一机械臂的各个关节的角度变化量进行模拟碰撞检测,判断第一机械臂按照各个关节的角度变化量运动的过程中是否发生自身碰撞。其中,所述预设碰撞检测算法可以是,但不限于:OBB(Oriented Bounding Box)碰撞检测算法。
若没有发生碰撞,执行子步骤S132,更新所述第一机械臂在预设三维模型中的姿态位置。
若发生碰撞,不对第一机械臂姿态位置进行更新。
在本实施例中,所述预设三维模型是预先根据机甲结构进行模拟构建的三维模型,利用所述预设三维模型可更加便利地对机甲的各种控制参数进行计算处理。
在本实施例中,由于所述控制设备100可基于预设三维模型进行实时碰撞检测,即使在机甲驾驶员未意识到机械臂可能与自身发生碰撞而操控机械臂移动时,若碰撞检测结果表明会发生危险,所述控制设备100不会根据驾驶员对摇杆的操控去控制机械臂移动。由此,进一步提升了机甲驾驶的安全性。
请参照图6,图6是本发明第一实施例提供的图3所示的步骤S140的子步骤流程图。所述步骤S140包括:子步骤S141及子步骤S142。
子步骤S141,根据更新后的预设三维模型,获取第一机械臂的各个关节的角度变化量。
子步骤S142,根据各个关节的角度变化量控制对应的电机500工作,以使电机500驱动第一机械臂完成对应动作。
在本实施例中,所述第一机械臂或第二机械臂可以采用,但不限于:4轴机械臂(即4个自由度的机械臂),所述4轴机械臂包括4个关节。其中,每个关节对应配置一个电机500,通过电机500调节对应关节的角度变化量以驱动第一机械臂运动。
请参照图7,图7是本发明第一实施例提供的机械臂控制方法的步骤流程图之二。所述方法还包括:
步骤S110,构建底层通信链路。
在本实施例中,所述控制设备100分别与第一摇杆300及驱动第一机械臂运动的电机500建立通信连接,构建至少两条第一摇杆300与第一机械臂的通信链路。
在本实施例中,所述控制设备100分别与第二摇杆400及驱动第二机械臂运动的电机500建立通信连接,构建至少两条第二摇杆400与第二机械臂的通信链路。
在本实施例中,所述控制设备100采用双通信链路的设计,可让摇杆或机械臂在一条通信链路意外断开的情况下,通过另一条通信链路进行通信,可保证摇杆或机械臂的正常运行。
第二实施例
请参照图8,图8为本发明第二实施例提供的机械臂控制装置200的功能模块图。所述装置应用于上述的控制设备100。所述机械臂控制装置200包括:路径规划模块220、碰撞检测模块230及控制模块240。
路径规划模块220,用于获得第一摇杆300的摇杆参数并计算规划第一机械臂的运动路径和/或获得第二摇杆400的摇杆参数并计算规划第二机械臂的运动路径。
在本实施例中,路径规划模块220用于执行图3中的步骤S120,关于所述路径规划模块220的具体描述可以参照图3中步骤S120的描述。
碰撞检测模块230,用于基于预设三维模型对第一机械臂和/或第二机械臂的运动路径进行碰撞检测,并根据检测结果更新第一机械臂和/或第二机械臂在预设三维模型中的姿态位置。
在本实施例中,碰撞检测模块230用于执行图3中的步骤S130,关于所述碰撞检测模块230的具体描述可以参照图3中步骤S130的描述。
控制模块240,用于根据更新后的预设三维模型控制电机500驱动所述第一机械臂和/或第二机械臂完成对应动作。
在本实施例中,控制模块240用于执行图3中的步骤S140,关于所述控制模块240的具体描述可以参照图3中步骤S140的描述。
请再次参照图8,所述装置还包括通信构建模块210。
通信构建模块210,用于构建底层通信链路。
在本实施例中,控制模块240用于执行图7中的步骤S110,关于所述控制模块240的具体描述可以参照图7中步骤S110的描述。
综上所述,本发明提供一种机械臂控制方法及装置,应用于控制设备,所述控制设备分别与第一摇杆、第二摇杆及用于驱动机械臂运动的多个电机通信连接,其中,所述机械臂包括第一机械臂及第二机械臂,所述第一摇杆控制第一机械臂,所述第二摇杆控制第二机械臂,所述方法包括:获得第一摇杆的摇杆参数并计算规划第一机械臂的运动路径和/或获得第二摇杆的摇杆参数并计算规划第二机械臂的运动路径。基于预设三维模型对第一机械臂和/或第二机械臂的运动路径进行碰撞检测,并根据检测结果更新第一机械臂和/或第二机械臂在预设三维模型中的姿态位置。根据更新后的预设三维模型控制电机驱动所述第一机械臂和/或第二机械臂完成对应动作。
由此,通过优化机械臂的运动路径,可更加灵活、高效地对机械臂进行控制。并且,通过提高机械臂的响应速度,根据预设三维模型对机械臂进行实时碰撞检测,进一步提升了机甲的驾驶安全性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种机械臂控制方法,应用于控制设备,其特征在于,所述控制设备分别与第一摇杆、第二摇杆及用于驱动机械臂运动的多个电机通信连接,其中,所述机械臂包括第一机械臂及第二机械臂,所述第一摇杆控制第一机械臂,所述第二摇杆控制第二机械臂,所述方法包括:
获得第一摇杆的摇杆参数并计算规划第一机械臂的运动路径,和/或获得第二摇杆的摇杆参数并计算规划第二机械臂的运动路径;
基于预设三维模型对第一机械臂和/或第二机械臂的运动路径进行碰撞检测,并根据检测结果更新第一机械臂和/或第二机械臂在预设三维模型中的姿态位置;
根据更新后的预设三维模型控制电机驱动所述第一机械臂和/或第二机械臂完成对应动作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
构建底层通信链路;
所述构建底层通信链路的步骤包括:
分别与第一摇杆及驱动第一机械臂运动的电机建立通信连接,构建至少两条第一摇杆与第一机械臂的通信链路;
分别与第二摇杆及驱动第二机械臂运动的电机建立通信连接,构建至少两条第二摇杆与第二机械臂的通信链路。
3.根据权利要求1所述的方法,其特征在于,所述获得第一摇杆的摇杆参数并计算规划第一机械臂的运动路径的步骤包括:
每间隔预设采样周期采集一次用户对第一摇杆进行操控的摇杆参数,采集预设数量的摇杆参数并计算滤波值,其中,所述摇杆参数包括用户推动第一摇杆在预设方向上移动的摇杆推动量;
根据采集的预设数量的摇杆推动量判断第一摇杆的推动趋势;
根据所述滤波值计算第一机械臂的末端点在三维空间中的位移量;
根据所述位移量及推动趋势规划第一机械臂的运动路径。
4.根据权利要求3所述的方法,其特征在于,所述根据所述滤波值计算第一机械臂的末端点在三维空间中的位移量的步骤包括:
对所述滤波值进行转换处理,得到位移量调节值;
根据所述位移量调节值及预设位移量公式计算得到第一机械臂的末端点在三维空间中的位移量。
5.根据权利要求3所述的方法,其特征在于,所述根据所述位移量及推动趋势规划第一机械臂的运动路径的步骤包括:
根据所述位移量进行逆运动学求解,并基于所述推动趋势进行求解优化,得到第一机械臂的各个关节的角度变化量。
6.根据权利要求5所述的方法,其特征在于,所述基于预设三维模型对第一机械臂的运动路径进行碰撞检测,并根据检测结果更新第一机械臂在预设三维模型中的姿态位置的步骤包括:
基于预设三维模型及预设碰撞检测算法,对第一机械臂的各个关节的角度变化量进行碰撞检测,检测第一机械臂按照各个关节的角度变化量运动的过程中是否发生碰撞;
若没有发生碰撞,更新所述第一机械臂在预设三维模型中的姿态位置。
7.根据权利要求5或6所述的方法,其特征在于,所述根据更新后的预设三维模型控制电机驱动所述第一机械臂完成对应动作的步骤包括:
根据更新后的预设三维模型,获取第一机械臂的各个关节的角度变化量;
根据各个关节的角度变化量控制对应的电机工作,以使电机驱动第一机械臂完成对应动作,其中,每个关节对应配置一个电机。
8.一种机械臂控制装置,应用于控制设备,其特征在于,所述控制设备分别与第一摇杆、第二摇杆及用于驱动机械臂运动的多个电机通信连接,其中,所述机械臂包括第一机械臂及第二机械臂,所述第一摇杆控制第一机械臂,所述第二摇杆控制第二机械臂,所述装置包括:
路径规划模块,用于获得第一摇杆的摇杆参数并计算规划第一机械臂的运动路径和/或获得第二摇杆的摇杆参数并计算规划第二机械臂的运动路径;
碰撞检测模块,用于基于预设三维模型对第一机械臂和/或第二机械臂的运动路径进行碰撞检测,并根据检测结果更新第一机械臂和/或第二机械臂在预设三维模型中的姿态位置;
控制模块,用于根据更新后的预设三维模型控制电机驱动所述第一机械臂和/或第二机械臂完成对应动作。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
通信构建模块,用于构建底层通信链路;
所述通信构建模块构建底层通信链路的方式包括:
分别与第一摇杆及驱动第一机械臂运动的电机建立通信连接,构建至少两条第一摇杆与第一机械臂的通信链路;
分别与第二摇杆及驱动第二机械臂运动的电机建立通信连接,构建至少两条第二摇杆与第二机械臂的通信链路。
10.根据权利要求8所述的装置,其特征在于,所述路径规划模块获得第一摇杆的摇杆参数并计算规划第一机械臂的运动路径的方式包括:
每间隔预设采样周期采集一次用户对第一摇杆进行操控的摇杆参数,采集预设数量的摇杆参数并计算滤波值,其中,所述摇杆参数包括用户推动第一摇杆在预设方向上移动的摇杆推动量;
根据采集的预设数量的摇杆推动量判断第一摇杆的推动趋势;
根据所述滤波值计算第一机械臂的末端点在三维空间中的位移量;
根据所述位移量及推动趋势规划第一机械臂的运动路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710775152.2A CN107414836B (zh) | 2017-08-31 | 2017-08-31 | 机械臂控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710775152.2A CN107414836B (zh) | 2017-08-31 | 2017-08-31 | 机械臂控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107414836A true CN107414836A (zh) | 2017-12-01 |
CN107414836B CN107414836B (zh) | 2020-07-14 |
Family
ID=60434511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710775152.2A Active CN107414836B (zh) | 2017-08-31 | 2017-08-31 | 机械臂控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107414836B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102773853A (zh) * | 2012-07-10 | 2012-11-14 | 北京航空航天大学 | 面向双臂工程机械的属具位置操控及自避碰监控方法 |
CN103722554A (zh) * | 2014-01-15 | 2014-04-16 | 西北工业大学 | 一种空间遥操作方法 |
DE102008057142B4 (de) * | 2008-04-29 | 2016-01-28 | Siemens Aktiengesellschaft | Verfahren zur rechnergestützten Bewegungsplanung eines Roboters |
CN105500345A (zh) * | 2016-01-21 | 2016-04-20 | 烟台拓伟机械有限公司 | 分离式机器人拖动示教手柄及其示教方法 |
CN106142085A (zh) * | 2016-08-04 | 2016-11-23 | 上海铼钠克数控科技股份有限公司 | 工业机器人的控制方法及控制系统 |
CN106325100A (zh) * | 2016-08-30 | 2017-01-11 | 徐州重型机械有限公司 | 一种基于起重机车载控制系统的吊装模拟方法 |
-
2017
- 2017-08-31 CN CN201710775152.2A patent/CN107414836B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102008057142B4 (de) * | 2008-04-29 | 2016-01-28 | Siemens Aktiengesellschaft | Verfahren zur rechnergestützten Bewegungsplanung eines Roboters |
CN102773853A (zh) * | 2012-07-10 | 2012-11-14 | 北京航空航天大学 | 面向双臂工程机械的属具位置操控及自避碰监控方法 |
CN103722554A (zh) * | 2014-01-15 | 2014-04-16 | 西北工业大学 | 一种空间遥操作方法 |
CN105500345A (zh) * | 2016-01-21 | 2016-04-20 | 烟台拓伟机械有限公司 | 分离式机器人拖动示教手柄及其示教方法 |
CN106142085A (zh) * | 2016-08-04 | 2016-11-23 | 上海铼钠克数控科技股份有限公司 | 工业机器人的控制方法及控制系统 |
CN106325100A (zh) * | 2016-08-30 | 2017-01-11 | 徐州重型机械有限公司 | 一种基于起重机车载控制系统的吊装模拟方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107414836B (zh) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110696000B (zh) | 一种机械臂试探感知的避障方法 | |
US11642786B2 (en) | Humanoid robot and its balance control method and computer readable storage medium | |
CN109822579A (zh) | 基于视觉的协作机器人安全控制方法 | |
CN104699122B (zh) | 一种机器人运动控制系统 | |
CN105058396A (zh) | 机器人示教系统及其控制方法 | |
CN107717994A (zh) | 基于主从空间映射的主从异构机器人通用控制方法及系统 | |
CN108555911A (zh) | 基于虚拟推力的遥操作机械臂三维避障方法 | |
CN106054882A (zh) | 一种机器人避障方法 | |
CN103147577A (zh) | 多关节类机械臂架的控制方法、设备、系统及工程机械 | |
CN106202767A (zh) | 一种数控机床实时防碰撞方法 | |
CN109471435A (zh) | 一种多异构移动机器人控制系统 | |
CN109834714B (zh) | 一种用于多机器人的轨迹控制系统与方法 | |
CN113942012A (zh) | 机械臂关节方法、系统、计算机及可读存储介质 | |
Ramer et al. | A robot motion planner for 6-DOF industrial robots based on the cell decomposition of the workspace | |
CN107414836A (zh) | 机械臂控制方法及装置 | |
CN113183167A (zh) | 一种足式机器人的运动控制系统 | |
Feng et al. | ROS-based humanoid robot pose control system design | |
Germann et al. | Design and control of the quadruped walking robot ALDURO | |
CN112991527B (zh) | 目标对象的躲避方法及装置、存储介质、电子装置 | |
JP7374867B2 (ja) | 制御システム、ローカルコントローラ及び制御方法 | |
CN110625612A (zh) | 基于ros的可视化带电作业机器人碰撞检测方法 | |
CN104122836B (zh) | 林木联合采育机作业轨迹规划与控制半实物仿真系统 | |
Arbulú et al. | The Rh-1 full-size humanoid robot: Control system design and Walking pattern generation | |
CN109648544A (zh) | 一种多关节智能工业机器人 | |
CN108681447A (zh) | 一种机器人避障的自动参数选择方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |