JP6816364B2 - 制御装置、ロボット、及びロボットシステム - Google Patents

制御装置、ロボット、及びロボットシステム Download PDF

Info

Publication number
JP6816364B2
JP6816364B2 JP2016034275A JP2016034275A JP6816364B2 JP 6816364 B2 JP6816364 B2 JP 6816364B2 JP 2016034275 A JP2016034275 A JP 2016034275A JP 2016034275 A JP2016034275 A JP 2016034275A JP 6816364 B2 JP6816364 B2 JP 6816364B2
Authority
JP
Japan
Prior art keywords
information
robot
unit
waypoint
control device
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
JP2016034275A
Other languages
English (en)
Other versions
JP2017148908A (ja
JP2017148908A5 (ja
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2016034275A priority Critical patent/JP6816364B2/ja
Priority to CN201710095925.2A priority patent/CN107116565B/zh
Priority to US15/440,367 priority patent/US10857675B2/en
Publication of JP2017148908A publication Critical patent/JP2017148908A/ja
Publication of JP2017148908A5 publication Critical patent/JP2017148908A5/ja
Application granted granted Critical
Publication of JP6816364B2 publication Critical patent/JP6816364B2/ja
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
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • 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
    • B25J13/085Force or torque sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • 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/37Measurements
    • G05B2219/37555Camera detects orientation, position workpiece, points of workpiece
    • 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/39446Display of manipulator and workpiece and jog directions
    • 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/39466Hand, gripper, end effector of manipulator
    • 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/45Nc applications
    • G05B2219/45097Cable harnessing robot
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/30End effector
    • Y10S901/31Gripping jaw
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device
    • Y10S901/47Optical

Description

この発明は、制御装置、ロボット、及びロボットシステムに関する。
ケーブルの引き回しを容易に行わせる技術の研究や開発が行われている。
これに関し、ケーブルを引き回す作業を容易に行わせることが可能な構造を有するロボットが知られている(特許文献1参照)。
特開2015−160305号公報
しかしながら、このようなロボットであっても、ケーブルの引き回しは、人手によって行われるため、作業効率を向上させることが困難な場合があった。また、人手によって引き回されたケーブルの状態は、ケーブルを引き回した人の技能によってばらつく場合があった。特に、ケーブルが上手く引き回されていなかった場合、ケーブルに不具合が生じる可能性があった。
上記課題の少なくとも一つを解決するために本発明の一態様は、第1物体に線状物体を引き回すための位置及び順番に関する第1情報に基づいてロボットを制御する制御部を備え、前記第1情報は受付部で受け付けられ、表示部で表示される、制御装置である。
この構成により、制御装置は、第1物体に線状物体を引き回すための位置及び順番に関する第1情報に基づいてロボットを制御する。これにより、制御装置は、線状物体を引き回す作業を容易に行うことができる。
また、本発明の他の態様は、制御装置において、前記表示部は、撮像部により撮像された前記第1物体の撮像画像を表示し、前記受付部は、前記表示部に表示された前記撮像画像に基づいて、前記第1情報を受け付ける、構成が用いられてもよい。
この構成により、制御装置は、表示部に表示された撮像画像に基づいて受け付けられた第1情報に基づいてロボットを制御する。これにより、制御装置は、表示部に表示された撮像画像に基づいて受け付けられた第1情報に基づいて、線状物体を引き回す作業を容易に行うことができる。
また、本発明の他の態様は、制御装置において、前記表示部は、前記第1物体のモデルを表示し、前記受付部は、前記表示部に表示された前記モデルに基づいて、前記第1情報を受け付ける、構成が用いられてもよい。
この構成により、制御装置は、表示部に表示されたモデルに基づいて受け付けられた第1情報に基づいてロボットを制御する。これにより、制御装置は、表示部に表示されたモデルに基づいて受け付けられた第1情報に基づいて、線状物体を引き回す作業を容易に行うことができる。
また、本発明の他の態様は、制御装置において、前記第1情報に基づいて前記ロボットの軌跡が軌跡生成部により生成され、前記軌跡は、曲線を含み、前記制御部は、前記軌跡に基づいて前記ロボットを制御する、構成が用いられてもよい。
この構成により、制御装置は、第1情報に基づいて生成されたロボットの軌跡に基づいてロボットを制御する。これにより、制御装置は、第1情報に基づいて生成されたロボットの軌跡に基づいて、線状物体を引き回す作業を容易に行うことができる。
また、本発明の他の態様は、制御装置において、前記受付部は、前記曲線の最小曲率に関する第2情報を受け付け、前記曲線は、前記最小曲率未満の曲線を含まない、構成が用いられてもよい。
この構成により、制御装置は、第1情報及び第2情報に基づいてロボットを制御する。これにより、制御装置は、第1情報及び第2情報に基づいて、線状物体を引き回す作業を容易に行うことができる。
また、本発明の他の態様は、制御装置において、前記受付部は、前記ロボットが前記線状物体を把持する把持力に関する第3情報を受け付ける、構成が用いられてもよい。
この構成により、制御装置は、第1情報及び第3情報に基づいてロボットを制御する。これにより、制御装置は、第1情報及び第3情報に基づいて、線状物体を引き回す作業を容易に行うことができる。
また、本発明の他の態様は、制御装置において、前記受付部は、前記ロボットが前記線状物体を再把持する場合の再把持位置に関する第4情報を受け付ける、構成が用いられてもよい。
この構成により、制御装置は、第1情報及び第4情報に基づいてロボットを制御する。これにより、制御装置は、第1情報及び第4情報に基づいて、線状物体を引き回す作業を容易に行うことができる。
また、本発明の他の態様は、制御装置において、前記ロボットは、力検出器を備え、前記制御部は、前記力検出器の出力に基づいて、前記線状物体の張力を変化させることが可能である、構成が用いられてもよい。
この構成により、制御装置は、力検出部の出力に基づいて、線状物体の張力を変化させる。これにより、制御装置は、第1情報及び力検出部の出力に基づいて、線状物体を引き回す作業を容易に行うことができる。
また、本発明の他の態様は、制御装置において、前記表示部は、前記第1情報に基づいて前記ロボットが動作した場合のシミュレーション結果に基づいた前記ロボットと前記第1物体との干渉位置を表示する、構成が用いられてもよい。
この構成により、制御装置は、表示部に表示されたロボットと第1物体との干渉位置に基づいてロボットを制御する。これにより、制御装置は、第1情報、及びロボットと第1物体との干渉位置に基づいて、線状物体を引き回す作業を容易に行うことができる。
また、本発明の他の態様は、上記に記載の制御装置に制御される、ロボットである。
この構成により、ロボットは、第1情報に基づいて第1物体に線状物体を引き回す。これにより、ロボットは、線状物体を引き回す作業を容易に行うことができる。
また、本発明の他の態様は、上記に記載の制御装置と、前記制御装置によって制御されるロボットと、を備えるロボットシステムである。
この構成により、ロボットシステムは、第1情報に基づいて第1物体に線状物体を引き回す。これにより、ロボットシステムは、線状物体を引き回す作業を容易に行うことができる。
以上により、制御装置、ロボット、及びロボットシステムは、第1情報に基づいて第1物体に線状物体を引き回す。これにより、制御装置、ロボット、及びロボットシステムは、線状物体を引き回す作業を容易に行うことができる。
本実施形態に係るロボットシステム1の構成の一例を示す図である。 第1物体Oの上面図の一例である。 情報処理装置30及び制御装置40のハードウェア構成の一例を示す図である。 情報処理装置30及び制御装置40の機能構成の一例を示す図である。 情報処理装置30が教示画面を表示する処理の流れの一例を示すフローチャートである。 教示画面の一例を示す図である。 情報処理装置30のタッチパネルに対する操作に基づく視点を当該タッチパネルに対するタッチ操作によって変更する様子の一例を示す図である。 付加情報入力画面G3が表示された状態の教示画面G1の一例を示す図である。 軌跡生成部363が仮軌跡に基づいて生成した経由点を経由点の位置に基づいて教示画面G1に重ねた場合のイメージ図である。 仮想空間表示領域VSに経由点軌跡が表示された状態の教示画面G1の一例を示す図である。 シミュレーション部365が実行したシミュレーションの結果が仮想空間表示領域VSに表示された状態の教示画面G1の一例を示す図である。 アームVAと他の物体との干渉が生じた位置を示す情報が表示された状態の教示画面G1の一例を示す図である。 制御装置40がロボット20に所定の作業を行わせる処理の流れの一例を示すフローチャートである。 ロボット20がケーブルCの端部C1と異なる部位を把持している場合におけるロボットシステム1の構成の一例を示す図である。 教示画面G1の仮想空間表示領域VSに経由点軌跡が表示された状態においてユーザーが経由点の把持力を手繰り把持力に変更している様子の一例を示す図である。 再把持動作を含む所定の作業をロボット20に行わせる際のロボットシステム1の構成の一例を示す図である。
<実施形態>
以下、本発明の実施形態について、図面を参照して説明する。
<ロボットシステムの構成>
まず、ロボットシステム1の構成について説明する。
図1は、本実施形態に係るロボットシステム1の構成の一例を示す図である。ロボットシステム1は、撮像部10と、ロボット20と、情報処理装置30と、制御装置40を備える。
撮像部10は、例えば、集光された光を電気信号に変換する撮像素子であるCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等を備えたカメラである。この一例において、撮像部10は、ロボット20が作業を行うことが可能な領域を含む範囲を撮像可能な位置に設置される。
撮像部10は、ケーブルによって制御装置40と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。なお、撮像部10は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって制御装置40と接続される構成であってもよい。
ロボット20は、アームAと、アームAを支持する支持台Bを備える単腕ロボットである。単腕ロボットは、この一例におけるアームAのような1本のアーム(腕)を備えるロボットである。なお、ロボット20は、単腕ロボットに代えて、複腕ロボットであってもよく、ガントリロボットのような直動ロボットであってもよく、スカラロボットであってもよく、その他のロボットであってもよい。複腕ロボットは、2本以上のアーム(例えば、2本以上のアームA)を備えるロボットである。なお、複腕ロボットのうち、2本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット20は、2本のアームを備える双腕ロボットであってもよく、3本以上のアーム(例えば、3本以上のアームA)を備える複腕ロボットであってもよい。
アームAは、エンドエフェクターEと、マニピュレーターMと、力検出部21を備える。
エンドエフェクターEは、物体を把持するエンドエフェクターである。この一例において、エンドエフェクターEは、指部を備え、当該指部によって物体を挟んで持つことにより当該物体を把持する。なお、エンドエフェクターEは、これに代えて、空気の吸引や磁力、他の治具等によって物体を持ち上げることにより当該物体を把持する構成であってもよい。すなわち、この一例において、把持するとは、物体を持ち上げることが可能な状態にすることを意味する。
エンドエフェクターEは、ケーブルによって制御装置40と通信可能に接続されている。これにより、エンドエフェクターEは、制御装置40から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、エンドエフェクターEは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって制御装置40と接続される構成であってもよい。
マニピュレーターMは、7つの関節を備える。また、7つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、マニピュレーターMを備えるアームAは、7軸垂直多関節型のアームである。なお、アームAは、これに代えて、7軸水平多関節型のアームであってもよい。アームAは、支持台Bと、エンドエフェクターEと、マニピュレーターMと、マニピュレーターMが備える7つの関節それぞれのアクチュエーターとによる連携した動作によって7軸の自由度の動作を行う。なお、アームAは、6軸以下の自由度で動作する構成であってもよく、8軸以上の自由度で動作する構成であってもよい。
アームAが7軸の自由度で動作する場合、アームAは、6軸以下の自由度で動作する場合と比較して取り得る姿勢が増える。これによりアームAは、例えば、動作が滑らかになり、更にアームAの周辺に存在する物体との干渉を容易に回避することができる。また、アームAが7軸の自由度で動作する場合、アームAの制御は、アームAが8軸以上の自由度で動作する場合と比較して計算量が少なく容易である。
マニピュレーターMが備える7つの(関節に備えられた)アクチュエーターはそれぞれ、ケーブルによって制御装置40と通信可能に接続されている。これにより、当該アクチュエーターは、制御装置40から取得される制御信号に基づいて、マニピュレーターMを動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、マニピュレーターMが備える7つのアクチュエーターのうちの一部又は全部は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって制御装置40と接続される構成であってもよい。
力検出部21は、エンドエフェクターEとマニピュレーターMの間に備えられる。力検出部21は、例えば、力センサーである。力検出部21は、エンドエフェクターE、又はエンドエフェクターEにより把持された物体に作用した力やモーメント(トルク)を検出する。力検出部21は、検出した力やモーメントの大きさを示す値を出力値として含む力検出情報を通信により制御装置40へ出力する。
力検出情報は、制御装置40によるアームAの力検出情報に基づく制御に用いられる。力検出情報に基づく制御は、例えば、インピーダンス制御等のコンプライアントモーション制御のことである。なお、力検出部21は、トルクセンサー等のエンドエフェクターE、又はエンドエフェクターEにより把持された物体に加わる力やモーメントの大きさを示す値を検出する他のセンサーであってもよい。
力検出部21は、ケーブルによって制御装置40と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、力検出部21と制御装置40とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続される構成であってもよい。
制御装置40は、この一例において、ロボットコントローラー(ロボット制御装置)である。制御装置40は、エンドエフェクターEの所定位置に、エンドエフェクターEとともに動くTCP(Tool Center Point)である制御点T1を設定する。所定位置は、例えば、エンドエフェクターEを回動させるマニピュレーターMのアクチュエーターの回動軸上の位置であって、エンドエフェクターEの重心からエンドエフェクターEの指部の側に所定距離だけ離れた位置である。なお、所定位置は、これに代えて、エンドエフェクターEに対応付けられた他の位置であってもよい。所定距離は、例えば、当該指部の端部のうちのマニピュレーターMと反対側の端部から当該重心までの当該回動軸に沿った距離である。なお、所定距離は、これに代えて、他の距離であってもよい。
制御点T1には、制御点T1の位置を示す情報である制御点位置情報と、制御点T1の姿勢を示す情報である制御点姿勢情報とが対応付けられている。なお、制御点T1には、これらに加えて、他の情報が対応付けられる構成であってもよい。制御点位置情報及び制御点姿勢情報を制御装置40が指定(決定)すると、制御点T1の位置及び姿勢が決まる。制御装置40は、制御点位置情報を指定し、指定した制御点位置情報が示す位置に制御点T1の位置が一致するようにアームAを動作させる。また、制御装置40は、制御点姿勢情報を指定し、指定した制御点姿勢情報が示す姿勢に制御点T1の姿勢が一致するようにアームAを動作させる。
この一例において、制御点T1の位置は、制御点T1とともに動くように制御点T1に対応付けられた三次元局所座標系である制御点座標系TC1の原点のロボット座標系RCにおける位置によって表される。また、制御点T1の姿勢は、制御点座標系TC1の各座標軸の方向によって表される。
制御装置40は、予めユーザーから入力された制御点設定情報に基づいて制御点T1を設定する。制御点設定情報は、例えば、エンドエフェクターEの重心の位置及び姿勢と制御点T1の位置及び姿勢との相対的な位置及び姿勢を示す情報である。なお、制御点設定情報は、これに代えて、エンドエフェクターEに対応付けられた何らかの位置及び姿勢と制御点T1の位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよく、マニピュレーターMに対応付けられた何らかの位置及び姿勢と制御点T1の位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよい。
制御装置40は、情報処理装置30から経由点情報を取得する。経由点情報は、経由点を示す情報である。経由点は、制御装置40がアームAを動作させる際に制御点T1を経由(通過)させる複数の点である。経由点には、経由点位置情報と、経由点姿勢情報と、経由点順番情報と、経由点速さ情報と、経由点把持力情報が対応付けられている。経由点位置情報は、経由点の位置を示す情報である。また、経由点姿勢情報は、経由点の姿勢を示す情報である。また、経由点順番情報は、経由点に対応付けられた順番を示す情報である。経由点速さ情報は、経由点に対応付けられた速さを示す情報である。当該速さは、制御点T1(又はエンドエフェクターE)を移動させる速さである。経由点把持力情報は、経由点に対応付けられた把持力を示す情報である。当該把持力は、エンドエフェクターEの指部が物体を把持する力である。
この一例において、各経由点の位置は、各経由点に対応付けられた三次元局所座標系である経由点座標系の原点のロボット座標系RCにおける位置によって表される。また、経由点の姿勢は、経由点座標系の各座標軸の方向によって表される。
制御装置40は、制御点位置情報及び制御点姿勢情報を指定し、制御点T1の位置及び姿勢が経由点の位置及び姿勢と一致するようにアームAを動作させることにより、制御点T1と経由点を一致させる。また、制御装置40は、経由点の順番に基づいて順に各経由点に制御点T1を一致させる。また、制御装置40は、経由点の速さに基づいて、各経由点を制御点T1が通過する際の速さを決定する。また、制御装置40は、経由点の把持力に基づいて、各経由点を制御点T1が通過する際にエンドエフェクターEが物体を把持する把持力を決定する。これらにより、制御装置40は、アームAを動作させ、エンドエフェクターEの位置及び姿勢を変化させる。
制御装置40は、取得した経由点情報に基づいて、各経由点に制御点T1を一致させるようにマニピュレーターMのアクチュエーターを制御する信号を含む制御信号を生成する。当該制御信号には、エンドエフェクターEの指部を動かす信号等の他の信号も含まれる。そして、制御装置40は、生成した制御信号をロボット20に送信し、ロボット20に所定の作業を行わせる。
制御装置40は、この一例において、ロボット20の外部に設置されている。なお、制御装置40は、ロボット20の外部に設置される構成に代えて、ロボット20に内蔵される構成であってもよい。
情報処理装置30は、例えば、ノートPC(Personal Computer)である。なお、情報処理装置30は、これに代えて、ティーチングペンダント、デスクトップPC、タブレットPC、多機能携帯電話端末(スマートフォン)、携帯電話端末、PDA(Personal Digital Assistant)等の他の情報処理装置であってもよい。
情報処理装置30は、この一例において、ユーザーが教示点を入力する教示画面を表示する。教示点は、情報処理装置30が経由点情報を生成するために用いる点である。教示点には、教示点位置情報と、教示点姿勢情報と、教示点順番情報と、教示点速さ情報と、教示点把持力情報が対応付けられている。教示点位置情報は、教示点の位置を示す情報である。また、教示点姿勢情報は、教示点の姿勢を示す情報である。また、教示点順番情報は、教示点に対応付けられた順番を示す情報である。教示点速さ情報は、教示点に対応付けられた速さを示す情報である。教示点把持力情報は、教示点に対応付けられた把持力を示す情報である。情報処理装置30は、教示画面からユーザーが入力したこれらの情報を受け付ける。情報処理装置30は、受け付けた当該情報に基づいた教示点を生成する。情報処理装置30は、生成した教示点に基づいて経由点情報を生成する。情報処理装置30は、生成した経由点情報を制御装置40に出力する。
情報処理装置30は、ケーブルによって制御装置40と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、情報処理装置30と制御装置40とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続される構成であってもよい。また、情報処理装置30は、制御装置40と一体に構成されてもよい。この場合、制御装置40は、以下において説明する情報処理装置30の各機能を有する。
<ロボットが行う所定の作業の概要>
以下、ロボット20が行う所定の作業の概要について説明する。
ロボット20は、物体に線状物体を引き回す作業を所定の作業として行う。線状物体を物体に引き回す作業は、この一例において、当該物体に応じた経由点軌跡に沿って線状物体を引っ張りながら当該物体に取り付ける(配置する)作業のことである。経由点軌跡は、情報処理装置30が生成する経由点情報が示す各経由点を、各経由点の順番の順に線で結ぶことによって得られる軌跡である。当該線は、この一例において、直線である。なお、当該線は、曲線を含む構成であってもよい。線状物体を引っ張りながら当該物体に取り付ける作業の例としては、何らかの装置の筐体内部の壁面に設けられた1以上のケーブルクランプに、線状物体の一例であるケーブルを引っ掛けながら筐体に配線(配置)する作業等が挙げられる。
線状物体は、破断させることなく曲げることが可能な物体である。例えば、線状物体は、通信用のケーブル、給電用のケーブル、他の配線、配管、血管のような生体の管等である。以下では、一例として、線状物体が図1に示したケーブルCである場合について説明する。線状物体が引き回される物体は、例えば、プリンターやプロジェクター等の産業用の装置や当該装置の部品、産業用ではない日用品の装置や当該装置の部品、臓器等の生体等である。以下では、一例として、当該物体が図1に示した第1物体Oである場合について説明する。
この一例において、第1物体Oは、図1に示したように作業台TBの上面に載置されている。第1物体Oは、板状の物体であり、上面に3つの円柱形状の突起部O1〜突起部O3が形成された物体である。突起部O1〜突起部O3のそれぞれは、ケーブルCを第1物体Oに引き回す際にケーブルCを引っ掛けるための部位である。なお、第1物体Oの形状は、このような形状に代えて、他の形状であってもよい。また、突起部O1〜突起部O3の一部又は全部の形状は、円柱形状に代えて、他の形状であってもよい。作業台TBは、この一例において、テーブルである。なお、作業台TBは、テーブルに代えて、床面や棚等の第1物体Oを配置可能な物体であれば他の物体であってもよい。
この一例において、ロボット20は、ケーブルCの2つの端部のうちの一方である端部C1を予め把持している。なお、所定の作業には、所定のケーブル置き場に置かれたケーブルCを把持する動作が含まれる構成であってもよい。
ロボット20は、制御装置40から取得した制御信号に基づいて、各経由点の順番の順に各経由点と制御点T1とを一致させていくことにより、端部C1を把持したエンドエフェクターEを移動させる。これにより、ロボット20は、制御装置40が情報処理装置30から取得した経由点情報に基づく経由点軌跡に沿ってケーブルCを引っ張りながら第1物体Oに取り付ける。すなわち、ロボット20は、制御装置40から取得した経由点情報に基づいて、ケーブルCを第1物体Oに引き回す。
ここで、図2を参照し、ロボット20が行う所定の作業について説明する。図2は、第1物体Oの上面図の一例である。例えば、ロボット20は、エンドエフェクターEによって端部C1が把持されたケーブルCを、図2に示した経由点軌跡L0に沿って引っ張る。そして、ロボット20は、ケーブルCを突起部O1〜突起部O3のそれぞれに引っ掛けて第1物体Oに取り付ける。ロボット20に引き回しされた後のケーブルCは、ロボット20が引っ張ることによって張力を加えない限りたわむ(緩む)。このため、ケーブルCは、必ずしもロボット20による引き回しによって経由点軌跡L0に完全に沿って取り付けられるわけではなく、経由点軌跡L0からずれて取り付けられる。図2に示した例では、ケーブルCは、このように経由点軌跡L0からずれて取り付けられている。以上のように、ロボット20は、ケーブルCを第1物体Oに引き回す作業を所定の作業として行う。なお、所定の作業は、これに代えて、何らかの経由点軌跡に沿ってケーブルCを引っ張りながら行う他の作業であってもよい。
<情報処理装置が経由点情報を生成する処理の概要>
以下、情報処理装置30が経由点情報を生成する処理の概要について説明する。
情報処理装置30は、表示した教示画面からユーザーにより、教示点位置情報と、教示点姿勢情報と、教示点順番情報と、教示点速さ情報と、教示点把持力情報を入力される。情報処理装置30は、入力されたこれらの情報に基づいて教示点を生成する。そして、情報処理装置30は、生成した教示点に基づいて経由点情報を生成する。
具体的には、情報処理装置30は、生成した教示点に基づいて仮軌跡を算出する。仮軌跡は、自由曲線を算出する方法に基づいて、各教示点が各教示点の順番の順に線で結ばれた自由曲線によって表される軌跡のことである。なお、仮軌跡は、軌跡の一例である。以下では、一例として、自由曲線がベジェ曲線である場合について説明する。この場合、教示点は、3以上必要である。なお、自由曲線は、これに代えて、スプライン曲線等の教示点に基づく他の曲線であってもよい。
情報処理装置30は、算出した仮軌跡に基づいて経由点情報を生成する。具体的には、情報処理装置30は、所定の条件に基づいて、仮軌跡上において各経由点が等間隔に離れて位置するように所定の数Nの経由点を生成する。所定の条件は、この一例において、生成する所定の数Nの経由点には、各教示点のそれぞれと一致する経由点が含まれていることである。なお、所定の条件は、他の条件であってもよく、なくてもよい。教示点と経由点が一致することは、この一例において、教示点に対応付けられた情報と、経由点に対応付けられた情報とが一致することを意味する。このように教示点と一致する経由点を、以下では説明の便宜上、一致点と称して説明する。所定の数Nは、例えば、100である。なお、所定の数Nは、これに代えて、他の数であってもよい。
また、情報処理装置30は、生成した各経由点のうちの一致点ではない経由点の姿勢を、各一致点の姿勢に基づいて算出する。例えば、情報処理装置30は、1番目の一致点の姿勢から2番目の一致点の姿勢に至るまでの姿勢の変化量と、1番目の一致点から2番目の一致点までの各経由点間の姿勢の変化量の総和とが一致するように1番目の一致点と2番目の一致点との間に含まれている各経由点の姿勢を算出する。情報処理装置30は、生成した各経由点のうちの一致点ではない経由点のそれぞれについて算出した姿勢を、当該経由点のそれぞれに対応付ける。
また、情報処理装置30は、生成した各経由点のうちの一致点ではない経由点の速さを、各一致点の速さに基づいて算出する。例えば、情報処理装置30は、1番目の一致点の速さから2番目の一致点の速さに至るまでの速さの変化量と、1番目の一致点から2番目の一致点までの各経由点間の速さの変化量の総和とが一致するように1番目の一致点と2番目の一致点との間に含まれている各経由点の速さを算出する。情報処理装置30は、生成した各経由点のうちの一致点ではない経由点のそれぞれについて算出した速さを、当該経由点のそれぞれに対応付ける。
また、情報処理装置30は、生成した各経由点のうちの一致点ではない経由点の把持力を、各一致点の把持力に基づいて算出する。例えば、情報処理装置30は、1番目の一致点の把持力から2番目の一致点の把持力に至るまでの把持力の変化量と、1番目の一致点から2番目の一致点までの各経由点間の把持力の変化量の総和とが一致するように1番目の一致点と2番目の一致点との間に含まれている各経由点の把持力を算出する。情報処理装置30は、生成した各経由点のうちの一致点ではない経由点のそれぞれについて算出した把持力を、当該経由点のそれぞれに対応付ける。
また、情報処理装置30は、生成した各経由点の順番を、各一致点の順番に基づいて算出する。例えば、情報処理装置30は、所定の数Nが100の場合、1番目の一致点の順番を1番目として特定し、順番が最後の一致点の順番が100番目となるように1番目の一致点の隣の経由点から順に当該最後の一致点まで順番を対応付ける。
このようにして、情報処理装置30は、経由点の数よりも少ない数の教示点をユーザーから入力されることにより、ロボット20にケーブルCを引き回す作業を行わせるための経由点を生成する。情報処理装置30は、生成した経由点を示す経由点情報を生成する。そして、情報処理装置30は、経由点情報を制御装置40に出力する。これにより、ユーザーは、情報処理装置30を利用することによって、ロボット20にケーブルCを引き回す作業を容易に行わせることができる。
なお、情報処理装置30は、教示点姿勢情報と、教示点速さ情報と、教示点把持力情報とのうちの一部又は全部を教示画面からユーザーにより入力されない構成であってもよい。この場合、情報処理装置30は、第1物体OにケーブルCを引き回すための位置及び順番に関する情報として、教示点位置情報と教示点順番情報とを教示画面からユーザーにより入力される。そして、情報処理装置30は、入力された教示点位置情報と教示点順番情報とに基づいて教示点を生成する。情報処理装置30は、生成した教示点に基づいて経由点情報を生成する。教示点位置情報及び教示点姿勢情報は、第1情報の一例である。
また、教示点位置情報は、この一例において、ロボット座標系RCにおけるX軸方向、Y軸方向、Z軸方向のそれぞれにおける位置を示す。情報処理装置30は、ユーザーによりこれらの3つの位置を示す情報を教示点位置情報として入力される際、当該3つの位置を全部まとめて入力される構成であってもよく、当該3つの位置を別々に入力される構成であってもよい。以下では、一例として、情報処理装置30が当該3つの位置を別々に入力される場合について説明する。
<制御装置が行う処理の概要>
以下、制御装置40が行う処理の概要について説明する。
制御装置40は、情報処理装置30から経由点情報を取得する。制御装置40は、取得した経由点情報に基づいてロボット20を制御する。換言すると、制御装置40は、情報処理装置30が受け付けた教示点位置情報及び教示点姿勢情報、又は教示点位置情報及び教示点姿勢情報に基づいて生成された仮軌跡に基づいてロボット20を制御し、ロボット20に所定の作業を行わせる。これにより、制御装置40は、ケーブルCを引き回す作業を容易に行うことができる。また、制御装置40は、ロボット20にケーブルCを引き回させるため、複数の第1物体Oのそれぞれに対して所定の作業を行った場合であっても、第1物体O毎に引き回されたケーブルCの状態をばらつかせずに一定の品質を保つことができる。その結果、制御装置40は、当該状態がばらついてしまうことによる不具合が生じる可能性を抑制することができる。
本実施形態では、情報処理装置30が経由点情報を生成する処理と、制御装置40がロボット20に所定の作業を行わせる処理について詳しく説明する。
<ロボット制御装置のハードウェア構成>
以下、図3を参照し、情報処理装置30及び制御装置40のハードウェア構成について説明する。図3は、情報処理装置30及び制御装置40のハードウェア構成の一例を示す図である。図3は、情報処理装置30のハードウェア構成(30番台の符号が付された機能部)と、制御装置40のハードウェア構成(40番台の符号が付された機能部)とを便宜的に重ねて示した図である。
情報処理装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34と、表示部35を備える。また、情報処理装置30は、通信部34を介して制御装置40と通信を行う。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。
制御装置40は、例えば、CPU41と、記憶部42と、入力受付部43と、通信部44と、表示部45を備える。また、制御装置40は、通信部44を介してロボット20及び情報処理装置30と通信を行う。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。
CPU31は、記憶部32に格納された各種プログラムを実行する。
記憶部32は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、ROM(Read−Only Memory)、RAM(Random Access Memory)等を含む。なお、記憶部32は、情報処理装置30に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部32は、情報処理装置30が処理する各種情報や画像、プログラムを格納する。
入力受付部33は、例えば、表示部35と一体に構成されたタッチパネルである。なお、入力受付部33は、キーボードやマウス、タッチパッド、その他の入力装置であってもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
CPU41は、記憶部42に格納された各種プログラムを実行する。
記憶部42は、例えば、HDDやSSD、EEPROM、ROM、RAM等を含む。なお、記憶部42は、制御装置40に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部42は、制御装置40が処理する各種情報や画像、プログラムを格納する。
入力受付部43は、例えば、表示部45と一体に構成されたタッチパネルである。なお、入力受付部43は、キーボードやマウス、タッチパッド、その他の入力装置であってもよい。
通信部44は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部45は、例えば、液晶ディスプレイパネル、あるいは、有機ELディスプレイパネルである。
<情報処理装置及び制御装置の機能構成>
以下、図4を参照し、情報処理装置30及び制御装置40の機能構成について説明する。図4は、情報処理装置30及び制御装置40の機能構成の一例を示す図である。
情報処理装置30は、記憶部32と、通信部34と、表示部35と、制御部36を備える。
制御部36は、情報処理装置30の全体を制御する。制御部36は、表示制御部361と、軌跡生成部363と、経由点生成部364と、シミュレーション部365と、撮像制御部366と、画像取得部367と、経由点情報出力部368を備える。制御部36が備えるこれらの機能部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
表示制御部361は、表示部35に表示させる各種の画面を生成する。表示制御部361は、生成した画面を表示部35に表示させる。
軌跡生成部363は、入力受付部33によってユーザーから入力された(受け付けた)教示点に基づいて、仮軌跡を生成する。
経由点生成部364は、軌跡生成部363が生成した仮軌跡に基づいて経由点を生成する。また、経由点生成部364は、生成した経由点に基づいて、当該経由点を示す経由点情報を生成する。
シミュレーション部365は、経由点生成部364が生成した経由点に基づいたシミュレーションを実行する。当該シミュレーションは、経由点生成部364が生成した経由点に基づいてロボット20が所定の作業を行った場合の動作を仮想空間V内における仮想的なロボット20に行わせる処理である。仮想空間Vは、第1物体O等の実空間内におけるロボット20の所定の作業に関係する物体が仮想的に含まれた仮想空間である。仮想空間Vにおける位置を示す座標は、キャリブレーションによりロボット座標系RCにおける位置を示す座標と対応付けられている。また、ロボット座標系RCにおける位置を示す座標は、キャリブレーションにより実空間(ワールド座標系)における位置を示す座標と対応付けられている。シミュレーション部365は、実行したシミュレーションの結果を示す動画を表示制御部361により表示部35に表示させる。
撮像制御部366は、撮像部10が撮像可能な範囲を撮像部10に撮像させる。
画像取得部367は、撮像部10が撮像した撮像画像を撮像部10から取得する。
経由点情報出力部368は、経由点生成部364が生成した経由点情報を通信部34により制御装置40に出力する。
制御装置40は、記憶部42と、通信部44と、制御部46を備える。
制御部46は、制御装置40の全体を制御する。制御部46は、撮像制御部461と、画像取得部462と、力検出情報取得部463と、経由点情報取得部464と、位置検出部465と、ロボット制御部466を備える。制御部46が備えるこれらの機能部は、例えば、CPU41が、記憶部42に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、LSIやASIC等のハードウェア機能部であってもよい。
撮像制御部461は、撮像部10が撮像可能な範囲を撮像部10に撮像させる。
画像取得部462は、撮像部10が撮像した撮像画像を撮像部10から取得する。
力検出情報取得部463は、力検出部21から力検出情報を取得する。
経由点情報取得部464は、情報処理装置30から経由点情報を取得する。
位置検出部465は、画像取得部462が取得した撮像画像に基づいて各種の位置を検出する。
ロボット制御部466は、経由点情報取得部464が取得した経由点情報に基づいてロボット20を動作させ、ロボット20に所定の作業を行わせる。
<情報処理装置が教示画面を表示する処理>
以下、図5を参照し、情報処理装置30が教示画面を表示する処理について説明する。図5は、情報処理装置30が教示画面を表示する処理の流れの一例を示すフローチャートである。
表示制御部361は、記憶部32から教示画面情報を読み出す。教示画面情報は、教示画面を生成するために必要な情報であり、例えば、HTML(HyperText Markup Language)やCSS(Cascading Style Sheets)によって構成される情報である。また、教示画面情報は、記憶部32に予め記憶された情報である。表示制御部361は、記憶部32から読み出した教示画面情報に基づいて教示画面を生成する(ステップS110)。次に、表示制御部361は、ステップS110において生成した教示画面を表示部35に表示させ(ステップS120)、処理を終了する。
<教示画面においてユーザーにより行われる操作に基づいて情報処理装置が行う処理>
以下、図6〜12を参照し、教示画面と、ユーザーにより行われる操作に基づいて情報処理装置が行う処理について説明する。図6は、教示画面の一例を示す図である。図6に示した教示画面G1には、仮想空間表示領域VSと、ボタンB0と、ボタンB1と、ボタンB2と、ボタンB3が含まれている。なお、教示画面G1には、これらに加えて、他のGUI(Graphical User Interface)が含まれる構成であってもよい。
仮想空間表示領域VSは、前述の仮想空間Vを表示する領域である。表示制御部361は、ユーザーにより予め入力された情報に基づいて仮想空間Vを生成する。当該情報は、仮想空間V内に配置する物体の形状や位置等を示す情報である。表示制御部361は、生成した仮想空間Vを仮想空間表示領域VSに表示させる。この一例における仮想空間Vには、図6に示したように仮想的な第1物体Oである第1物体VOが含まれる。第1物体VOは、実空間の第1物体Oが有する突起部O1〜突起部O3のそれぞれに対応する仮想的な突起部VO1〜突起部VO3を有する。すなわち、第1物体VOの形状は、第1物体Oの形状と同じ形状である。
表示制御部361は、情報処理装置30のタッチパネル(入力受付部33)に対する操作に基づく視点から仮想空間V内を見た場合に見える仮想空間V内を仮想空間表示領域VSに表示させる。図6では、第1物体VOの上面の直上に位置する視点から第1物体VOの重心に向かって仮想空間V内を見た場合に見える仮想空間V内が表示されている。この一例において、表示制御部361は、デフォルト状態において、当該視点から当該重心に向かって仮想空間V内を見た場合に見える仮想空間V内を仮想空間表示領域VSに表示させる。デフォルト状態は、この一例において、教示画面G1を表示させてから当該タッチパネルに対する操作が行われる前までの状態のことである。このため、図6に示した仮想空間表示領域VSには、仮想空間V内における第1物体VOの上面を含む範囲が表示されている。なお、表示制御部361は、デフォルト状態において、当該視点と位置が異なる視点から当該重心に向かって仮想空間V内を見た場合に見える仮想空間V内を仮想空間表示領域VSに表示させる構成であってもよい。
教示画面G1において、情報処理装置30のタッチパネルに対する操作に基づく視点は、当該タッチパネルに対するタッチ操作によって変更することができる。図7は、情報処理装置30のタッチパネルに対する操作に基づく視点を当該タッチパネルに対するタッチ操作によって変更する様子の一例を示す図である。例えば、図7に示すように当該タッチパネルを図7に示した矢印が示す方向AR1にスワイプした場合、表示制御部361は、方向AR1と逆の方向に当該視点を移動させる。そして、表示制御部361は、移動させた当該視点から第1物体VOの重心に向かって仮想空間V内を見た場合に見える仮想空間V内を仮想空間表示領域VSに表示させる。ここで、図7において、指F1は、スワイプする前のユーザーの指の位置を示しており、指F2は、スワイプした後のユーザーの指の位置を示している。なお、表示制御部361は、スワイプによって当該視点を移動させる移動量を、当該タッチパネルに対して行われたスワイプの距離に基づいて算出する。このような当該視点の移動により、表示制御部361は、ユーザーが所望する視点から第1物体VOの重心に向かって仮想空間V内を見た場合の仮想空間V内を仮想空間表示領域VSに表示させることができる。
なお、表示制御部361は、仮想空間表示領域VSに仮想空間Vを表示させる構成に代えて、撮像部10により撮像した撮像画像を仮想空間表示領域VSに表示させる構成であってもよい。この場合、表示制御部361は、撮像制御部461により撮像部10が撮像可能な撮像範囲を撮像部10に撮像させる。そして、表示制御部361は、画像取得部462により撮像部10から撮像部10が撮像した撮像画像を取得する。表示制御部361は、取得した撮像画像を仮想空間表示領域VSに表示させる。なお、この場合、表示制御部361は、仮想空間表示領域VSに仮想空間Vを表示させる場合と異なり、図7において説明したような情報処理装置30のタッチパネルに対する操作に基づく視点の移動を行わない。
また、ユーザーは、仮想空間表示領域VS上をタップすることによって、タップした位置が示す仮想空間V内の位置に教示点を追加(入力、生成)することができる。表示制御部361は、ユーザーにより仮想空間表示領域VS上をタップされた場合、タップされた位置が示す仮想空間V内の位置に、当該位置を示す教示点位置情報が対応付けられた教示点を生成する。当該位置は、仮想空間V内のX軸方向及びY軸方向における位置に対応付けられたロボット座標系RCのX軸方向及びY軸方向における位置である。この一例では、前述したように、教示点にはロボット座標系RCのZ軸方向における位置が後から対応付けられる。なお、仮想空間V内のX軸方向及びY軸方向は、この一例において、第1物体VOの上面に沿った方向である。
また、表示制御部361は、教示点が生成したことをユーザーに知らせるため、生成した教示点に対応付けられたロボット座標系RCのX軸方向及びY軸方向における位置に基づいて、当該位置に対応付けられた仮想空間V内のX軸方向及びY軸方向における位置に教示点を表す情報を追加する(表示させる)。図6及び図7に示した例では、仮想空間V内において追加(表示)された教示点を表す情報は、二点鎖線の円TP1〜円TP5のそれぞれによって表されている。なお、当該情報は、例えば、星印等の印や光の明滅等の他の情報であってもよい。
また、表示制御部361は、この一例において、ユーザーによるタップにより教示点を生成した回数を記憶し、記憶されている回数に1を足した数を順番として、新たに生成した教示点に対応付ける。なお、当該回数の初期値は、ゼロである。表示制御部361は、教示画面が生成される毎に当該回数を初期値に初期化する。例えば、表示制御部361は、円TP1が表わす教示点を1番目に生成した場合、当該教示点に1番目を示す教示点順番情報を対応付ける。
また、表示制御部361は、仮想空間V内に教示点を表す情報を追加した(表示させた)後、追加(表示)された当該情報が表わす教示点の姿勢を示す教示点姿勢情報を入力する姿勢入力画面を仮想空間表示領域VSに表示された仮想空間Vに重ねて表示させる。図6に示した例では、表示制御部361は、円TP5を仮想空間表示領域VSに表示させた後、姿勢入力画面G2を仮想空間表示領域VSに表示された仮想空間Vに重ねて表示させている。ユーザーは、姿勢入力画面G2を用いて、所望の姿勢を円TP5が表わす教示点に対応付けることができる。すなわち、表示制御部361は、姿勢入力画面G2から受け付けられた教示点姿勢情報を、円TP5が表わす教示点に対応付ける。表示制御部361は、ユーザーにより姿勢入力画面G2に教示点姿勢情報が入力された後、姿勢入力画面G2を仮想空間表示領域VSから削除する。例えば、表示制御部361は、姿勢入力画面G2を所定の時間内において2回タップされた場合、姿勢入力画面G2への教示点姿勢情報の入力が終了したと判定する。所定の時間は、例えば、1秒程度である。なお、所定の時間は、他の時間であってもよい。
ボタンB0は、教示点の追加(仮想空間V内に教示点を表す情報の追加)を終了させるボタンである。ユーザーがボタンB0をタップした場合、表示制御部361は、ユーザーによる教示点の追加が終了したと判定する。表示制御部361は、当該追加が終了したと判定した場合、図8に示す付加情報入力画面G3を仮想空間表示領域VSに重ねて表示させる。図8は、付加情報入力画面G3が表示された状態の教示画面G1の一例を示す図である。
付加情報入力画面G3には、最小曲率情報入力欄GP1と、付加情報入力欄GP2と、ボタンB4が含まれている。
最小曲率情報入力欄GP1は、最小曲率情報を入力する欄である。最小曲率情報は、この一例において、表示制御部361が生成した教示点に基づいて軌跡生成部363が生成する仮軌跡に含まれる曲線の最小曲率を指定する情報のことである。この一例において、曲率は、曲率半径によって表される。従って、ユーザーは、最小曲率情報として当該曲線の最小曲率半径を最小曲率情報入力欄GP1から入力することができる。最小曲率情報は、第2情報の一例である。
付加情報入力欄GP2は、付加情報を入力する欄である。付加情報には、この一例において、表示制御部361が特定した教示点に対応付ける教示点高さ情報と、教示点速さ情報と、教示点把持力情報との3つの情報が含まれる。教示点高さ情報は、教示点に対応付ける教示点位置情報のうちのロボット座標系RCのZ軸方向の位置を示す情報である。なお、付加情報には、これらに加えて、他の情報が含まれる構成であってもよい。付加情報入力欄GP2には、表示制御部361が生成した教示点を識別する教示点IDが予め表示されている。ユーザーは、教示点高さ情報と教示点速さ情報と教示点把持力情報とを付加情報入力欄GP2から入力することができる。教示点速さ情報と教示点把持力情報とのそれぞれは、第3情報の一例である。
ボタンB4は、最小曲率情報入力欄GP1と付加情報入力欄GP2のそれぞれからのユーザーによる情報の入力を終了させるボタンである。ユーザーがボタンB4をタップした場合、表示制御部361は、ユーザーにより最小曲率情報入力欄GP1に入力された最小曲率情報を記憶部32に記憶させる。また、表示制御部361は、付加情報入力欄GP2に入力された教示点高さ情報と教示点速さ情報と教示点把持力情報とを、それぞれに対応付けられた教示点IDが示す教示点に対応付ける。そして、表示制御部361は、付加情報入力画面G3を削除する。
図6及び図7に戻る。ボタンB1は、表示制御部361が生成した教示点に基づいて経由点軌跡を生成させ、生成された経由点軌跡を仮想空間表示領域VSに表示させるボタンである。ボタンB1がユーザーによりタップされた場合、軌跡生成部363は、表示制御部361が生成した教示点と、記憶部32に記憶された最小曲率情報とに基づいて、仮軌跡を生成する。具体的には、軌跡生成部363は、最小曲率情報が示す最小曲率半径以上の曲線を有するベジェ曲線であって各教示点を各教示点の順番の順に通るベジェ曲線を、表示制御部361が生成した各教示点に基づいて仮軌跡として生成(算出)する。
軌跡生成部363が仮軌跡を生成した後、経由点生成部364は、所定の条件に基づいて、仮軌跡上において各経由点が等間隔に離れて位置するように所定の数Nの経由点を生成する。図9は、軌跡生成部363が仮軌跡に基づいて生成した経由点を経由点の位置に基づいて教示画面G1に重ねた場合のイメージ図である。図9に示した点線であって円TP1〜円TP5のそれぞれが表わす教示点を通過する点線が有する点P1〜点PNは、所定の数Nの経由点のそれぞれを表す情報である。なお、図9に示した点P1〜点PNは、図の簡略化のため、この一例における所定の数Nである100よりも少なく描かれている。
仮軌跡を生成した後、経由点生成部364は、生成した各経由点のうちの一致点ではない経由点の姿勢を、各教示点の姿勢に基づいて算出する。経由点生成部364は、当該経由点のそれぞれについて算出した姿勢を、当該経由点のそれぞれに対応付ける。また、経由点生成部364は、当該経由点の速さを、各一致点の速さに基づいて算出する。経由点生成部364は、当該経由点のそれぞれについて算出した速さを、当該経由点のそれぞれに対応付ける。また、経由点生成部364は、当該経由点の把持力を、各一致点の把持力に基づいて算出する。経由点生成部364は、当該経由点のそれぞれについて算出した把持力を、当該経由点のそれぞれに対応付ける。また、経由点生成部364は、生成した各経由点の順番を、各一致点の順番に基づいて算出する。経由点生成部364は、当該経由点のそれぞれについて算出した順番を、当該経由点のそれぞれに対応付ける。経由点生成部364は、このようにして経由点位置情報、経由点姿勢情報、経由点順番情報、経由点速さ情報、経由点把持力情報のそれぞれが対応付けられた経由点を生成する。そして、経由点情報出力部368は、生成した当該経由点に基づいて経由点情報を生成する。
経由点生成部364が経由点情報を生成した後、表示制御部361は、当該経由点情報に基づいて、当該経由点情報が示す各経由点を各経由点の順番の順に線で結ぶことによって経由点軌跡を算出する。表示制御部361は、当該各経由点の位置に基づいて、算出した経由点軌跡を仮想空間表示領域VSに表示させる。図10は、仮想空間表示領域VSに経由点軌跡が表示された状態の教示画面G1の一例を示す図である。図10に示したように、表示制御部361は、経由点軌跡L1を仮想空間表示領域VSに表示させる。これにより、情報処理装置30は、ユーザーが入力した各教示点に基づいてロボット20を動作させる場合に、ロボット20がケーブルCを引き回す軌跡をユーザーに対して視覚的に提供することができる。
ボタンB2は、経由点生成部364が生成した経由点に基づいたシミュレーションを実行させるボタンである。ボタンB2がユーザーによりタップされた場合、シミュレーション部365は、当該シミュレーションを実行する。そして、シミュレーション部365は、実行したシミュレーションの結果(シミュレーション結果)の動画を表示制御部361により仮想空間表示領域VSに表示させる。図11は、シミュレーション部365が実行したシミュレーションの結果が仮想空間表示領域VSに表示された状態の教示画面G1の一例を示す図である。
シミュレーション部365が実行したシミュレーションにおいて、端部VC1を把持したエンドエフェクターVEは、図11に示した矢印が示す経路AR2に沿ってケーブルVCを引き回す。ケーブルVCは、仮想空間V内における仮想的なケーブルCである。端部VC1は、仮想空間V内における仮想的な端部C1である。エンドエフェクターVEは、仮想空間V内における仮想的なエンドエフェクターEである。経路AR2は、経由点生成部364が生成した経由点軌跡に沿った経路である。
表示制御部361は、シミュレーション部365からの要求に応じて、シミュレーション部365が実行したシミュレーションの結果として、仮想空間表示領域VSに表示された仮想空間V内において制御点VT1が経路AR2に沿って移動することによってエンドエフェクターEがケーブルVCを引き回している様子の動画を仮想空間表示領域VSに表示させる。これにより、情報処理装置30は、ユーザーが入力した各教示点に基づいてロボット20を動作させる場合に、ロボット20がケーブルCを引き回す様子を、実際にロボット20を動かすことなくユーザーに対して視覚的に提供することができる。なお、図11では、図の簡略化のため、仮想空間表示領域VSに表示された仮想空間内における仮想的なロボット20のうちのエンドエフェクターVEのみを描いており、エンドエフェクターVE以外の当該仮想的なロボット20の他の部位を省略している。
また、シミュレーション部365は、実行したシミュレーションにおいて、エンドエフェクターVEを含む仮想的なアームAであるアームVAが突起部VO1〜突起部VO3等の他の物体に干渉(接触)するか否かを判定する。また、シミュレーション部365は、当該シミュレーションにおいて、アームVAと他の物体との干渉が生じた場合、表示制御部361により図12に示したように当該干渉が生じた位置を示す情報を仮想空間表示領域VSに表示させる。図12は、アームVAと他の物体との干渉が生じた位置を示す情報が表示された状態の教示画面G1の一例を示す図である。
図12には、アームVAと突起部VO2との干渉が生じた場合の例を示している。このような干渉が生じた場合、経由点生成部364は、干渉が生じたタイミングにおいてアームVAの制御点VT1の位置であって図10に示した経由点軌跡L1上の位置である干渉位置を検出する。経由点生成部364は、検出した干渉位置が、経由点生成部364が生成した経由点の位置と一致している場合、干渉位置と位置が一致している経由点を干渉経由点として特定する。
また、経由点生成部364は、検出した干渉位置が、経由点生成部364が生成した経由点の位置と一致していない場合、干渉位置に新たな経由点を干渉経由点として生成する。そして、経由点生成部364は、生成した干渉経由点に干渉位置を示す経由点位置情報を対応付ける。また、経由点生成部364は、生成した干渉経由点の順番を、経由点軌跡L1上において干渉経由点に隣接する2つの経由点のそれぞれの順番に基づいて算出する。例えば、経由点生成部364は、当該2つの経由点のそれぞれの順番が、15番目と16番目であった場合、これらを足して2で除した順番である15.5番目を、干渉経由点の順番として算出する。経由点生成部364は、算出した当該順番を示す経由点順番情報を、生成した干渉経由点に対応付ける。また、経由点生成部364は、当該2つの経由点のそれぞれの速さに基づいて、生成した干渉経由点の速さを算出する。当該干渉経由点の速さを算出する方法は、2つの一致点の間に含まれる経由点の速さを算出する方法と同じ方法であるため説明を省略する。経由点生成部364は、算出した干渉経由点の速さを示す経由点速さ情報を、生成した干渉経由点に対応付ける。また、経由点生成部364は、当該2つの経由点のそれぞれの把持力に基づいて、生成した干渉経由点の把持力を算出する。当該干渉経由点の把持力を算出する方法は、2つの一致点の間に含まれる経由点の把持力を算出する方法と同じ方法であるため説明を省略する。経由点生成部364は、算出した干渉経由点の把持力を示す経由点把持力情報を、生成した干渉経由点に対応付ける。
また、表示制御部361は、特定又は生成した干渉経由点の位置(すなわち、干渉位置)を示す情報として、干渉警告画面G4を仮想空間表示領域VSに表示させる。干渉警告画面G4は、アームVAと突起部VO2との干渉が生じたことを警告するメッセージを表示する画面であり、更にユーザーに干渉経由点に対応付ける経由点姿勢情報を入力させる画面である。干渉警告画面G4は、突出部を有する。当該突出部は、干渉警告画面G4のうちの当該メッセージを表示する部分から干渉経由点の位置まで伸びており、干渉経由点の位置を指し示す。なお、表示制御部361は、当該突起部を有さない干渉警告画面G4を仮想空間表示領域VSに表示させる構成であってもよい。この場合、表示制御部361は、干渉警告画面G4とともに、干渉経由点の位置を表す情報を表示させる。例えば、表示制御部361は、干渉経由点の位置の色を干渉経由点の周囲の色と異なる色に変化させてもよく、星印等の印を干渉経由点の位置に表示させてもよい。
干渉警告画面G4には、アームVAと突起部VO2との干渉が生じたことを警告するメッセージに加えて、干渉回避姿勢入力欄GP3が含まれる。
干渉回避姿勢入力欄GP3は、ユーザーに干渉経由点に対応付ける経由点姿勢情報を入力させる欄である。ユーザーにより干渉回避姿勢入力欄GP3に当該経由点姿勢情報が入力された場合、経由点生成部364は、入力された経由点姿勢情報を干渉経由点に対応付ける。当該干渉経由点が、経由点生成部364により特定された干渉経由点であった場合、経由点生成部364は、干渉経由点に対応付けられた経由点姿勢情報を、干渉回避姿勢入力欄GP3からユーザーにより入力された経由点姿勢情報に対応付けし直す。これにより、ユーザーは、干渉経由点における制御点VT1の姿勢を、アームVAと突起部VO2との干渉が生じない姿勢に変更することができる。そして、表示制御部361は、経由点生成部364が当該姿勢を示す経由点姿勢情報を干渉経由点に対応付けた後、干渉警告画面G4を削除する。
図6及び図7に戻る。ボタンB3は、経由点生成部364が生成した経由点情報を制御装置40に出力させるボタンである。ボタンB3がユーザーによりタップされた場合、経由点情報出力部368は、通信部34に現在の経由点情報を制御装置40へ出力させる。
以上のように、情報処理装置30は、経由点の数に比べて数が少ない教示点をユーザーにより教示(入力)されることによって経由点を生成し、生成した経由点に基づく経由点情報を制御装置40に出力することができる。その結果、情報処理装置30は、ユーザーが経由点を制御装置40に教示する作業の時間を短縮することができ、当該作業に関する時間的コストや人的コストの増大を抑制することができる。
<制御装置がロボットに所定の作業を行わせる処理>
以下、図13を参照し、制御装置40がロボット20に所定の作業を行わせる処理について説明する。図13は、制御装置40がロボット20に所定の作業を行わせる処理の流れの一例を示すフローチャートである。図13に示したフローチャートでは、情報処理装置30から制御装置40に経由点情報が出力された後の処理について説明する。
経由点情報取得部464は、情報処理装置30から経由点情報を取得する(ステップS210)。経由点情報取得部464は、取得した経由点情報を記憶部42に記憶させる。次に、ロボット制御部466は、ステップS210において経由点情報取得部464が記憶部42に記憶させた経由点情報を記憶部42から読み出す。そして、ロボット制御部466は、読み出した経由点情報に基づいてロボット20に所定の作業を行わせ(ステップS220)、処理を終了する。
具体的には、ロボット制御部466は、経由点情報が示す各経由点に、各経由点の順番の順に制御点T1を一致させる。また、ロボット制御部466は、各経由点の速さに基づいて制御点T1を移動させる。また、ロボット制御部466は、各経由点の把持力に基づいて、エンドエフェクターEにケーブルCを把持させる。また、ロボット制御部466は、力検出情報取得部463が取得した力検出情報に基づく制御によってロボット20を動作させる。例えば、エンドエフェクターEに所定の閾値を超える力が加わった場合、すなわちケーブルCに所定の閾値を超える張力が加わった場合、ロボット制御部466は、ケーブルCに加わった張力が所定の閾値未満となるように制御点T1を移動させる速さを所定の割合低下させる。これにより、ロボット制御部466は、ケーブルCに加わった張力を変化させる。所定の閾値は、例えば、ケーブルCの少なくとも一部が破断する力である。なお、所定の閾値は、これに代えて、他の閾値であってもよい。所定の割合は、例えば、20%である。なお、所定の割合は、これに代えて、他の割合であってもよい。なお、当該場合、ロボット制御部466は、ロボット20の動作を停止させ、ケーブルCに所定の閾値を超える張力が加わったことを示す情報を表示制御部361により表示部45に表示させる構成であってもよい。また、ロボット制御部466は、ケーブルCに加わった張力が所定の閾値未満となるように、生成した軌道を変更する構成であってもよい。
このように、制御装置40は、情報処理装置30から取得した経由点情報に基づいて、ロボット20に線状物体を引き回す作業を行わせる。これにより、制御装置40は、線状物体を引き回す作業を容易に行うことができる。また、制御装置40は、ロボット20に線状物体を引き回させるため、引き回された線状物体の状態をばらつかせずに一定の品質を保つことができる。その結果、制御装置40は、当該状態がばらついてしまうことによる不具合が生じる可能性を抑制することができる。
なお、上記の説明において仮想空間V内に含まれる第1物体Oや仮想的なロボット20等のすべては、モデルである。モデルは、例えば、CG(Computer Graphics)である。当該CGは、例えば、三次元CGであってもよく、二次元CGであってもよい。三次元CGは、例えば、ポリゴンデータの集合として表される。
また、上記において説明した例では、ロボット20がエンドエフェクターEの指部によってケーブルCを把持する場合について説明したが、ケーブルCは、エンドエフェクターEが把持したツールであってケーブルCを把持可能なツールによって把持される構成であってもよく、エンドエフェクターEに設けられた当該ツールによって把持される構成であってもよい。これらの場合、制御点T1の位置は、当該ツールの端部のうちのエンドエフェクターE側と反対側の端部に対応付けられた位置に設定される。当該位置は、例えば、当該ツールの当該端部の位置である。
<ロボットがケーブルの端部と異なる部位を把持している場合の例>
以下、図を参照し、ロボット20がケーブルCの端部C1と異なる部位を把持している場合にロボットシステム1において行われる処理の例について説明する。図14は、ロボット20がケーブルCの端部C1と異なる部位を把持している場合におけるロボットシステム1の構成の一例を示す図である。
図14では、ケーブルCの端部のうちの端部C1と反対側の端部である端部C2は、物体OXに接続されている。物体OXは、例えば、ケーブルCを介した通信や給電を行う装置である。図14に示した例では、物体OXは、直方体形状の物体として表されている。物体OXは、この一例において、床面から動かないように床面に設置(固定)されており、ロボット20がエンドエフェクターEによってケーブルCを引っ張った場合であっても、物体OXが動くことはない。なお、物体OXの形状は、他の形状であってもよい。
この一例において、ロボット20は、エンドエフェクターEによってケーブルCの部位のうちの端部C1と端部C2の間の部位C3を把持している。換言すると、ロボット20は、エンドエフェクターEによってケーブルCの部位のうち端部C1又は端部C2から所定の長さだけ離れた部位C3を把持している。所定の長さは、例えば、1メートルである。なお、所定の長さは、他の長さであってもよい。
図14に示したような状況において、例えば、ロボット20がエンドエフェクターEによってケーブルCを引き回した場合、端部C2が物体OXに接続されているため、端部C2と部位C3との間に所定の力以上の張力が加わることがある。所定の力は、ケーブルCの部位のうちの当該力が加わった部位の少なくとも一部が破断する力である。なお、所定の力は、これに代えて、他の力であってもよい。
また、ロボット20がエンドエフェクターEによってケーブルCを引き回した場合、突起部O1〜突起部O3のうちの少なくとも1つにケーブルCが引っ掛かり、引っ掛かった箇所からケーブルCが動かなくなることがある。このような場合も、ケーブルCの一部に所定の力以上の張力が加わることがある。
これらのようにケーブルCの一部に所定の力以上の張力が加わることを抑制するため、この一例におけるロボット20は、エンドエフェクターEによってケーブルCを引き回す軌跡の少なくとも一部において、エンドエフェクターEによってケーブルCを把持している把持力を所定の手繰り把持力に変更する。所定の手繰り把持力は、この一例において、エンドエフェクターEの指部によってケーブルCを把持している際、ケーブルCの自重によって当該指部からケーブルCが滑り落ちない程度の力である。すなわち、所定の手繰り把持力によってケーブルCを把持したエンドエフェクターEがケーブルCを引き回している際において、端部C2と部位C3の間にケーブルCの自重よりも大きな張力が加わった場合、ケーブルCは、エンドエフェクターEの指部に対して滑り、当該指部と部位C3との相対的な位置が変化する。以下では、このように当該指部においてケーブルCを滑らせながらケーブルCを引き回す動作を、手繰り動作と称して説明する。
すなわち、この一例におけるロボット20は、初期状態において部位C3を把持しているが、ケーブルCを引き回す作業における動作において手繰り動作を含み、エンドエフェクターEの指部に対してケーブルCを滑らせながら第1物体OにケーブルCを引き回す。これにより、ロボット20は、ケーブルCを破断させることなくケーブルCを引き回す作業を行うことができる。
なお、ユーザーは、端部C2と部位C3との間に所定の力以上の張力が加わる位置を、ユーザーにより予め行われた実験や、第1物体O及びケーブルCの形状等によって特定することができる。そのため、ユーザーは、この一例において、情報処理装置30が表示した教示画面から所望の経由点に対して所定の手繰り把持力を示す経由点把持力情報を対応付けることができる。この一例では、教示画面においてユーザーにより行われる操作に基づいて情報処理装置30が経由点の把持力を所定の手繰り把持力に変更する処理について詳しく説明する。
<教示画面においてユーザーにより行われる操作に基づいて情報処理装置が行う処理2>
以下、図15を参照し、教示画面G1においてユーザーにより行われる操作に基づいて情報処理装置30が経由点の把持力を所定の手繰り把持力に変更する処理について説明する。図15は、教示画面G1の仮想空間表示領域VSに経由点軌跡が表示された状態においてユーザーが経由点の把持力を手繰り把持力に変更している様子の一例を示す図である。
図15に示したように、ユーザーは、例えば、仮想空間表示領域VS上においてピンチアウトを行うことによって選択範囲R1を仮想空間表示領域VSに表示させることができる。表示制御部361は、仮想空間表示領域VS上においてユーザーによりピンチアウトが行われた場合、ピンチアウトにおける2本の指の間の間隔を対角線の距離として有する長方形の選択範囲R1を仮想空間表示領域VSに表示させる。
経由点生成部364は、選択範囲R1の内側に経由点軌跡L1のうちの少なくとも一部が含まれていた場合、当該一部に含まれる経由点を、所定の手繰り把持力を示す経由点把持力情報を対応付ける経由点として特定(選択)する。そして、経由点生成部364は、特定した経由点のそれぞれの把持力を所定の手繰り把持力とするため、当該経由点に対応付けられている経由点把持力情報を、所定の手繰り把持力を示す経由点把持力情報に対応付けし直す。これにより、情報処理装置30は、制御点T1を一致させる経由点の中から、エンドエフェクターEに手繰り動作を行わせる範囲に含まれる経由点を指定することができ、手繰り動作を含む所定の作業を容易にロボット20に行わせることができる。
なお、経由点生成部364は、選択範囲R1の内側に経由点軌跡L1のうちの少なくとも一部が含まれていた場合、当該一部に含まれる経由点に、当該経由点に予め対応付けられている経由点把持力情報である第1経由点把持力情報に加えて、第2経由点把持力情報を対応付ける構成であってもよい。この場合、当該一部に含まれる経由点には、2つの経由点把持力情報が対応付けられることになる。そして、制御装置40は、当該一部に含まれる経由点のいずれかと制御点T1が一致している場合において、力検出情報取得部463が取得した力検出情報に基づいてエンドエフェクターEに所定の力以上の力が加わったと判定した場合、エンドエフェクターEによってケーブルCを把持する把持力を第2経由点把持力情報が示す所定の手繰り把持力に変更する。このようにすることで、例えば、選択範囲R1の内側に経由点軌跡L1の全体を含ませておくことにより、制御装置40は、端部C2と部位C3との間に所定の力以上の張力が加わる位置を予め特定していない場合であっても、手繰り動作を含む所定の作業を容易にロボット20に行わせることができる。
<ロボットが再把持動作を含む所定の作業を行う場合に制御装置が行う処理>
ロボット20は、ケーブルCに所定の力以上の張力が加わった場合、エンドエフェクターEがケーブルCを把持する把持力を所定の手繰り把持力に変更する構成に代えて、再把持動作を行う構成であってもよい。再把持動作は、ケーブルCの部位のうちの現在エンドエフェクターEが把持しているケーブルCの部位と異なる部位をエンドエフェクターEが把持し直す動作のことである。以下、図16を参照し、制御装置40が再把持動作を含む所定の作業をロボット20に行わせる処理について説明する。
図16は、再把持動作を含む所定の作業をロボット20に行わせる際のロボットシステム1の構成の一例を示す図である。図16に示したロボットシステム1の構成のうちのケーブルCを除いた構成は、図14に示したロボットシステム1の構成と同様であるため、説明を省略する。図16に示したケーブルCは、端部C1と部位C3との間にマーカーMKが設けられている。マーカーMKは、再把持動作においてロボット20がエンドエフェクターEの指部によって把持する位置を示す印である。なお、当該印は、ケーブルCの一部であってもよい。
ロボット制御部466は、経由点情報取得部464が情報処理装置30から取得した経由点情報に基づいて、ロボット20に所定の動作を行わせる。この際、ロボット制御部466は、力検出情報取得部463が取得した力検出情報に基づく制御によってロボット20に所定の動作を行わせる。
具体的には、ロボット制御部466は、当該力検出情報に基づいてケーブルCの端部C2と部位C3との間に所定の力以上の張力が加わったか否かを判定する。ロボット制御部466は、当該力検出情報に基づいてエンドエフェクターEに所定の力以上の力が加わったと判定した場合、当該間に当該張力が加わったと判定する。一方、ロボット制御部466は、当該力検出情報に基づいてエンドエフェクターEに所定の力未満の力が加わったと判定した場合、当該間に当該張力が加わっていないと判定する。
ロボット制御部466は、ケーブルCの端部C2と部位C3との間に所定の力以上の張力が加わったと判定した場合、制御点T1の移動を停止させる。また、当該場合、ロボット制御部466は、当該間に当該張力が加わったと判定したタイミングに応じた経由点を特定(検出)する。当該タイミングに応じた経由点は、例えば、当該タイミングの直前に制御点T1が一致していた経由点である。なお、当該タイミングに応じた経由点は、これに代えて、当該タイミングにおいて制御点T1が一致していた経由点等の当該タイミングに応じた他の経由点であってもよい。ロボット制御部466は、特定した経由点であって当該タイミングに応じた経由点を記憶する。また、当該場合、撮像制御部461は、撮像制御部461により撮像部10が撮像可能な範囲を撮像部10に撮像させる。そして、画像取得部462は、撮像部10が撮像した撮像画像を取得する。
位置検出部465は、画像取得部462が取得した撮像画像に基づいて、撮像画像に含まれるマーカーMKが示す位置を検出する。ロボット制御部466は、エンドエフェクターEの指部を開いてエンドエフェクターEにケーブルCを離させる。その後、ロボット制御部466は、位置検出部465が検出したマーカーMKが示す位置に基づいてエンドエフェクターEを移動させ、当該位置をエンドエフェクターEの指部によって把持させる。
その後、ロボット制御部466は、記憶した経由点であってケーブルCの端部C2と部位C3との間に所定の力以上の張力が加わったと判定したタイミングに応じた経由点に基づいて、当該経由点の順番の次の順番の経由点から順に、制御点T1がまだ一致していない残りの経由点に制御点T1を一致させていくことにより、ロボット20に所定の作業の続きを行わせる。
このように、制御装置40は、再把持動作を含む所定の作業をロボット20に行わせる。これにより、制御装置40は、例えば、ケーブルCが何らかの理由によって引っ掛かって引っ張れなくなる場合や、制御点T1の姿勢を変化させる際にアームAの一部が他の物体又はアームA自身と干渉してしまう場合等であっても、ケーブルCを持ち直す、すなわち再把持動作を行うことによって所定の作業をロボット20に完遂させることができる。
なお、位置検出部465は、画像取得部462が取得した撮像画像に基づいて、撮像画像に含まれるマーカーMKの位置及び姿勢を検出する構成であってもよい。この場合、ロボット制御部466は、位置検出部465が検出した当該位置及び姿勢に基づいてエンドエフェクターEを移動させ、当該位置をエンドエフェクターEの指部によって把持させる。
また、ロボット制御部466は、ケーブルCの端部C2と部位C3との間に所定の力以上の張力が加わったと判定した場合に制御点T1の移動を停止させて再把持動作を開始する構成に代えて、ユーザーにより予め指定された経由点と制御点T1とが一致した場合に再把持動作を開始する構成であってもよい。この場合、情報処理装置30は、教示画面G1において再把持動作を開始させたい所望の経由点をユーザーに選択させる。そして、情報処理装置30は、ユーザーにより選択された経由点に再把持動作を開始させることを示す情報を対応付ける。当該情報は、第4情報の一例である。制御装置40は、当該情報が対応付けられた経由点を含む経由点情報を情報処理装置30から取得し、取得した経由点情報に基づいてロボット20に再把持動作を含む所定の作業を行わせる。制御装置40は、当該経由点情報に基づいて各経由点の順番に応じて各経由点に制御点T1を一致させていき、当該情報が対応付けられた経由点と制御点T1とが一致した場合、制御点T1の移動を停止させる。その後、ロボット制御部466は、上記において説明した通り、撮像制御部461が撮像部10に撮像させた撮像画像に基づいて位置検出部465が検出したマーカーMKが示す位置に基づいて、再把持動作を行う。
以上説明したように、本実施形態における制御装置40は、第1物体(この一例において、第1物体O)に線状物体(この一例において、ケーブルC)を引き回すための位置及び順番に関する第1情報(この一例において、経由点位置情報及び経由点順番情報)に基づいてロボット20を制御する。これにより、制御装置40は、線状物体を引き回す作業を容易に行うことができる。
また、制御装置40は、表示部(この一例において、表示部35)に表示された撮像画像に基づいて受け付けられた第1情報に基づいてロボット20を制御する。これにより、制御装置40は、表示部に表示された画像に基づいて受け付けられた第1情報に基づいて、線状物体を引き回す作業を容易に行うことができる。
また、制御装置40は、表示部に表示されたモデルに基づいて受け付けられた第1情報に基づいてロボット20を制御する。これにより、制御装置40は、表示部に表示されたモデルに基づいて受け付けられた第1情報に基づいて、線状物体を引き回す作業を容易に行うことができる。
また、制御装置40は、第1情報に基づいて生成されたロボット20の軌跡(この一例において、仮軌跡又は経由点軌跡L1)に基づいてロボット20を制御する。これにより、制御装置40は、第1情報に基づいて生成されたロボットの軌跡に基づいて、線状物体を引き回す作業を容易に行うことができる。
また、制御装置40は、第1情報及び第2情報(この一例において、最小曲率情報)に基づいてロボット20を制御する。これにより、制御装置40は、第1情報及び第2情報に基づいて、線状物体を引き回す作業を容易に行うことができる。
また、制御装置40は、第1情報及び第3情報(この一例において、経由点把持力情報)に基づいてロボット20を制御する。これにより、制御装置40は、第1情報及び第3情報に基づいて、線状物体を引き回す作業を容易に行うことができる。
また、制御装置40は、第1情報及び第4情報(この一例において、マーカーMKが示す位置)に基づいてロボット20を制御する。これにより、制御装置40は、第1情報及び第4情報に基づいて、線状物体を引き回す作業を容易に行うことができる。
また、制御装置40は、力検出部(力検出部21)の出力(この一例において、力検出情報)に基づいて、線状物体の張力を変化させる。これにより、制御装置40は、第1情報及び力検出部の出力に基づいて、線状物体を引き回す作業を容易に行うことができる。
また、制御装置40は、表示部に表示されたロボット(この一例において、仮想的なロボット20)と第1物体との干渉位置に基づいてロボット20を制御する。これにより、制御装置40は、第1情報、及びロボット20と第1物体との干渉位置に基づいて、線状物体を引き回す作業を容易に行うことができる。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置(例えば、情報処理装置30や制御装置40)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1…ロボットシステム、10…撮像部、20…ロボット、21…力検出部、30…情報処理装置、31、41…CPU、32、42…記憶部、33、43…入力受付部、34、44…通信部、35、45…表示部、36、46…制御部、40…制御装置、361…表示制御部、363…軌跡生成部、364…経由点生成部、365…シミュレーション部、366…撮像制御部、367…画像取得部、368…経由点情報出力部、461…撮像制御部、462…画像取得部、463…力検出情報取得部、464…経由点情報取得部、465…位置検出部、466…ロボット制御部

Claims (10)

  1. エンドエフェクターによって把持された線状物体を第1物体に引き回すロボットを制御する制御装置であって、
    前記第1物体を表示部に表示させる表示制御部と、
    前記表示部に表示された前記第1物体に基づいて、第1情報を受け付ける受付部と、
    前記受付部で受け付けられた前記第1情報に基づいて、ロボットを制御する制御部と、を備え、
    前記第1情報は、前記線状物体を前記第1物体に引き回すための複数の教示点の位置、及び前記線状物体が前記複数の教示点の位置を通過する順番とともに、前記複数の教示点のそれぞれにおける前記ロボットの姿勢と、前記複数の教示点のそれぞれにおける前記エンドエフェクターの速さと、前記複数の教示点における前記エンドエフェクターが前記線状物体を把持する把持力とのうち少なくとも前記線状物体を把持する把持力を含
    制御装置。
  2. 前記表示制御部は、撮像部により撮像された前記第1物体の撮像画像を前記表示部に表示させ、
    前記受付部は、前記表示部に表示された前記撮像画像に基づいて、前記第1情報を受け付ける、
    請求項1に記載の制御装置。
  3. 前記表示制御部は、前記第1物体のモデルを前記表示部に表示させ、
    前記受付部は、前記表示部に表示された前記モデルに基づいて、前記第1情報を受け付ける、
    請求項1に記載の制御装置。
  4. 前記第1情報に基づいて前記ロボットの軌跡を生成する軌跡生成部を備え、
    前記軌跡は、曲線を含み、
    前記制御部は、前記軌跡に基づいて前記ロボットを制御する、
    請求項1から3のうちいずれか一項に記載の制御装置。
  5. 前記受付部は、前記曲線の曲率半径の最小値に関する第2情報を受け付け、
    前記曲線は、前記最小値未満の曲率半径の曲線を含まない、
    請求項4に記載の制御装置。
  6. 前記受付部は、前記ロボットが前記線状物体を再把持する場合の再把持位置に関する第4情報を受け付ける、
    請求項1から5のうちいずれか一項に記載の制御装置。
  7. 前記制御部は、前記ロボットに備えられた力検出部の出力に基づいて、前記線状物体の張力を変化させることが可能である、
    請求項1から6のうちいずれか一項に記載の制御装置。
  8. 前記表示制御部は、前記第1情報に基づいて前記ロボットが動作した場合のシミュレーション結果に基づいた前記ロボットと前記第1物体との干渉位置を前記表示部に表示させる、
    請求項1から7のうちいずれか一項に記載の制御装置。
  9. 請求項1から8のうちいずれか一項に記載の制御装置を備える、
    ロボット。
  10. 請求項1から8のうちいずれか一項に記載の制御装置と、
    前記制御装置によって制御されるロボットと、
    を備えるロボットシステム。
JP2016034275A 2016-02-25 2016-02-25 制御装置、ロボット、及びロボットシステム Active JP6816364B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016034275A JP6816364B2 (ja) 2016-02-25 2016-02-25 制御装置、ロボット、及びロボットシステム
CN201710095925.2A CN107116565B (zh) 2016-02-25 2017-02-22 控制装置、机器人以及机器人系统
US15/440,367 US10857675B2 (en) 2016-02-25 2017-02-23 Control device, robot, and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016034275A JP6816364B2 (ja) 2016-02-25 2016-02-25 制御装置、ロボット、及びロボットシステム

Publications (3)

Publication Number Publication Date
JP2017148908A JP2017148908A (ja) 2017-08-31
JP2017148908A5 JP2017148908A5 (ja) 2019-02-28
JP6816364B2 true JP6816364B2 (ja) 2021-01-20

Family

ID=59678754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016034275A Active JP6816364B2 (ja) 2016-02-25 2016-02-25 制御装置、ロボット、及びロボットシステム

Country Status (3)

Country Link
US (1) US10857675B2 (ja)
JP (1) JP6816364B2 (ja)
CN (1) CN107116565B (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10179705B2 (en) * 2016-11-16 2019-01-15 Sensata Technologies, Inc. Feeder and method for feeding components into an assembly line
DE102016223841A1 (de) 2016-11-30 2018-05-30 Siemens Healthcare Gmbh Berechnen eines Kalibrierungsparameters eines Roboterwerkzeugs
JP7035555B2 (ja) * 2018-01-23 2022-03-15 セイコーエプソン株式会社 教示装置、及びシステム
US11738457B2 (en) 2018-03-21 2023-08-29 Realtime Robotics, Inc. Motion planning of a robot for various environments and tasks and improved operation of same
CN110340866A (zh) * 2018-04-03 2019-10-18 台达电子工业股份有限公司 机械手臂的作动教导方法及其适用的手势教导装置
CN109033688B (zh) * 2018-08-16 2020-03-31 居鹤华 基于轴不变量的通用7r机械臂逆解建模与解算方法
JP7167681B2 (ja) * 2018-12-07 2022-11-09 セイコーエプソン株式会社 ロボットシステムおよび接続方法
JP7286963B2 (ja) * 2018-12-26 2023-06-06 セイコーエプソン株式会社 ロボットシステムおよびロボット制御方法
JP7255210B2 (ja) * 2019-01-31 2023-04-11 セイコーエプソン株式会社 制御装置、ロボットシステム、及び表示方法
JP7204513B2 (ja) * 2019-02-13 2023-01-16 株式会社東芝 制御装置及びプログラム
CN111571565A (zh) * 2019-02-18 2020-08-25 沈阳新松机器人自动化股份有限公司 一种七轴工业机器人
JP2020138293A (ja) * 2019-02-28 2020-09-03 セイコーエプソン株式会社 ロボットシステムおよび制御方法
JP7251224B2 (ja) * 2019-03-11 2023-04-04 セイコーエプソン株式会社 制御装置およびロボットシステム
JP7294448B2 (ja) * 2019-11-27 2023-06-20 株式会社安川電機 研削システム、補正量推定装置、コンピュータプログラム及び研削方法
DE112021000635T5 (de) * 2020-01-20 2022-12-08 Fanuc Corporation Poliermengenschätzungsvorrichtung
US20210366222A1 (en) * 2020-05-22 2021-11-25 Jcm American Corporation Automated Processing the Output of Count Sort Machines

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4631882A (en) * 1985-02-26 1986-12-30 Sease R Gregg Molding strips and assembly thereof for mounting a flexible covering onto a support surface
JPS61231604A (ja) * 1985-04-05 1986-10-15 Hitachi Ltd 工業用ロボツトの制御装置
JPS61279480A (ja) * 1985-06-04 1986-12-10 株式会社不二越 ロボツトの作業点教示方法
JPH08166813A (ja) * 1994-12-14 1996-06-25 Fanuc Ltd ウィービング動作を伴うロボットのトラッキング制御方法
JP2004005049A (ja) * 2002-05-30 2004-01-08 Thk Co Ltd クロソイドスプラインを用いたコーナ補間方法及び軌跡制御方法
JP2005196242A (ja) * 2003-12-26 2005-07-21 Fanuc Ltd 倣い加工装置
JP4027350B2 (ja) * 2004-06-29 2007-12-26 ファナック株式会社 ロボットの待機位置復帰プログラム作成装置
JP2006099260A (ja) * 2004-09-28 2006-04-13 Fanuc Ltd ロボットプログラム作成装置
WO2006093652A2 (en) * 2005-02-25 2006-09-08 Abb Research Ltd. Method of and apparatus for automated path learning
JP2011005612A (ja) * 2009-06-29 2011-01-13 Daihatsu Motor Co Ltd 塗装ロボットの教示方法および塗装方法
JP2013193132A (ja) * 2012-03-15 2013-09-30 Jtekt Corp 7軸マニピュレータのロボット制御装置
JP5672322B2 (ja) * 2013-03-14 2015-02-18 株式会社安川電機 ロボット装置
JP6360301B2 (ja) * 2013-12-25 2018-07-18 川崎重工業株式会社 動作プログラム作成方法およびロボットの制御方法
JP5860081B2 (ja) * 2014-02-27 2016-02-16 ファナック株式会社 ロボットの動作経路を生成するロボットシミュレーション装置
JP6299962B2 (ja) 2014-02-28 2018-03-28 株式会社不二越 産業用ロボット
JP6361213B2 (ja) * 2014-03-26 2018-07-25 セイコーエプソン株式会社 ロボット制御装置、ロボット、ロボットシステム、教示方法、及びプログラム
US10387021B2 (en) * 2014-07-31 2019-08-20 Restoration Robotics, Inc. Robotic hair transplantation system with touchscreen interface for controlling movement of tool

Also Published As

Publication number Publication date
CN107116565B (zh) 2022-04-19
JP2017148908A (ja) 2017-08-31
US20170246745A1 (en) 2017-08-31
CN107116565A (zh) 2017-09-01
US10857675B2 (en) 2020-12-08

Similar Documents

Publication Publication Date Title
JP6816364B2 (ja) 制御装置、ロボット、及びロボットシステム
US11090814B2 (en) Robot control method
JP6361213B2 (ja) ロボット制御装置、ロボット、ロボットシステム、教示方法、及びプログラム
EP3342561B1 (en) Remote control robot system
US20170259433A1 (en) Robot control device, information processing device, and robot system
US20160346921A1 (en) Portable apparatus for controlling robot and method thereof
JPWO2011080882A1 (ja) 動作空間提示装置、動作空間提示方法およびプログラム
JP2011110620A (ja) ロボットの動作を制御する方法およびロボットシステム
Singh et al. An interface for remote robotic manipulator control that reduces task load and fatigue
US20180085920A1 (en) Robot control device, robot, and robot system
JP6706777B2 (ja) 制御装置、ロボット、及びロボットシステム
JP2020196060A (ja) 教示方法
JP2017019068A (ja) 教示装置、ロボット、及びロボットシステム
JP2018144228A (ja) ロボット制御装置、ロボット、ロボットシステム、教示方法、及びプログラム
Çoban et al. Wireless teleoperation of an industrial robot by using myo arm band
JP2018122376A (ja) 画像処理装置、ロボット制御装置、及びロボット
JP2015074061A (ja) ロボット制御装置、ロボットシステム、ロボット、ロボット制御方法及びロボット制御プログラム
WO2021171353A1 (ja) 制御装置、制御方法及び記録媒体
JP6455869B2 (ja) ロボット、ロボットシステム、制御装置、及び制御方法
JP2011020218A (ja) 衣料折り畳みシステム、衣料折り畳み指示装置
JP2016144852A (ja) ロボットシステム
CN115869069A (zh) 手术机器人控制方法、装置、设备、介质及系统
JP2017159429A (ja) ロボット制御装置、情報処理装置、及びロボットシステム
JP2019111588A (ja) ロボットシステム、情報処理装置、及びプログラム
JP2015116631A (ja) 制御装置、ロボット、制御方法及びロボットシステム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190116

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200716

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200811

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201005

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20201005

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20201015

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20201020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201207

R150 Certificate of patent or registration of utility model

Ref document number: 6816364

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150