CN108290293B - 链路序列映射装置,链路序列映射方法和程序 - Google Patents

链路序列映射装置,链路序列映射方法和程序 Download PDF

Info

Publication number
CN108290293B
CN108290293B CN201680067026.5A CN201680067026A CN108290293B CN 108290293 B CN108290293 B CN 108290293B CN 201680067026 A CN201680067026 A CN 201680067026A CN 108290293 B CN108290293 B CN 108290293B
Authority
CN
China
Prior art keywords
link sequence
robot
link
information
model
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.)
Active
Application number
CN201680067026.5A
Other languages
English (en)
Other versions
CN108290293A (zh
Inventor
早石直广
高原一真
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Counting technology research
Original Assignee
Keisuugiken Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Keisuugiken Corp filed Critical Keisuugiken Corp
Publication of CN108290293A publication Critical patent/CN108290293A/zh
Application granted granted Critical
Publication of CN108290293B publication Critical patent/CN108290293B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39546Map human grasps to manipulator grasps
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40264Human like, type robot arm

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

本发明提供一种可以将模型的链路序列自动地映射到任意的机器人的链路序列上的链路序列映射装置。链路序列映射装置(1),具备:接收包含在模型的链路序列中的各个链路的位置信息的模型链路序列信息的接收部(11);根据接收的模型链路序列信息,确定在模型的链路序列中事先指定的复数个点的坐标值的确定部(14);为了使确定部确定的复数个点、与该复数个点分别对应的机器人的链路序列中的复数个点之间的各个距离所对应的目标函数变小,对包含在机器人的链路序列中的各个链路位置信息的机器人链路序列信息进行计算的计算部(15);将与算出的机器人链路序列信息对应的机器人的链路序列的各个关节角度信息输出的输出部(17)。

Description

链路序列映射装置,链路序列映射方法和程序
技术领域
本发明涉及一种将模型的链路序列映射在机器人的链路序列上的链路序列映射装置等。
背景技术
目前,已有仿人机器人存在,仿人机器人也已能够模仿人体动作。这种能够执行与人类相同动作的仿人机器人,可以直接执行与捕捉到的人体动作一样的动作。但是,在别种情况时,比如,仿人机器人的关节数比人类少的情况,或关节的可动范围很窄时,需要将捕捉到的人类动作转换为与机器人相符的动作。而这种转换的设定,需要由人工手动完成。
此外,作为相关技术,已知的有捕捉人体动作的技术(例如,参照特许文献1)
【专利文献1】特表2012-525643号公报
发明内容
发明所要解决的技术问题
如上所述,要将捕捉到的人体动作转换成适合机器人的话,存在需要针对每种类型的仿人机器人进行转换设定的问题。此外,即时进行了所需转换设定,例如,当人做了设定外的动作时,无法正确地转换人体动作,仿人机器人的动作就会停止的问题存在。
一般来说,在将模型的动作映射到机器人时,存在不需手动创建转换公式等需求。
本发明是鉴于上述情况而开发的,其目的在于提供一种能够将模型的链路序列自动映射到任意的机器人的链路序列上的链路序列映射装置等。
解决问题的方法
为了实现上述目的,本发明涉及的链路序列映射装置,具备:接收包含在模型的链路序列中的各个链路的位置信息的模型链路序列信息的接收部;根据接收部接收的模型链路序列信息,确定在模型的链路序列中事先指定的复数个点的坐标值的确定部;为了使确定部确定的复数个点、与该复数个点分别对应的机器人的链路序列中的复数个点之间的各个距离所对应的目标函数变小,对包含在机器人的链路序列中的各个链路位置信息的机器人链路序列信息进行计算的计算部;将与计算部算出的机器人链路序列信息对应的机器人的链路序列的各个关节角度信息输出的输出部。
使用这样的结构,即使模型的链路序列和机器人的链路序列之间存在链路数量上等差异,机器人的链路序列也可以像模型的链路序列一样,输出机器人的链路序列的各个关节角度的信息。其结果是,无需手动创建将模型的链路序列自动地映射到任意的机器人的链路序列上的等转换公式。此外,由于不是使用转换公式,即使模型的链路序列的位置不是事先指定的,也可以计算出机器人链路序列信息。因此,可以避免机器人的链路序列动作停止的情况发生。
此外,在本发明涉及的链路序列映射装置中,复数个点的数量可以比机器人的链路序列中的连接点的数量多。
使用这种结构,可以将模型的链路序列适当地映射到机器人的链路序列上。
此外,在本发明涉及的链路序列映射装置中,还具备可将机器人的链路序列中关于关节的可动范围信息的关节可动范围信息进行存储的存储部,计算部根据关节可动范围信息所显示的可动范围内,进行可使目标函数变小的机器人的链路序列信息的计算。
使用这种结构,例如,即使模型的链路序列和机器人的链路序列的可动范围不同,也可以计算出使模型的链路序列和机器人的链路序列接近的机器人链路序列信息。
此外,在本发明涉及的链路序列映射装置中,还具备对模型的链路序列的长度、和机器人的链路序列的长度进行规划的规划部,距离可以是规划后的距离。
使用这种结构,可以将模型的链路序列适当地映射到机器人的链路序列上。
此外,在本发明涉及的链路序列映射装置中,距离是以模型的链路序列的基端以及机器人的链路序列的基端作为原点的坐标系中的坐标值所对应的距离。
使用这种结构,可以减少计算机器人链路序列信息时的计算量。
此外,在本发明涉及的链路序列映射装置中,还具备去除包含在机器人的链路序列信息中的高频噪声成分的噪声去除部,输出部可以将通过噪声去除部去除了高频噪声成分的机器人的链路序列信息所对应的机器人的链路序列的各个关节的角度信息输出。
使用这种结构,例如,即使是在模型链路序列信息中含有高频噪声的情况时,也可以消除该噪声后进行输出。
发明效果
本发明涉及的链路序列映射装置,能够将模型的链路序列自动地映射到任意的机器人的链路序列上。其结果是,无需手动创建映射所需的转换公式。此外,即使模型的动作是指定外的,也可以计算出机器人链路序列信息。
附图说明
图1为本发明的实施形态所涉及的链路序列映射装置的结构框图。
图2为该实施形态所涉及的链路序列映射装置的动作流程图。
图3为该实施形态中模型的链路序列的一例示意图。
图4为该实施形态中机器人的链路序列的一例示意图。
图5为该实施形态中机器人的关节角度的一例示意图。
图6为该实施形态中模型和机器人的链路序列被规划后的一例示意图。
图7为该实施形态中模型和机器人的链路序列的动作的一例示意图。
图8为该实施形态中计算机系统的外观的一例示意图。
图9为该实施形态中计算机系统的构成的一例示意图。
具体实施方式
接下来,就本发明的链路序列映射装置,根据实施形态进行说明。此外,在以下的实施形态中,用相同附图标记标注的构成要素和步骤是相同的或等同的,有时会省略不再重复解释。本实施形态所涉及的链路序列映射装置,要把模型的链路序列映射到机器人的链路序列上,需要使模型的链路序列上复数的点、和机器人的链路序列上复数的点之间的各个距离所对应的目标函数变小,以获取机器人的链路序列的每个关节的角度。
图1为本发明的实施形态所涉及的链路序列映射装置1的结构框图。本实施形态所涉及的链路序列映射装置1,具备接收部11、存储部12、规划部13、确定部14、计算部15、噪声去除部16和输出部17。
接收部11,接收包含在模型5的链路序列中的各个链路的位置信息的模型链路序列信息。模型5,例如可以是人类,也可以是人类以外的动物或机器人等。此外,链路序列映射装置1,例如,因为是要使机器人6模仿模型5的动作而执行的映射,模型5最好是有动作的模型。模型5,是成为链路序列的映射源的对象。模型5,作为映射对象的优选是具有1个以上的链路序列。例如,当模型5为人类时,四肢分别成为链路序列。此外,从人的头部到腰部可以视为一个链路序列。模型链路序列信息,可以是连接的复数个链路的整体信息(例如,从双肩的中心到手指尖的链路序列等),也可以是连接的复数个链路中的一部分信息(例如,从肘部到手指尖的链路序列等)。此外,模型链路序列信息,可以是诸如手指尖或脚趾等的端部,也就说,不是关节的端部部分的链路序列信息也是可以的,或者可以是例如从肩部到手腕,从关节到关节的链路序列的信息。此外,在本实施形态中,虽然主要是对不含分支链路序列信息时的情况进行的说明,但是模型链路序列信息,也可以含有分支的链路序列信息。关于模型链路序列信息,总的来说,只要是能够知道包含在模型5中的链路序列中的各个链路的位置信息,任何信息都是可以的。模型链路序列信息,例如可以是各个链路的两端的位置的信息,也可以是各个链路长度和关节的链路之间的角度信息。各个链路两端位置的信息,可以包含各个关节位置的信息,还可以包含链路序列的端部位置的信息。在本实施形态中,主要是针对包含链路序列的关节的位置的信息和端部位置的信息时的模型链路序列信息进行的说明。该位置,是对模型5的链路序列所设定的坐标系的位置。该坐标系,可以是模型5所存在的真实空间的坐标系,也可以是关于模型5的链路序列位置取得的虚拟空间的坐标系,或者其他坐标系也是可以的。
关于模型链路序列信息,例如可以通过动作捕捉技术取得。关于动作捕捉,例如可以通过检测出安装在模型5上的标记的位置来进行,还可以使用模型5的拍摄图像来进行。使用标记进行的动作捕捉,例如可以是光学式动作捕捉,也可以是机械式动作捕捉,还可以是电磁式动作捕捉。此外,使用拍摄图像进行动作捕捉时,例如通过测量与模型5的距离等,以提高使用拍摄图像时的动作捕捉的准确性。使用拍摄图像进行动作捕捉的装置,例如可以使用KINECT(注册商标)、或RealSense。
要执行链路序列的实时映射时,接收部11,作为优选,例如将模型链路序列信息沿时间序列重复,并且以恒定或不规则的时间间隔进行接收。也就是说,作为优选,根据接收部11接收到的模型链路序列信息,能够知道模型5的链路序列的动作。此外,模型链路序列信息本身可以是沿着模型5的链路序列的时间序列的信息。此外,不是链路序列的实时映射时,接收部11,例如可以对模型5的复数的链路序列信息进行统一接收,也可以逐个接收模型链路序列信息。此外,当模型5有两个以上的链路序列时,接收部11可以按照每个模型链路序列信息进行接收。在本实施形态中,主要是针对当模型5是人类,关于人体手臂的链路序列的模型链路序列信息会被定期、实时的通过动作捕捉装置2输入到链路序列映射装置1,然后接收部11进行接收时的情况进行的说明。此外,当接收部11接收到与复数的链路序列分别对应的复数的模型链路序列信息时,该模型的链路序列信息中,可以不包含对所对应的链路序列进行识别的信息(例如,是右臂的链路序列等)。此外,接收部11,可以与模型链路序列信息一起,接收模型5的朝向信息(例如模型5的面部的朝向信息等)。根据该模型5的朝向信息,可以知道模型链路序列信息与模型5的哪一个链路序列对应。
此外,接收部11,例如可以接收经由有线或无线通信线路发送的模型链路序列信息,也可以接收从指定的记录介质(例如,光盘、磁盘、半导体存储器等)读取的模型链路序列信息。此外,接收部11,可包含用于进行接收的装置(例如,诸如调制解调器或网络卡等),也可以不包含。此外,接收部11可以通过硬件来实现,也可以通过诸如用于驱动指定设备的驱动器的软件来实现。
在存储部12中,存储着机器人6的链路序列的关节的可动范围信息的关节可动范围信息。在该关节可动范围信息中,作为优选,包含关于限制可动范围的所有的关节的信息。例如,机器人6的链路序列中的链路101、102之间的关节Pi的角度,如图5用θ1 i、θ2 i、θ3 i表示时,在θ1 i、θ2 i、θ3 i中,可动范围信息可以是至少含有1个在可动范围内有约束的角度范围信息。例如,当角度θ1 i范围为α1 i≦θ1 i≦β1 i时,包含在关节可动范围信息中的角度θ1 i信息,可以是该角度θ1 i的下限值α1 i和上限值β1 i。此外,可动范围没有约束的关节或轴,可根据关节可动范围信息可以不用显示可动范围。此外,图5示意的是链路101、102之间的关节Pi有3个轴时的情况,关节的轴数可以不做限定。关节的轴数,例如1个,2个,3个或4个以上也是可以的。此外,该关节的轴的方向也是可以是任意的。此外,在有2个以上轴的关节中,各轴的顺序,例如从链路101侧到链路102侧,各个轴是以什么样的顺序设置的信息可以存储在存储部12。
在本实施形态中,主要是针对机器人6为仿人机器人时的情况进行的说明,也可以是别的情况。机器人6,例如可以是狗、猫、鸟、鱼、蛇、昆虫等的动物形状机器人,其他形状的机器人也是可以的。此外,该机器人6,至少有1个或多个可动作的链路序列。关于可动作的链路序列,例如由复数个马达分别驱动的复数的关节连接的链路序列也是可以的。此外,机器人6,通常为玩具用机器人,也就是娱乐机器人,但也可以是别的。此外,作为映射源的模型5的链路序列中的链路数LN1、和作为映射目标的机器人6的链路序列中的链路数LN2的数量没有限定。例如,模型5的链路序列数量LN1可以比机器人6的链路数LN2多也行,少也行,两者的链路数LN1、LN2相同也是可以的。此外,关于机器人6的链路序列,与模型5的链路序列同样设定了坐标系。该坐标系,可以是机器人6所存在的真实空间的坐标系,也可以是为了显示机器人6的链路序列的位置关系的虚拟空间的坐标系,或者其他坐标系也是可以的。
存储部12,也可以存储关节可动范围信息以外的信息。例如,机器人6的链路序列中各个链路的长度的链路长度信息也可存储在存储部12。根据该链路长度信息和机器人6的链路序列中各个关节的角度,可以确定机器人6的链路序列的位置,就是已知的机器人的正向运动学。此外,例如也可以存储机器人6的链路序列中各个关节的轴的方向信息。此外,也可将模型5中事先指定的复数个点的信息,或与该复数个点对应的关于机器人6的链路序列中复数个点的信息存储在存储部12。此外,在机器人6的链路序列中,含有直线以外形状的链路的情况时,也可将该链路形状的信息存储在存储部12。此外,会在接下来的说明中提到的关于噪声去除部16中的低通滤波器的时间常数等信息也可存储在存储部12。
存储部12的信息存储过程不做限定。例如,信息可以是经由记录介质存储在存储部12,或者经由通信线路等传输的信息存储在存储部12,或者通过输入设备输入的信息储在存储部12。存储部12中的存储,可以是存储在RAM等的临时存储,或者也可以是长期存储。存储部12可以通过指定的记录介质(例如,半导体存储器、磁盘、光盘等)来实现。
规划部13,是对模型5的链路序列的长度和机器人6的链路序列长度进行规划处理。通常情况下,通过动作捕捉装置2接收到的模型链路信息显示的模型5的链路序列长度,与机器人6的链路序列长度不同。由此,规划部13进行使两者的长度保持一致的规划处理。在规划过程中,可以将模型5的链路序列的长度和机器人6的的链路长度设为「1」,或也可以设为其他值。在本实施形态中,主要是针对前者进行说明。此外,链路序列的长度,是从链路序列的一端到另一端为止的各个链路的长度的总和。将模型5和机器人6的链路序列的长度规划为1时,规划部13,例如可以计算出模型5的链路序列的长度,将模型5的链路序列中的各个坐标值除以计算所得的链路序列的长度来执行规划处理,也可以通过计算出机器人6的链路序列的长度,将机器人6的链路序列中的各个链路序列的长度除以计算所得的链路序列的长度来执行规划处理。此外,例如根据模型链路序列信息,显示模型5的链路序列中各个链路的两端的位置时,规划部13可以通过该信息计算出各个链路的长度并相加得出总和,从而计算出模型5的链路序列的长度。此外,例如根据模型链路序列信息,显示模型5的链路序列中各个链路的长度和角度时,规划部13可以将各个链路的长度相加得出总和,从而计算出模型5的链路序列的长度。此外,例如当存储部存储了机器人6的链路序列中的各个链路的长度时,规划部13可以将各个链路的长度相加得出总和,计算出机器人6的链路序列的长度。此外,规划部13,可以通过变更模型5的链路序列坐标系和机器人6的链路序列坐标系中至少一方的坐标系单位,来进行规划处理。例如,规划部13在两个坐标系中,可以通过变更坐标系单位,使模型5的链路序列的长度和机器人6的链路序列的长度成为1,来进行规划处理。
规划部13在执行该规划处理时,使模型5的链路序列的基端和机器人6的链路序列的基端都成为原点的坐标系的设定是可以的。然后,可以在该坐标系中,进行接下来要说明的确定部14或计算部15的处理。具体说就是,规划部13分别对模型5的链路序列的坐标系和机器人6的链路序列,进行平行移动等坐标变换使链路序列的基端成为原点,为了使两个坐标成为相同坐标,可以对其中至少一方的坐标系中进行旋转等坐标变换。此外,如果两个坐标系的朝向一致时,则可无需执行诸如旋转等的坐标转换。在本实施形态中,主要是针对模型5和机器人6的链路序列的位置作为最终坐标系,来设定xyz直角坐标系时的情况进行的说明。此外,关于链路序列的基端,例如与人的胳膊或腿对应的链路序列中的胴体侧,就是手指尖或脚尖的相反侧(也就是本体侧)的端点。例如,如果是像蛇一样没有对应的链路序列主体存在时,任意的端部,例如尾侧或头侧的端部都可视为基部。另外,也有把基端和相反侧的端点称为尖端。此外,由于机器人6的链路序列中的各个链路的长度不会发生变化,因此,机器人6的链路序列的规划处理只要执行一次即可。另外,模型5的链路序列中的各个链路的长度,取决于模型链路序列信息的取得方法,有可能随时间发生变化。因此,当模型5的链路序列中的各个链路的长度发生改变的情况下,作为优选,接收部11每次接收关于模型5的链路序列的相关信息时,都对模型5的链路序列执行规划处理。另外,如果模型5的链路序列中的各个链路的长度没有发变化时,例如,规划部13对模型5的链路序列执行1次规划处理,然后将规划处理后的坐标系等移交动作捕捉装置2,之后就可以接收规划处理后的模型链路序列信息。此外,使用确定部14和计算部15的模型5和机器人6的坐标值,是通过规划部13规划处理后的坐标值。此外,执行规划处理,当两个链路序列的基端成为原点之后,作为优选,模型5的链路序列的位置和机器人链路序列的位置最好是在一个坐标系内显示。在本实施形态中,主要是对执行规划处理,当两个链路序列的基点成为原点之后,模型5和机器人6的位置通过上述xyz直角坐标系表示时的情况进行的说明。
确定部14,根据接收部11接收的模型链路序列信息,来确定模型5的链路序列中事先指定的复数个点的坐标值。此外,该坐标值的确定,是对经过规划部13的规划处理后的坐标值进行的确定。
此外,在本实施形态中,主要是针对该坐标值为上述的xyz直角坐标系中的坐标值时的情况进行的说明。模型5的链路序列中事先指定的复数个点,是在模型5的链路序列的两个端点之间事先指定的比例下内分的复数个点。也就是说,该复数个点是在链路序列的两个端间事先指定的比例下分割的复数个点所对应的位置。因此,该复数个点的指定与链路序列的关节位置无关。此外,该复数个点的数量,作为优选,比机器人6的链路序列中连接点的数量多为宜。链路序列中的连接点,是链路序列中链路与链路的连接点。此外,通常将链路序列中的连接点的数量加上1,获得的值成为链路序列中的链路的数量,因此可以认为复数个点的数量多于机器人6的链路序列中的链路数量为宜。此外,该复数个点的位置,可以是均匀地设置,也可以不是。此外,在该复数个点中,可以包含模型5的链路序列中的一端或两端,也可以不包含在内。此外,关于链路序列两个端点之间事先以指定的比例进行内分的复数个点,可以认为是当链路序列延伸至直线状时,对两个端点之间以事先指定的比例进行内分的复数个点。也有将所述复数个点称为基准点。此外,关于确定坐标值,可以将所确定的坐标值存储在记录介质中。
计算部15,为了使确定部14确定的坐标值的复数个点、与该复数个点分别对应的机器人6的链路序列中的复数个点之间的各个距离所对应的目标函数变小,对包含在机器人6的链路序列中的各个链路的位置信息的机器人链路序列信息进行计算。在此,与模型5的链路序列中的复数个基准点相对应的机器人6的链路序列中的复数个点的各个点也被称为基准点。通过确定部14被确定,与模型5的链路序列中的复数个点分别对应的机器人6的链路序列中的复数个点,例如,可以是在机器人6的链路序列的两个端点之间以事先指定的比例进行内分的复数个点。所述事先指定的比例,可以与模型5的链路序列中的复数个点相关的事先指定的比例相同,或者不同也是可以的。如果是属于后者的话,例如,为了使机器人6执行人类模型5的夸张动作,可以特定模型5的链路序列中的复数个基准点与机器人6的链路序列中的复数个基准点。无论是哪种情况,当复数个点的数量多于机器人6的链路序列中的链路数量时,机器人6的链路序列中的链路中至少存在1个点,这样的比例设定也是可以的。当模型5的链路序列中事先指定的比例,和机器人6的链路序列中事先指定的比例是相同情况时,在模型5的链路序列和机器人6的链路序列中,同样比例的基准点成为相对应的基准点。另外,当两者的比例不同时,模型5的链路序列中的复数个基准点,和机器人6的链路序列中的复数个基准点,从基端侧开始依序各自对应。
经过确定部14确定的复数个点与该复数个点分别对应的机器人6的链路序列中的复数个点之间的距离,是从确定的某个基准点到与该基准点相对应的机器人6的链路序列中的基准点的距离。所述与各个距离对应的目标函数,可以是随着各个距离的增加而变大的函数。具体说就是,所述目标函数可以通过将每个距离的平方进行相加来获得。在这种情况下,使用最小二乘法来执行映射。此外,还可以通过将每个距离的绝对值相加来获得目标函数。在这种情况下,使用最小绝对值法来执行映射。此外,不言而喻,使用其值随着每个距离的增加而变大的其他目标函数也是可以的。各距离,是规划处理后的距离,也就是说,使用的是规划处理后的坐标值计算的距离。此外,各距离,是以模型5和机器人6的链路序列的基端作为原点的坐标系中的坐标值所对应的距离。也就是说,根据该坐标值计算出的距离。此外,使目标函数变小所进行的机器人链路序列信息计算,是为了使目标函数变小而进行的机器人6的链路序列位置的计算。通常,机器人6的链路序列中的各个链路的长度是一定的,根据机器人6的链路序列中的各个关节的角度,可以确定机器人6的链路序列的位置。因此,机器人6的链路序列的位置的计算,也可以是各个链路序列中的各个关节的角度的计算。这种情况时,机器人的链路序列信息,可以是机器人6的链路序列中各个关节的角度信息。当链路序列的基端也是关节的情况时,该机器人的链路序列信息中也可以包含该基端的关节的角度。此外,机器人的链路序列信息,也可以是关节的角度以外的信息。例如,机器人链路序列信息,可以是机器人6的链路序列中的各个链路两端的位置信息,也可以是机器人6的链路序列中的复数个基准点的各个坐标值。当机器人链路序列信息是机器人6的链路序列中的复数个基准点的各个坐标值时,作为优选,可以根据所述复数个基准点的各个坐标值,唯一地确定链路列的位置。在本实施形态中,主要是对机器人链路序列信息是机器人6的链路序列中各个关节的角度信息时的情况进行的描述。在此种情况下,机器人链路序列信息中,例如,可以将识别关节信息与该关节的角度信息进行关联,或者将识别关节的轴信息与该轴的角度信息相进行关联。此外,在计算机器人链路序列信息时,可以将机器人6的链路序列的基端位置固定,不固定也是可以的。在本实施形态中,主要是针对属于前者情形时进行的说明。此外,如果是属于后者的情形时,机器人6的链路序列基端的位置信息也可以包含在机器人的链路序列信息中。
在计算使目标函数变小的机器人链路序列信息时,计算部15可以使用最优化问题求解的任意算法。此外,最优化问题求解时,局部最优解、或全局最优解都是可以的。在本实施形态中,最优化问题是以局部最优解时的情况进行的说明。例如,计算部15可以通过使用作为目标函数的导数的算法的梯度方法来进行使目标函数变小的机器人链路序列信息的计算,也可以不使用目标函数的导数的算法来进行使目标函数变小的机器人链路序列信息的计算。此外,计算部15在存储部12中存储的关节可动范围信息所显示的可动范围内,进行使目标函数变小的机器人链路序列信息的计算。也就是说,计算部15可以将关节可动范围信息作为约束条件解决最优化问题。此外,使目标函数变小的机器人链路序列信息的计算,可以是使目标函数成为最小值的机器人链路序列信息的计算,也可以是使目标函数接近最小值的机器人链路序列信息的计算。在此,目标函数最小化,可以说是使目标函数在严格意义上成为最小值,也可以是目标函数是足够接近最小值。在计算使目标函数变小的机器人链路序列信息时,在通过重复诸如牛顿法的迭代处理并完成完全收敛之前的处理来计算机器人链路序列信息的情况下,可以说计算出的并不是严格意义上的使目标函数最小化的机器人链路序列信息,但可以说计算出的机器人链路序列信息可使目标函数足够接近最小值。此外,在计算使目标函数变小的机器人链路序列信息时,当下一个模型链接序列信息被接收部11接收时,计算部15可以将此时的机器人链路序列信息传递给下一个阶段的噪声去除部16,并对新接收的模型链路序列信息执行对应的机器人链路序列信息的计算。即使是在这种情况下,计算部15也是进行可以使目标函数足够接近最小值的机器人链路序列信息的计算。像这样,当计算部15在执行使目标函数成为最小值的顺序处理途中该处理终止时,可以认为此时的机器人链路序列信息,就是计算得出的使目标函数变小的机器人链路序列信息。
此外,执行计算部15进行使目标函数变小处理的模型5的链路序列和机器人6的链路序列,可以是事先指定的,也可以不是。如果是属于后者的情况时,例如,可以按照事先决定的规则,来确定与模型5的链路序列对应的机器人6的链路序列。具体说就是,当模型5是人类,机器人6是仿人机器人时的情况时,将靠近头部的链路序列视为对应的链路序列的规则可以存在,或者将与靠近头部,头部的朝向(例如,头上脸部的朝向)的右侧(或者左侧)的链路序列视为对应的链路序列的规则也是可以存在的。根据该规则,可以对手臂的链路序列进行关联。此外,将远离头部、头部朝向的右侧(或者左侧)的链路序列视为对应的链路序列的规则也是可以存在的。根据该规则,可以对腿的链路序列进行关联。
噪声去除部16,是将包含在机器人的链路序列信息中的高频噪声去除。例如,通过动作捕捉装置2取得模型链路序列信息时,该模型链路序列信息中会含有高频噪声成分。像这种情况,作为结果,即机器人的链路序列信息中也会含有高频噪声成分,作为优选,通过所述噪声去除部16去除噪声成分。噪声去除部16,可以是低通滤波器。噪声去除部16,例如通过对计算部15计算得出的机器人链路序列信息执行移动平均处理,发挥低通滤波器的作用。关于该低通滤波器的时间常数,噪声去除部16可以读取并使用存储部12中存储的内容。
输出部17,是将与机器人的链路序列信息对应的机器人6的链路序列的各个关节的角度相关信息输出。所述机器人的链路序列信息,是通过噪声去除部16去除了高频噪声成分的机器人的链路序列信息。当执行实时映射处理时,输出部17可以沿着时间序列重复,并以恒定或不规则的时间间隔输出该信息。像这种情况,例如机器人6配合模型5的动作也开始动作。此外,如果不是执行链路序列的实时映射处理时,输出部17可以顺序地输出信息,也可以统一输出。在这种情况下,例如,机器人6可以再现与模型5过去的动作相同的动作。此外,如果机器人6有2个以上的链路序列时,输出部17可以将机器人6的每个链路序列信息输出。机器人的链路序列信息,如果是机器人6的链路序列的各个关节的角度相关的信息时,输出部17可以将机器人的链路序列信息直接输出。如果机器人的链路序列信息是机器人6的链路序列的位置信息时,输出部17将该机器人的链路序列信息转换成机器人6的链路序列的各个关节的角度相关信息输出。例如,在图5中,链路101,102的位置是已知时,而且关节Pi的各轴角度的确定方法也已经是公知的,通过使用该方法,可以将机器人的链路序列信息转换成机器人6的链路序列的各个关节角度的信息。机器人6的链路序列的各个关节角度的信息,可以是显示各个关节角度的信息。总的来说,只要是能够获知各个关节的角度的信息都是可以的。
在此,這里的输出,输出对象的信息只要可以被机器人6接收,该输出可以是任何输出,例如,可以通过有线或无线通信线路对机器人6的进行发送,也可以存储在记录介质中,也可以转移给其他构成要素。此外,通过输出部17,将信息存储在记录介质中,或转移至其他构成要素时,当然该信息最终都会到达机器人6的。此外,输出对象信息在被机器人6接收之前,当然可以适当地进行格式的变换等处理。此外,输出部17可以包括或不包括执行输出的设备(例如,发送设备等)。此外,输出部17可以通过硬件来实现,或者通过驱动这些设备的驱动器等软件来实现。
接下里,就链路序列映射装置1的操作通过图2的流程图来进行说明。
(步骤S101)规划部13,是对机器人6的链路序列进行规划。
(步骤S102)接收部11,对是否接收到模型链路序列信息进行判断。然后,当接收到模型链路序列信息时,处理前进到步骤S103,如果不是的话,反复重复步骤S102的处理,直至接收到模型链路序信息。
(步骤S103)规划部13,对与步骤S102接收的模型链路序列信息对应的模型5的链路序列进行规划处理。
(步骤S104)确定部14,分别对在步骤S103规划处理后的模型5的链路序列中事先指定的复数个点的坐标值进行确定。
(步骤S105)计算部15,为了使在步骤S104中坐标值已确定的复数个点,与该复数个点分别对应的机器人6的链路序列中的复数个点之间的各个距离所对应的目标函数变小,对机器人链路序列信息进行计算。
(步骤S106)噪声去除部16,将步骤S105中算出的机器人链路序列信息中所包含的高频噪声成分去除。
(步骤S107)输出部17,将去除了高频成分的机器人链路序列信息所对应的机器人6的链路序列中的各个关节角度信息输出。然后,回到步骤S102。
此外,如果要执行如图2流程图中的实时处理时,在步骤S105中,计算机器人链路序列信息时,模型链路信息的接收处理也并行执行,终止模型链路序列信息接收和步骤S105的处理,根据此时的机器人链路序列信息执行输出(步骤S106,S107)的同时,执行新接收到模型链路序列信息对应的处理也是可以的。此外,模型5或机器人6,具有复数个与映射相关的链路序列时,链路序列映射装置1可以对各个链路序列重复执行步骤S102~S107的处理步骤,或者并行执行也可以。具体说,就是将模型5的双手、双脚的链路序列映射在机器人6的双手、双脚时,步骤S102~S107的处理,可以对4个链路序列执行重复或并行处理。此外,图2的流程,当电源中断或由于处理结束时的插入而终止。
接下里,就本实施形态所涉及的链路序列的映射装置1的动作,使用具体例子进行说明。在该具体例子中,是模型5的链路序列为人的手臂,机器人6的链路序列是仿人机器人的手臂时的情况进行说明。也就是说,人的手臂被映射到仿人机器人的手臂时的情况进行说明。在该具体例子中,模型5的链路序列中的链路数为n,机器人6的链路序列中链路数为N。n,N分别是1以上的整数。
图3示意的是人的模型5的链路序列5a的一例。映射对象链路序列5a,由链路51~53构成,关节的端点p0是双肩的中心,关节p1为肩部,关节p2为肘部,端点p3是手指尖。此外,在图3中,为了简化说明,省略了腕关节。在图3中,p0~p3的坐标分别是xyz直角坐标系中的(x0,y0,z0)、(x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3)。此外,链路51~53的长度分别为d1,d2,d3。图3中的链路数n=3。
图4是关于仿人机器人的机器人6的链路序列6a的一例示意图。映射目标的链路序列6a,由链路61,62构成,作为关节的端点P0为肩部,关节P1为肘部,端点P2为手指尖。此外,在图4中,P0~1的坐标分别是XYZ直角坐标系中的(X0,Y0,Z0)、(X1,Y1,Z1)、(X2,Y2,Z2)。此外,链路61,62的长度分别为D1,D2。D1,D2是存储在存储部12中的信息。此外,关节Pi的关节角度为θ1 i,θ2 i,…,θki i。此外,ki是关节Pi的轴数,是1以上的整数。i=0,1。图4中的链路数N=2。
xyz直角坐标系和XYZ直角坐标系都是设定在模型5或机器人6的局部坐标系,xyz轴分别与XYZ轴相对应。例如,z轴和Z轴设定在体轴方向上,x轴和X轴设定在纵向方向上,y轴和Y轴可以设定在横向方向上。此外,体轴方向,是人或仿人机器人站立位置的上下方向。
规划部13,首先,对机器人6的链路序列进行规划(步骤S101)。具体讲就是,规划部13,根据存储部12中存储的链路长度D1,以如下公式计算链路序列的长度d。
【公式1】
Figure GDA0002779687280000141
接下来,规划部13将XYZ直角坐标系平行移动,使P0成为原点。具体就是,(Xi,Yi,Zi)可以表示为(Xi-X0,Yi-Y0,Zi-Z0)。但是,i=0~N。此外,平行移动后的XYZ直角坐标系中,将各个坐标值乘以1/D,使机器人6的链路序列的长度成为1。具体就是,(Xi,Yi,Zi)可以表示为(Xi/D,Yi/D,Zi/D)。此外,平行移动处理,和乘以1/D的处理顺序可以任意。此外,规划部13,将存储在存储部12中的链路长度D1,也乘以1/D进行规划。在下面的说明中,(Xi,Yi,Zi)、Di,就是平行移动和规划后的坐标、链路长度。
然后,接收部11接收模型链路信息(步骤S102)。该模型链路序列信息,是模型5的链路序列中各个链路两端的位置信息,也就是(x0,y0,z0)、(x1,y1,z1)、…、(xn,yn,zn)。于是,规划部13对模型5的链路序列进行规划(步骤S103)。具体就是,规划部13根据模型链路序列信息,以如下公式计算链路序列的长度d1~dn
【公式2】
Figure GDA0002779687280000142
然后,规划部13根据所计算的链路长度d1,以如下公式计算链路序列的长度d。
【公式3】
Figure GDA0002779687280000143
接下来,规划部13将xyz直角坐标系平行移动,使p0成为原点。具体就是,(xi,yi,zi)可以表示为(xi-x0,yi-y0,zi-z0)。但是,i=0~n。此外,平行移动后的xyz直角坐标系中,将各个坐标值乘以1/d,使模型5的链路序列的长度成为1。具体就是,(xi,yi,zi)可以表示为(xi/d,yi/d,zi/d)。此外,平行移动处理,和乘以1/d的处理顺序可以任意。
此外,规划部13将所算出的链路长度d1,也乘以1/d进行规划。在下面的说明中,(xi,yi,zi)、di,就是平行移动和规划后的坐标、链路长度。具体就是,由于xyz直角坐标系中模型5的朝向,和XYZ直角坐标系中机器人6的朝向是相同的,对各个坐标系执行平行移动和规划后,将模型5和机器人6的坐标值示意在xyz直角坐标系。也就是说,平行移动和规划后的(Xi,Yi,Zi)等,是xyz直角坐标系中的坐标值。
在本具体例中,使用的是将模型5和机器人6的链路序列分割成m个点的距离所对应的目标函数。也就是,模型5中事先指定的复数个点为m-1个。此外,模型5的链路序列中的m-1个点,当链路序列长度为1时,从基端侧开始的长度为g1,g2,…,gm-1的位置。例如,将模型5的链路序列平均分割成m个时,gi=i/m。此外,g0=0,gm=1。此外,与gi相对应的基准点坐标为(ai,bi,ci)。此外,m是2以上的整数。
此外,模型5的链路序列中的m-1个点对应的机器人6的链路序列中m-1个点,当链路序列长度为1时,从基端侧开始的长度为G1,G2,…,Gm-1的位置。例如,将机器人6的链路序列平均分割成m个时,Gi=i/m。此外,G0=0,Gm=1。此外,与Gi相对应的基准点坐标为(Ai,Bi,Ci)。此外,如上所述,gi=Gi是可以的,不是也是可以的。此外,g1~gm-1或G1~Gm-1也可以存储在存储部12。
确定部14,从存储部12读取g1~gm-1,使用这些信息确定模型5的链路序列中的复数个点的坐标值(步骤S104)。具体就是,
【公式4】
Figure GDA0002779687280000151
当公式4中有gi存在时,确定部14,将其中的i,以(xj-1,yj-1,zj-1)、和(xj,yj,zj)作为两端的链路序列长度为1时的点(xj-1,yj-1,zj-1)开始的长度、
【公式5】
Figure GDA0002779687280000152
即公式5的点,确定为第i个基准点(ai,bi,ci)。如此,对满足上述公式的gi所对应的点(ai,bi,ci)执行确定处理,通过执行j=1~n处理,可以确定模型5的链路序列中事先指定的复数个点分别对应的坐标值。确定的坐标值(ai,bi,ci),可存储在存储介质,在这里没有图示。此外,d0=0。
在此,就与基准点(ai,bi,ci)对应的机器人6的链路序列中的基准点(Ai,Bi,Ci)的确定方法进行说明。
【公式6】
Figure GDA0002779687280000161
当公式6中有Gi存在时,对其中的i,以(Xj-1,Yj-1,Zj-1)、和(Xj,Yj,Zj)作为两端的链路序列长度为1时的(Xj-1,Yj-1,Zj-1)的长度、
【公式7】
Figure GDA0002779687280000162
即公式7的点,作为第i个基准点(Ai,Bi,Ci)。如此,对满足上述公式的Gi所对应的点(Ai,Bi,Ci)执行确定处理,通过执行j=1~N处理,可以确定机器人6的链路序列中事先指定的复数个点分别对应的坐标值。确定的坐标值(Ai,Bi,Ci),可存储在存储介质,这里没有图示。此外,D0=0。
此外,在机器人6的链路序列中,链路的前端侧的端点的位置可以用该链路的基端侧的端点的位置及其基端侧的端点中的关节的角度来表示。如以下公式。此外,i=1~N,函数Fi,是以关节Pi的角度θ1 i,θ2 i,…,θki i作为参数,是显示Pi与P(i+1)的相对位置的函数。
(Xi,Yi,Zi)=(Xi-1,Yi-1,Zi-1)+Fi-11 i-1,θ2 i-1,…,θk(i-1) i-1)
因此,由于各个坐标值(Aj,Bj,Cj)可使用各个关节Pi的角度来表示,例如,可以用以下公式来表示。此外,j=1~m-1。此外,根据(Aj,Bj,Cj)的位置,函数Gj的参数可能发生变化,但是下面的公式中,描述的是参数最多时的情况。由于只要机器人6的链路序列中复数个点不发生变化的话,这种关系也不会变化,确定部14在确定模型5的链路序列中复数个点的坐标值时,可以得出显示机器人6的链路序列中的复数点的以下公式,还可以将计算结果存储在存储部12或这里无图示的记录介质中。
(Aj,Bj,Cj)=Gj1 0,θ2 0,…,θk0 0,θ1 1,θ2 1,…,θk1 1,…,θ1 N-1,θ2 N-1,…,θk(N-1) N-1)
然后,计算部15,使目标函数E最小化,对机器人链路序列信息进行计算(步骤S105)。具体就是,以下公式中的目标函数E,是以各个关节的角度θ1 0,θ2 0,…,θk0 0,θ1 1,θ2 1,…,θk1 1,…,θ1 N-1,θ2 N-1,…,θk(N-1) N-1为参数的函数。因此,计算部15,算出使以下公式中的目标函数E最小化的各个关节的角度θ1 0,θ2 0,…,θk0 0,θ1 1,θ2 1,…,θk1 1,…,θ1 N-1,θ2 N-1,…,θk(N-1) N-1,将所得计算结果,即机器人链路序列信息传递给噪声去除部16。
【公式8】
Figure GDA0002779687280000171
关于上述目标函数E,例如在图6中,是将基准点ps1和基准点PS1的距离的平方,基准点ps2和基准点PS2的距离的平方,基准点ps3和基准点PS3的距离的平方,基准点ps4和基准点PS4的距离的平方加在一起得出的。此外,链路序列的两个端点也为基准点时,其距离可以包含在目标函数中。在这种情况时,上述目标函数E的公式中,从j=0到j=m设为总和。此外,(a0,b0,c0)=(x0,y0,z0),(A0,B0,C0)=(X0,Y0,Z0),(Am,Bm,Cm)=(XN,YN,ZN)。在图6中,由于示意的是规划后的链路序列5a,6a,两个链路序列5a,6a的长度是相等的,此外,基端侧的端点p0,P0是相同的。这样,要使链路序列的基端一致时,j=0中的基准点之间的距离为0,因此,在上述的目标函数中,也可以将从j=1到j=m设为总和。
此外,在上述目标函数E中,(ai,bi,ci)是通过确定部14确定的坐标值,(Ai,Bi,Ci)是以各个关节的角度θ1 0,θ2 0,…,θk0 0,θ1 1,θ2 1,…,θk1 1,…,θ1 N-1,θ2 N-1,…,θk(N-1) N-1表示的。因此,使该目标函数最小化的角度θ1 0,θ2 0,…,θk0 0,θ1 1,θ2 1,…,θk1 1,…,θ1 N-1,θ2 N-1,…,θk(N-1) N-1是通过梯度法求得时,例如将目标函数E在角度θ1 0等上进行偏微分,分别求出角度θ1 0上可使目标函数成为极小值的位置。
噪声去除部16,去除从计算部15接收到的机器人链路信息中的高频噪声成分,将得到的去除后的结果的链路序列信息传递给输出部17(步骤S106)。此外,如果该噪声去除是通过移动平均处理执行时,噪声去除部16,可以将事先指定个数的最新的机器人链路序列信息进行暂时存储。
输出部17,将从噪声去除部16接收的机器人链路序列信息输出给机器人6(步骤S107)。其结果是,链路序列的各个关节成为包含在机器人链路序列信息中的角度,机器人6控制各个关节的电机等。由此,模型5的链路序列的形状与机器人6的链路序列的形状相似。此外,通过重复这些操作,可以控制机器人6模仿模型5的动作,并且机器人6可以作为镜像机器人来操作。
接下来就作为镜像机器人的机器人6的操作中一例进行具体说明。如图7所示,模型5将与手腕对应的链路序列5a从向下位置的5a-1经由侧方位置5a-2,直至向上位置5a-3,如箭头AR1所示移动。在这一系列操作中,假设手臂没有扭曲。也就是说,在关节p0,p1中,只执行了围绕以图6的页面的垂直方向上的轴为中心的旋转。此外,假设与机器人6的手臂对应的链路序列6a,从向下位置6a-1开始,不扭转手臂时可以上升到侧方位置6a-2为止。如果是这样的话,不扭转机器人6的手臂从侧方位置6a-2开始到向上位置6a-3的映射就无法执行。在此,当模型5的链路序列从侧方位置5a-2开始到向上位置5a-3为止的移动时,为了使目标函数变成最小,计算部15对机器人链路序列信息进行计算,使关节P0处的手臂扭转180°。因此,使目标函数成为最小,让机器人6的链路序列6a执行动作时,该链路序列6a,从向下位置6a-1开始到侧方位置6a-2为止不扭住手臂,如箭头AR2移动,然后,在箭头AR3方向上旋转180°后,从侧方位置6a-2开始到向上位置6a-3为止,如箭头AR4移动。其结果是,在向上位置5a-3,6a-3中,模型5的手掌朝外,机器人6的手掌向内,虽然有些不同,但是可以将两者的臂的形状做成相似的。
此外,在上述说明中,当映射源的模型5的链路序列中的链路数多于机器人6的链路序列中的链路数时,通过对链路序列中的复数个点的个数或位置等进行适当地设定,是可以唯一确定机器人6的链路序列的形状的。另外,当映射源的模型5的链路序列中的链路数少于机器人6的链路序列的链路数时,有时无法唯一确定机器人6的链路序列的形状。机器人6的链路序列形状无法唯一确定,是可以计算出使目标函数E最小化的多个不同机器人的链路行信息。像这种情况的话,计算部15,例如可以随机计算机器人链路序列信息,或者可以使用用于唯一确定机器人链路序列信息的约束条件来计算机器人链接行信息。这种约束条件,例如,可以将之前的机器人6链路序列的变化设成最少化。该变化,可以是关节的角度变化,也可以是链路序列中指定位置的变化。所确定的位置,可以是关节,也可以是先端,其他的点也是可以的。此外,使用其他约束条件进行使目标函数E变小的链路序列信息计算也是可以的。即使映射源模型5的链路序列中的链路数量多于机器人6的链路序列中的链路数量时,机器人6的链路序列的形状无法唯一确定时,可以与上述说明同样的,来计算机器人的链路序列信息。
如上所述,本实施形态所涉及的链路序列映射装置1,即使没有手动创建可将模型5的链路序列映射到机器人6的链路序列的转换公式,也可以将模型5的链路序列形状映射到机器人6的链路序列,使机器人6的链路序列执行类似模型5的链接路序列的动作。因此,其优点是不需要专门劳力去创建转换公式。此外,当使用这种转换公式时,如果模型5执行了指定外动作,机器人6的链路序列的转换失败,并且机器人6的动作可能中途停止,如根据本实施形态执行映射的话,可以避免这种情况。此外,即使是机器人6的链路数量少于模型5的链路数量时,或者机器人6的关节可动范围窄于模型5的关节可动范围时,也就是说,即使是无法执行完整的镜像链路映射的情况时,机器人6的动作也可以与模型5的动作相似。此外,因为具备噪声去除部16,可以去除机器人链路序列信息中的高频噪声,例如,可以降低混合在模型链路序列信息中的高频噪声的影响。
此外,向来也有能与仿人机器人的链路数量或关节的可动范围匹配的动作捕捉。具体就是,当机器人手臂的链路数量为1个时,也只捕捉人的手臂中的一个链路的动作。像这种情况,有必要设置以针对各种类型的仿人机器人来执行专用的动作捕捉。此外,关于本实施形态所涉及的链路序列映射装置1,由于模型链路序列信息映射到机器人的链路序列信息是自动执行,因此,动作捕捉装置2可以是执行通用的动作捕捉装置。因此,还有无需执行专用的动作捕捉的优点。
此外,在本实施形态中,还说明了链路序列的映射装置1具备噪声去除部16,如果不去除高频噪声成份时,链路序列的映射装置1可以不具备噪声去除部。例如,已知模型链路序列中不含有高频噪声成分时,链路序列的映射装置1可以不具备噪声去除部。
此外,在本实施形态中,规划部13以模型5的链路序列的基端,和机器人6的链路序列的基端作为坐标系原点时的情况进行了说明,不是这种情况也是可以的。当两个基端不是原点的情况时,可以使用目标函数进行机器人链路序列信息的计算,也可以是事先将两个基端作为原点,对各个链路序列的坐标系进行设定。
此外,在本实施形态中,将模型5的链路序列长度,和机器人6的链路序列的长度执行规划时的情况进行了说明,不是这种情况也是可以的。例如,将两个长度设定为相同时情况时,例如,如果模型链路序列信息中的链路序列的长度,和机器人6的链路序列中长度相同时,无需进行规划处理。这种情况话,链路序列的映射装置1可以不具备规划部13。
此外,在本实施形态中、将关节可动范围信息存储在存储部12时的情况进行了说明,不是这种情况也是可以的。例如,当关节可动范围没有受约束时,关节可动范围信息可以不存储在存储部12。此外,当关节可动范围信息不存储在存储部12时,计算部15在没有关节可动范围信息的约束条件的情况下,使目标函数变小的计算出机器人链路序列信息。
此外,在本实施形态中,如上所述,根据模型链路序列信息计算出机器人链路序列信息,执行与该机器人链路序列对应的输出处理,可以是实时进行,或者不是这样也行。
此外,在本实施形态中,是在模型5或机器人6的链路序列中没有分支时的情况进行的说明,链路序列中含有分支也是可行的。当模型5或机器人6的链路序列中含有分支时,例如,在分支点上,分割成复数个链路序列,可以对于那些没有分支的链路序列进行如上所述的处理,或者对有分支的链路序列进行如上所述的处理。
此外,在本实施形态中,主要是对机器人6作为镜像机器人动作时的映射进行了说明,也可以不是这种情况。例如,可以将模型5的手臂的链路序列映射在机器人6的腿部的链路序列上,将模型5的腿部的链路序列映射在机器人6的手臂的链路序列上。此外,还可以将人类模型5的手臂的链路序列映射在蛇形机器人6的从头到尾的链路序列上。
此外,在本实施形态中,每个处理或每个功能可以通过由单个装置或单个系统集中处理来实现,也可以是通过复数个装置或复数个系统分布式处理来实现。
此外,在上述的实施形态中,各个构成要素之间执行的信息传递,例如,执行该信息传递的2个构成要素,如果物理上是不同构成时,可以通过其中一方的构成要素来输出信息,另外一方来接收信息,或者如果执行信息传递的2个构成要素为物理上相同构成时,可以从其中一方的构成要素所对应的处理阶段,转移到另一方构成要素所对应的处理阶段来执行。
此外,在上述实施形态中,各构成要素执行处理的相关信息,例如,各构成要素接收、取得、选择、生成、计算、发送、接收的信息,或各构成要素执行处理时使用的阈值或公式、地址等信息,虽然没有在上面的说明中明确提到,可以暂时的或长期的保存在记录介质(无图示)中。此外,在记录介质(无图示)中进行的信息存储,也可以由各构成要素,或存储部(无图示)执行。此外,从记录介质(无图示)进行的信息读取,也可以由各构成要素,或读取部(无图示)执行。
此外,在上述实施形态中,在各个构成要素中使用的信息,例如,各构成要执行处理时使用的阈值或公式、各种设定值等信息,如果用户可以进行修改时,虽然没有在上面的说明中明确提到,可以允许用户适当地修改这些信息,或者,也可以不是那样。如果用户能够改变这些信息时,这里的修改是,例如,从用户处接收修改指令的接收部(无图示),根据修改指令执行信息执行修改的修改部(无图示)。通过接收部(无图示)接收修改指令,例如,可以从输入装置接收,经由通信线路发送的信息的接收,从特定记录介质读取的信息的接收都是可以的。此外,在上述实施形态中,当链路序列的映射装置1中含有的2个以上构成要素中有通信装置或输入装置时,2个以上的构成要素可以是物理上单一的装置,也可以是独立设备。
此外,在上述实施形态中,各构成要素可以是由专门的硬件构成,或者可以是通过软件来实现的构成要素,通过执行程序来实现,例如,通过CPU等程序执行部读出并执行在硬盘或半导体存储器等记录介质中记录的软件程序,来实现各构成要素。在执行时,程序执行部可以在访问存储部或记录介质的同时执行程序。此外,实现上述实施形态中的链路序列映射装置1的软件,如下述的程序。也就是说,该程序使计算机具备以下功能:具备接收包含在模型的链路序列中的各个链路的位置信息的模型链路序列信息的接收部;根据接收部接收的模型链路序列信息,确定在模型的链路序列中事先指定的复数个点的坐标值的确定部;为了使确定部所确定的的复数个点的坐标值、与该复数个点相对应的机器人的链路序列中的复数个点的坐标值之间的距离所对应的目标函数变小,对包含在机器人的链路序列中的各个链路的位置信息的机器人链路序列信息进行计算的计算部;将通过计算部算出的机器人链路序列信息所对应的机器人的链路序列的各个关节角度信息输出的输出部。
此外,关于上述程序,在实现上述程序的功能中,不包含只有硬件才能实现的功能。例如,用于获取信息的获取部、输出信息的输出部等的调制解调器或接口卡等的硬件才能实现的功能,至少不包括在实现上述程序的功能中。
此外,该程序可以从服务器等下载执行,也可以读取记录在所定的记录介质(例如,CD-ROM等光盘或磁盘、半导体存储器等)中的程序来执行。此外,该程序可以作为构成程序产品的程序使用。
此外,执行该程序的计算机可以是单台计算机,也可以是多台计算机。也就是说,可以执行集中处理,或者可以执行分布式处理。
图8示意的是通过执行上述程序,实现上述实施形态所述的链路序列映射装置1的计算机的外观一例模式图。上述实施形态,可以通过计算机硬件和在计算机硬件上执行计算机程序来实现。
在图8中,计算机系统900,包括具备CD-ROM驱动器905的计算机901,键盘902,鼠标903和显示器904。
图9示意的是计算机系统900的内部结构示意图。在图9中,计算机901,除了CD-ROM驱动器905,还与MPU(微处理单元)911、用于存储引导程序等程序的ROM912、MPU911连接,将应用程序的命令进行临时存储的同时、还提供临时存储空间的RAM913,和将存储应用程序、系统程序和数据的硬盘914、MPU911、ROM912等相互连接的总线915。此外,计算机901还可以包括向LAN或WAN等提供连接的网络卡(无图示)。
在计算机系统900中,执行上述实施例所涉及的链路序列映射装置1的功能的程序,可以先存储在CD-ROM 921中,然后插入CD-ROM驱动器905,然后传送到硬盘914。或者,该程序可以经由网络(无图示)传输到计算机901,并存储在硬盘914。在执行该程序时加载到RAM 913中。此外,该程序还可以从CD-ROM 921或者网络直接加载。另外,还可以通过其他记录介质来代替CD-ROM 921(例如,DVD等),在计算机系统900中读取程序。
该程序可以不一定要包含能在计算机901中执行上述实施形态中所涉及的链路序列映射装置1的功能的操作系统(OS),或者第三方程序等。该程序以受控方式调用适当的功能或模块,只包含能获得所需结果的指令部分也是可以的。计算机系统900是如何操作的已是众所周知的,在此省略其详细描述。
当然,本发明不限于以上实施方式,可以进行各种变更,当然也包含在本发明的范围内。
工业应用性
根据本发明的链路序列映射装置等,可以获得将模型的链路序列自动地映射到任意的机器人的链路序列的效果,例如,将仿人机器人等作为镜像机器人动作的装置是有用的。
图中符号说明
1 链路序列映射装置
2 动作捕捉装置
11 接收部
12 存储部
13 规划部
14 确定部
15 计算部
16 噪声去除部
17 输出部

Claims (8)

1.一种链路序列映射装置,其特征在于,具备
接收包含在模型的链路序列中的各个链路的位置信息的模型链路序列信息的接收部;
根据所述接收部接收的模型链路序列信息,确定在所述模型的链路序列中事先指定的复数个点的坐标值的确定部;
为了使所述确定部确定的复数个点、与该复数个点分别对应的机器人的链路序列中的复数个点之间的各个距离所对应的目标函数变小,对包含在所述机器人的链路序列中的各个链路位置信息的机器人链路序列信息进行计算的计算部;
将与所述计算部算出的机器人链路序列信息对应的所述机器人的链路序列的各个关节角度信息输出的输出部。
2.如权利要求1所述的链路序列映射装置,其特征在于,
所述复数个点的个数比所述机器人的链路序列中连接点的个数多。
3.如权利要求1或权利要求2所述的链路序列映射装置,其特征在于,还具备可将关于所述机器人的链路序列中关节的可动范围信息的关节可动范围信息进行存储的存储部,所述计算部,在所述关节可动范围信息显示的可动范围内,为了使所述目标函数变小,对所述机器人的链路序列信息进行计算。
4.如权利要求1或权利要求2所述的链路序列映射装置,其特征在于,
还具备对所述模型的链路序列的长度、和所述机器人的链路序列的长度进行规划的规划部,所述距离为规划后距离。
5.如权利要求1或权利要求2所述的链路序列映射装置,其特征在于,
所述距离,是以所述模型的链路序列的基端以及所述机器人的链路序列的基端作为原点的坐标系中的坐标值所对应的距离。
6.如权利要求1或权利要求2所述的链路序列映射装置,其特征在于,
还具备去除包含在所述机器人的链路序列信息中的高频噪声成分的噪声去除部,所述输出部,是将通过所述噪声去除部去除了高频噪声成分的机器人的链路序列信息所对应的所述机器人的链路序列的各个关节的角度信息输出。
7.一种链路序列映射方法,其特征在于,具备
接收包含在模型的链路序列中的各个链路的位置信息的模型链路序列信息的接收步骤;
根据所述接收步骤接收的模型链路序列信息,确定在所述模型的链路序列中事先指定的复数个点的坐标值的确定步骤;
为了使所述确定步骤确定的的复数个点、与该复数个点分别对应的机器人的链路序列中的复数个点之间的各个距离所对应的目标函数变小,对包含在所述机器人的链路序列中的各个链路的位置信息的机器人链路序列信息进行计算的计算步骤;
将与所述计算步骤算出的机器人链路序列信息对应的所述机器人的链路序列的各个关节角度信息输出的输出步骤。
8.一种程序,其特征在于,使计算机具备以下功能:具备
接收包含在模型的链路序列中的各个链路的位置信息的模型链路序列信息的接收部;
根据所述接收部接收的模型链路序列信息,确定在所述模型的链路序列中事先指定的复数个点的坐标值的确定部;
为了使所述确定部确定的复数个点、与该复数个点分别对应的机器人的链路序列中的复数个点之间的各个距离所对应的目标函数变小,对包含在所述机器人的链路序列中的各个链路的位置信息的机器人链路序列信息进行计算的计算部;
将与所述计算部算出的机器人链路序列信息对应的所述机器人的链路序列的各个关节角度信息输出的输出部。
CN201680067026.5A 2015-11-16 2016-11-16 链路序列映射装置,链路序列映射方法和程序 Active CN108290293B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015223641A JP5892531B1 (ja) 2015-11-16 2015-11-16 リンク列マッピング装置、リンク列マッピング方法、及びプログラム
JP2015-223641 2015-11-16
PCT/JP2016/084017 WO2017086364A1 (ja) 2015-11-16 2016-11-16 リンク列マッピング装置、リンク列マッピング方法、及びプログラム

Publications (2)

Publication Number Publication Date
CN108290293A CN108290293A (zh) 2018-07-17
CN108290293B true CN108290293B (zh) 2021-05-14

Family

ID=55541198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680067026.5A Active CN108290293B (zh) 2015-11-16 2016-11-16 链路序列映射装置,链路序列映射方法和程序

Country Status (4)

Country Link
US (1) US10899005B2 (zh)
JP (1) JP5892531B1 (zh)
CN (1) CN108290293B (zh)
WO (1) WO2017086364A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3296068B1 (en) * 2015-05-13 2019-10-23 National Institute of Advanced Industrial Science and Technology Robot behavior generation method
JP6378716B2 (ja) * 2016-04-27 2018-08-22 ソフトバンク株式会社 姿勢制御システム及びプログラム
JP6347335B2 (ja) 2016-12-07 2018-06-27 株式会社計数技研 ロボットシステム、位置関係取得装置、位置関係取得方法、及びプログラム
JP7382743B2 (ja) 2019-06-17 2023-11-17 株式会社ソニー・インタラクティブエンタテインメント ロボットシステム
JP2020203341A (ja) * 2019-06-17 2020-12-24 株式会社ソニー・インタラクティブエンタテインメント ロボット制御システム
JP7285703B2 (ja) * 2019-06-17 2023-06-02 株式会社ソニー・インタラクティブエンタテインメント ロボット制御システム

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063327A (ja) * 1996-08-16 1998-03-06 Nippon Telegr & Teleph Corp <Ntt> ロボット制御方法及び装置
CN1463215A (zh) * 2001-04-03 2003-12-24 索尼公司 有腿移动机器人及其动作教学方法和存储介质
JP2004227276A (ja) * 2003-01-23 2004-08-12 Advanced Telecommunication Research Institute International 人間のコミュニケーション行動記録システムおよび方法
JP2006088276A (ja) * 2004-09-24 2006-04-06 Advanced Telecommunication Research Institute International 動作生成システム
JP2006198709A (ja) * 2005-01-19 2006-08-03 Toyota Motor Corp 多関節ロボットに教示する動作データの作成装置と作成方法
CN1996205A (zh) * 2006-01-05 2007-07-11 财团法人工业技术研究院 动态动作捕捉与周边装置互动的方法与系统
JP2007315968A (ja) * 2006-05-26 2007-12-06 Univ Of Tokyo モーションキャプチャを用いた運動学パラメータの推定法及び装置
CN101227870A (zh) * 2005-05-19 2008-07-23 直观外科手术公司 用于外科手术及其它应用的软件中心和高度可配置的机器人系统
JP2010058260A (ja) * 2008-09-01 2010-03-18 Korea Advanced Inst Of Sci Technol 進化アルゴリズムと模倣学習に基づくロボットの動作制御方法
CN102470530A (zh) * 2009-11-24 2012-05-23 株式会社丰田自动织机 生成机器人的教导数据的方法以及机器人教导系统
CN103009402A (zh) * 2011-09-21 2013-04-03 精工爱普生株式会社 机械臂控制装置以及机械臂系统
CN103119644A (zh) * 2010-07-23 2013-05-22 奥尔德巴伦机器人公司 装备自然对话接口的类人机器人、用于控制机器人的方法和对应程序
CN103856385A (zh) * 2013-12-11 2014-06-11 北京邮电大学 一种基于链路优先的虚拟网络映射方法
WO2014088994A1 (en) * 2012-12-03 2014-06-12 Abb Technology Ag Teleoperation of machines having at least one actuated mechanism

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328196B2 (en) * 2003-12-31 2008-02-05 Vanderbilt University Architecture for multiple interacting robot intelligences
WO2005068136A1 (ja) * 2004-01-13 2005-07-28 Honda Motor Co., Ltd. 移動ロボットの歩容生成装置
WO2006086021A2 (en) * 2004-10-25 2006-08-17 University Of Dayton Method and system to provide improved accuracies in multi-jointed robots through kinematic robot model parameters determination
US7835820B2 (en) * 2005-10-11 2010-11-16 Vanderbilt University System and method for image mapping and visual attention
GB2492257B (en) * 2008-06-05 2013-02-13 Toshiba Machine Co Ltd Handling system, control device, control method, and program
WO2015153739A1 (en) * 2014-04-01 2015-10-08 University Of South Florida Systems and methods for planning a robot grasp based upon a demonstrated grasp

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063327A (ja) * 1996-08-16 1998-03-06 Nippon Telegr & Teleph Corp <Ntt> ロボット制御方法及び装置
CN1463215A (zh) * 2001-04-03 2003-12-24 索尼公司 有腿移动机器人及其动作教学方法和存储介质
JP2004227276A (ja) * 2003-01-23 2004-08-12 Advanced Telecommunication Research Institute International 人間のコミュニケーション行動記録システムおよび方法
JP2006088276A (ja) * 2004-09-24 2006-04-06 Advanced Telecommunication Research Institute International 動作生成システム
JP2006198709A (ja) * 2005-01-19 2006-08-03 Toyota Motor Corp 多関節ロボットに教示する動作データの作成装置と作成方法
CN101227870A (zh) * 2005-05-19 2008-07-23 直观外科手术公司 用于外科手术及其它应用的软件中心和高度可配置的机器人系统
CN1996205A (zh) * 2006-01-05 2007-07-11 财团法人工业技术研究院 动态动作捕捉与周边装置互动的方法与系统
JP2007315968A (ja) * 2006-05-26 2007-12-06 Univ Of Tokyo モーションキャプチャを用いた運動学パラメータの推定法及び装置
JP2010058260A (ja) * 2008-09-01 2010-03-18 Korea Advanced Inst Of Sci Technol 進化アルゴリズムと模倣学習に基づくロボットの動作制御方法
CN102470530A (zh) * 2009-11-24 2012-05-23 株式会社丰田自动织机 生成机器人的教导数据的方法以及机器人教导系统
CN103119644A (zh) * 2010-07-23 2013-05-22 奥尔德巴伦机器人公司 装备自然对话接口的类人机器人、用于控制机器人的方法和对应程序
CN103009402A (zh) * 2011-09-21 2013-04-03 精工爱普生株式会社 机械臂控制装置以及机械臂系统
WO2014088994A1 (en) * 2012-12-03 2014-06-12 Abb Technology Ag Teleoperation of machines having at least one actuated mechanism
CN103856385A (zh) * 2013-12-11 2014-06-11 北京邮电大学 一种基于链路优先的虚拟网络映射方法

Also Published As

Publication number Publication date
JP5892531B1 (ja) 2016-03-23
CN108290293A (zh) 2018-07-17
US10899005B2 (en) 2021-01-26
US20200180156A1 (en) 2020-06-11
WO2017086364A1 (ja) 2017-05-26
JP2017087377A (ja) 2017-05-25

Similar Documents

Publication Publication Date Title
CN108290293B (zh) 链路序列映射装置,链路序列映射方法和程序
US9192445B2 (en) Registration and navigation using a three-dimensional tracking sensor
CN202146362U (zh) 一种基于光学导航七自由度颅颌面手术辅助机械臂
WO2011065035A1 (ja) ロボットの教示データを作成する方法およびロボット教示システム
CN113327281A (zh) 运动捕捉方法、装置、电子设备以及拉花系统
US10814486B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
Dörfler et al. Interlacing: An experimental approach to integrating digital and physical design methods
CN113524201B (zh) 机械臂位姿主动调节方法、装置、机械臂和可读存储介质
US10410393B2 (en) Animating a virtual object in a virtual world
JP2021169149A (ja) 分解ベースのアセンブリ計画
JP2012164221A (ja) 骨格モデルの関節角度の曲がりにくさの制御装置,方法,及びプログラム
JP6529039B2 (ja) リンク列マッピング装置、リンク列マッピング方法、及びプログラム
US20230182307A1 (en) Jumping motion control method for biped robot, biped robot and computer-readable storage medium
JP6862849B2 (ja) 演算装置、演算方法、演算プログラムおよびロボットシステム
WO2017141573A1 (ja) 演算装置、演算方法及び演算プログラム
CN111053613B (zh) 一种运动追踪方法、装置、机械臂及计算机可读存储介质
CN114559432A (zh) 手术机械臂自动定位寻路方法、装置、机器人及存储介质
JPH11185055A (ja) 動きデータ作成装置およびそのプログラムを格納した記憶媒体
CN113643419B (zh) 一种基于深度学习的人体反向动力学求解方法
CN116652972B (zh) 基于双向贪心搜索算法的串联机器人末端轨迹规划方法
JP7081284B2 (ja) 演算装置、演算方法、および演算プログラム
JP2013206043A (ja) 動作計画装置、動作計画方法、動作計画処理プログラム
CN112720494A (zh) 机械臂避障运动规划方法和装置
CN114147705A (zh) 一种机器人的控制方法、装置、计算机设备以及存储介质
CN108657303A (zh) 六足动物机器人的转弯控制方法、装置和六足动物机器人

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20180823

Address after: Osaka Japan

Applicant after: Counting technology research

Address before: Hyogo

Applicant before: Early stone and wide open

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant