Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7826760B2 - Time synchronization method, robot controller, and robot system - Google Patents
[go: Go Back, main page]

JP7826760B2 - Time synchronization method, robot controller, and robot system - Google Patents

Time synchronization method, robot controller, and robot system

Info

Publication number
JP7826760B2
JP7826760B2 JP2022041304A JP2022041304A JP7826760B2 JP 7826760 B2 JP7826760 B2 JP 7826760B2 JP 2022041304 A JP2022041304 A JP 2022041304A JP 2022041304 A JP2022041304 A JP 2022041304A JP 7826760 B2 JP7826760 B2 JP 7826760B2
Authority
JP
Japan
Prior art keywords
processing unit
time
synchronization command
reference time
robot
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
JP2022041304A
Other languages
Japanese (ja)
Other versions
JP2023135945A (en
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 JP2022041304A priority Critical patent/JP7826760B2/en
Publication of JP2023135945A publication Critical patent/JP2023135945A/en
Application granted granted Critical
Publication of JP7826760B2 publication Critical patent/JP7826760B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Manipulator (AREA)

Description

本発明は、時刻同期方法、ロボットコントローラーおよびロボットシステムに関する。 The present invention relates to a time synchronization method, a robot controller, and a robot system.

例えば、特許文献1には、ロボット制御用CPUと、第1作業用ツール制御用CPUと、第2作業用ツール制御用CPUと、共通メモリーと、これらのCPUとメモリーとを統合するシステムバスと、を含む作業用ロボットの統合制御システムが記載されている。 For example, Patent Document 1 describes an integrated control system for a work robot that includes a robot control CPU, a first work tool control CPU, a second work tool control CPU, a common memory, and a system bus that integrates these CPUs and memories.

特開平9-323279号公報Japanese Patent Application Publication No. 9-323279

しかしながら、このような作業用ロボットの統合制御システムでは、CPU間で時刻がずれることがある。CPU間で時刻がずれてしまうと、例えば、ロボットが所定姿勢となったにも関わらず作業用ツールの駆動が開始されなかったり、反対に、ロボットが所定姿勢となる前に作業用ツールの駆動が開始されたりと、ロボットの駆動特性が低下するおそれがある。 However, in such integrated control systems for work robots, time discrepancies can occur between CPUs. If time discrepancies occur between CPUs, the robot's drive characteristics may be degraded, for example, such as the work tool not starting to drive even though the robot has assumed a predetermined posture, or conversely, the work tool starting to drive before the robot has assumed a predetermined posture.

本発明の時刻同期方法は、ロボットの駆動を制御するロボットコントローラーが有する、第1処理部と、前記第1処理部と第1バスで接続されている第2処理部と、の時刻を同期する方法であって、
前記第2処理部と第2バスを介して接続され、時計回路を備える第3処理部が前記第1処理部および前記第2処理部に対して同期指令を送信すると共に、前記同期指令を送信した時刻を基準時刻として保持する同期指令指示ステップと、
前記同期指令に応じて前記第1処理部が前記第3処理部から前記基準時刻を取得し、前記基準時刻と、前記同期指令を受け付けてから前記基準時刻の取得が終了するまでに要した時間と、に基づいて前記第1処理部の時刻を補正する第1処理部時刻補正ステップと、
前記同期指令に応じて前記第2処理部が前記第3処理部から前記基準時刻を取得し、前記基準時刻と、前記同期指令を受け付けてから前記基準時刻の取得が終了するまでに要した時間と、に基づいて前記第2処理部の時刻を補正する第2処理部時刻補正ステップと、を含んでいる。
A time synchronization method of the present invention is a method for synchronizing the time of a first processing unit and a second processing unit connected to the first processing unit via a first bus, the second processing unit being included in a robot controller that controls driving of a robot, the method comprising:
a synchronization command instruction step in which a third processing unit, connected to the second processing unit via a second bus and including a clock circuit, transmits a synchronization command to the first processing unit and the second processing unit, and holds the time when the synchronization command is transmitted as a reference time;
a first processing unit time correction step in which the first processing unit acquires the reference time from the third processing unit in response to the synchronization command, and corrects the time of the first processing unit based on the reference time and the time required from when the synchronization command is received until acquisition of the reference time is completed;
The method includes a second processing unit time correction step in which the second processing unit acquires the reference time from the third processing unit in response to the synchronization command, and corrects the time of the second processing unit based on the reference time and the time required from receiving the synchronization command to completing the acquisition of the reference time.

本発明のロボットコントローラーは、第1処理部と、
第2処理部と、
時計回路を備える第3処理部と、
前記第1処理部と前記第2処理部とを接続している第1バスと、
前記第2処理部と前記第3処理部とを接続している第2バスと、を有し、
前記第3処理部は、前記第1処理部および前記第2処理部に対して同期指令を送信すると共に、前記同期指令を送信した時刻を基準時刻として保持し、
前記第1処理部は、前記同期指令に応じて前記第3処理部から前記基準時刻を取得し、前記基準時刻と、前記同期指令を受け付けてから前記基準時刻の取得が終了するまでに要した時間と、に基づいて前記第1処理部の時刻を補正し、
前記第2処理部は、前記同期指令に応じて前記第3処理部から前記基準時刻を取得し、前記基準時刻と、前記同期指令を受け付けてから前記基準時刻の取得が終了するまでに要した時間と、に基づいて前記第2処理部の時刻を補正する。
The robot controller of the present invention includes a first processing unit and
A second processing unit;
a third processing unit including a clock circuit;
a first bus connecting the first processing unit and the second processing unit;
a second bus connecting the second processing unit and the third processing unit;
the third processing unit transmits a synchronization command to the first processing unit and the second processing unit, and holds a time when the synchronization command is transmitted as a reference time;
the first processing unit acquires the reference time from the third processing unit in response to the synchronization command, and corrects the time of the first processing unit based on the reference time and a time required from receiving the synchronization command to completing acquisition of the reference time;
The second processing unit acquires the reference time from the third processing unit in response to the synchronization command, and corrects the time of the second processing unit based on the reference time and the time required from receiving the synchronization command to completing the acquisition of the reference time.

本発明のロボットシステムは、ロボットと、
前記ロボットの駆動を制御するロボットコントローラーと、を有し、
前記ロボットコントローラーは、第1処理部と、
第2処理部と、
時計回路を備える第3処理部と、
前記第1処理部と前記第2処理部とを接続している第1バスと、
前記第2処理部と前記第3処理部とを接続している第2バスと、を有し、
前記第3処理部は、前記第1処理部および前記第2処理部に対して同期指令を送信すると共に、前記同期指令を送信した時刻を基準時刻として保持し、
前記第1処理部は、前記同期指令に応じて前記第3処理部から前記基準時刻を取得し、前記基準時刻と、前記同期指令を受け付けてから前記基準時刻の取得が終了するまでに要した時間と、に基づいて前記第1処理部の時刻を補正し、
前記第2処理部は、前記同期指令に応じて前記第3処理部から前記基準時刻を取得し、前記基準時刻と、前記同期指令を受け付けてから前記基準時刻の取得が終了するまでに要した時間と、に基づいて前記第2処理部の時刻を補正する。
The robot system of the present invention comprises: a robot;
a robot controller that controls the driving of the robot,
The robot controller includes a first processing unit and
A second processing unit;
a third processing unit including a clock circuit;
a first bus connecting the first processing unit and the second processing unit;
a second bus connecting the second processing unit and the third processing unit;
the third processing unit transmits a synchronization command to the first processing unit and the second processing unit, and holds a time when the synchronization command is transmitted as a reference time;
the first processing unit acquires the reference time from the third processing unit in response to the synchronization command, and corrects the time of the first processing unit based on the reference time and a time required from receiving the synchronization command to completing acquisition of the reference time;
The second processing unit acquires the reference time from the third processing unit in response to the synchronization command, and corrects the time of the second processing unit based on the reference time and the time required from receiving the synchronization command to completing the acquisition of the reference time.

好適な実施形態に係るロボットシステムの全体構成図である。1 is an overall configuration diagram of a robot system according to a preferred embodiment. ロボットコントローラーのブロック図である。FIG. 1 is a block diagram of a robot controller. 時刻同期工程を示すフローチャートである。10 is a flowchart showing a time synchronization process. 時刻同期工程を示すタイミングチャートである。10 is a timing chart showing a time synchronization process. 時刻同期工程を示すタイミングチャートである。10 is a timing chart showing a time synchronization process. 図2のロボットコントローラーのブロック図の変形例である。FIG. 3 is a modified example of the block diagram of the robot controller of FIG. 2 .

以下、本発明の時刻同期方法、ロボットコントローラーおよびロボットシステムを添付図面に示す好適な実施形態に基づいて詳細に説明する。 The time synchronization method, robot controller, and robot system of the present invention will be described in detail below based on preferred embodiments shown in the accompanying drawings.

図1は、好適な実施形態に係るロボットシステムの全体構成図である。図2は、ロボットコントローラーのブロック図である。図3は、時刻同期工程を示すフローチャートである。図4および図5は、それぞれ、時刻同期工程を示すタイミングチャートである。図6は、図2のロボットコントローラーのブロック図の変形例である。 Figure 1 is a diagram of the overall configuration of a robot system according to a preferred embodiment. Figure 2 is a block diagram of a robot controller. Figure 3 is a flowchart showing the time synchronization process. Figures 4 and 5 are timing charts showing the time synchronization process. Figure 6 is a modified version of the block diagram of the robot controller in Figure 2.

図1に示すロボットシステム1は、ロボット2と、ロボット2の駆動を制御するロボットコントローラー3と、を有している。 The robot system 1 shown in Figure 1 includes a robot 2 and a robot controller 3 that controls the driving of the robot 2.

-ロボット2-
ロボット2は、例えば、精密機器やこれを構成する部品の給材、除材、搬送および組立等の作業を行うロボットである。ただし、ロボット2の用途としては、特に限定されない。ロボット2は、6つの回動軸を有する6軸ロボットである。ロボット2は、ベース21と、ベース21に回動自在に連結されたロボットアーム22と、を有し、ロボットアーム22の先端部にエンドエフェクター23が装着されている。
-Robot 2-
The robot 2 is a robot that performs tasks such as supplying, removing, transporting, and assembling precision equipment and the components that make up the equipment. However, the use of the robot 2 is not particularly limited. The robot 2 is a six-axis robot having six rotation axes. The robot 2 has a base 21 and a robot arm 22 rotatably connected to the base 21, and an end effector 23 is attached to the tip of the robot arm 22.

ロボットアーム22は、複数のアーム221、222、223、224、225、226が回動自在に連結されたロボティックアームであり、6つの関節J1~J6を備えている。このうち、関節J2、J3、J5は、曲げ関節であり、関節J1、J4、J6は、ねじり関節である。また、関節J1、J2、J3、J4、J5、J6は、それぞれ、駆動源としてのモーターMと、モーターMの回転量を検出するためのエンコーダーEと、を備えている。ロボットアーム22の先端であるアーム226の端部には、ロボットアーム22の位置を示し制御の対象となる制御点が設けられている。各関節J1、J2、J3、J4、J5、J6のモーターMをそれぞれ独立して駆動することにより、ロボットアーム22の制御点を所望の軌道で動かすことができる。 The robot arm 22 is a robotic arm in which multiple arms 221, 222, 223, 224, 225, and 226 are rotatably connected, and is equipped with six joints J1 to J6. Of these, joints J2, J3, and J5 are bending joints, and joints J1, J4, and J6 are torsion joints. Each of the joints J1, J2, J3, J4, J5, and J6 is equipped with a motor M as a drive source and an encoder E for detecting the amount of rotation of the motor M. A control point that indicates the position of the robot arm 22 and is the object of control is provided at the end of arm 226, which is the tip of the robot arm 22. By independently driving the motors M of each joint J1, J2, J3, J4, J5, and J6, the control point of the robot arm 22 can be moved along a desired trajectory.

また、アーム226には、エンドエフェクター23が接続されている。エンドエフェクター23は、アーム226に着脱自在であり、ロボット2に実行させる作業に適したものを選択して装着できる。 An end effector 23 is also connected to the arm 226. The end effector 23 is detachable from the arm 226, allowing the robot 2 to be selectively fitted to the task it is to perform.

以上、ロボット2について説明したが、ロボット2の構成は、特に限定されない。例えば、ロボット2は、スカラロボット(水平多関節ロボット)、双腕ロボット等であってもよい。また、ロボット2は、床等に固定されて移動不可となっていてもよいし、無人搬送車(AGV)等の移動装置に固定されて移動可能となっていてもよい。 The robot 2 has been described above, but the configuration of the robot 2 is not particularly limited. For example, the robot 2 may be a SCARA robot (horizontal articulated robot), a dual-arm robot, etc. Furthermore, the robot 2 may be fixed to the floor or the like and be immobile, or may be fixed to a mobile device such as an automated guided vehicle (AGV) and be mobile.

-ロボットコントローラー3-
ロボットコントローラー3は、例えば、ベース21内に収容されている。ただし、ロボットコントローラー3の配置は、特に限定されず、例えば、ロボット2に収容されていなくてもよい。図2に示すように、ロボットコントローラー3は、第1処理部4と、第2処理部5と、第3処理部6と、第1処理部4と第2処理部5とを接続する第1バス7と、第2処理部5と第3処理部6とを接続する第2バス8と、を有している。
-Robot Controller 3-
The robot controller 3 is housed, for example, in the base 21. However, the location of the robot controller 3 is not particularly limited, and for example, it does not have to be housed in the robot 2. As shown in FIG. 2 , the robot controller 3 has a first processing unit 4, a second processing unit 5, a third processing unit 6, a first bus 7 connecting the first processing unit 4 and the second processing unit 5, and a second bus 8 connecting the second processing unit 5 and the third processing unit 6.

また、第1処理部4は、ホストコンピューターHPCに接続されており、ホストコンピューターHPCからロボット2のプログラムを受け付ける。第1処理部4は、ロボットコントローラー3のプログラム実行機能を備えており、受け付けたプログラムを解析して、プログラムにおいて指定されるロボットアーム22の目標位置情報を取得する。目標位置情報は、ロボットアーム22の制御点を移動させる目標地点である目標位置P1についての情報であり、例えば、目標位置P1の座標を示すデータである。この他に、ロボットアーム22の制御点が現在位置から目標位置P1まで移動する移動距離等の情報でもよい。 The first processing unit 4 is also connected to the host computer HPC and receives the robot 2 program from the host computer HPC. The first processing unit 4 has the program execution function of the robot controller 3, analyzes the received program, and acquires target position information for the robot arm 22 specified in the program. The target position information is information about the target position P1, which is the target point to which the control point of the robot arm 22 is to be moved, and is, for example, data indicating the coordinates of the target position P1. Other information such as the distance traveled by the control point of the robot arm 22 from its current position to the target position P1 may also be used.

第1処理部4は、取得した目標位置情報を、第1バス7を介して第2処理部5に送信する。第2処理部5は、第1処理部4から受け付けた目標位置情報に基づいてロボットモーションつまり各関節J1~J6の軌跡を生成する機能を備えている。このような構成によれば、これら機能を別々の処理部に割り当てることができるため、各機能を円滑に実行することができ、ロボットコントローラー3の性能、特にリアルタイム性を高めることができる。 The first processing unit 4 transmits the acquired target position information to the second processing unit 5 via the first bus 7. The second processing unit 5 has the function of generating robot motion, i.e., the trajectories of each joint J1 to J6, based on the target position information received from the first processing unit 4. With this configuration, these functions can be assigned to separate processing units, allowing each function to be executed smoothly and improving the performance of the robot controller 3, particularly its real-time performance.

ただし、第1、第2処理部4、5に割り当てられる機能は、特に限定されない。例えば、本実施形態とは逆に、第1処理部4がロボットモーションを生成する機能を備え、第2処理部5がロボットコントローラー3のプログラム実行機能を備えていてもよい。この場合には、第2処理部5をホストコンピューターHPCに接続すればよい。 However, the functions assigned to the first and second processing units 4 and 5 are not particularly limited. For example, contrary to this embodiment, the first processing unit 4 may have the function of generating robot motion, and the second processing unit 5 may have the function of executing the program of the robot controller 3. In this case, the second processing unit 5 may simply be connected to the host computer HPC.

第1処理部4は、1つの基板に必要な機能を集積させたものであり、プリント配線板40と、第1制御部41と、メインメモリー42と、第1制御部41とメインメモリー42とを接続しているシステムバス43と、を有している。 The first processing unit 4 integrates all necessary functions onto a single board, and includes a printed wiring board 40, a first control unit 41, a main memory 42, and a system bus 43 connecting the first control unit 41 and the main memory 42.

プリント配線板40は、絶縁基板と配線とを備え、取り付けられた第1制御部41、第1メインメモリー42、第1システムバス43を電気的に接続する。第1制御部41は、プロセッサー44と、キャッシュメモリー46と、時計回路としてのタイマーカウンター47(システムタイマー)と、を有している。第1制御部41は、メインメモリー42に展開されたプログラムを実行することにより、第1処理部4が有する機能を実現する。第1制御部41のハードウェア構成は、システムオンチップ(SoC)である。これにより、第1制御部41の小型化、省電力化および低コスト化を図ることができる。また、第1処理部4の製造が容易となる。ただし、第1制御部41のハードウェア構成としては、特に限定されず、例えば、1つの基板にプロセッサー44、キャッシュメモリー46を集積させたものであってもよい。 The printed wiring board 40 includes an insulating substrate and wiring, and electrically connects the attached first control unit 41, first main memory 42, and first system bus 43. The first control unit 41 includes a processor 44, a cache memory 46, and a timer counter 47 (system timer) as a clock circuit. The first control unit 41 executes a program loaded in the main memory 42 to realize the functions of the first processing unit 4. The hardware configuration of the first control unit 41 is a system-on-chip (SoC). This allows for the first control unit 41 to be smaller, more power-efficient, and less expensive. It also simplifies the manufacture of the first processing unit 4. However, the hardware configuration of the first control unit 41 is not particularly limited; for example, the processor 44 and cache memory 46 may be integrated on a single board.

なお、第1制御部41は、キャッシュメモリー46を持たない構成としてもよい。メインメモリー42は、プログラムおよびデータを記憶している。システムバス43は、プロセッサー44とメインメモリー42とを接続するシステムバスである。本明細書では、制御部41のハードウェア構成がシステムオンチップであるか否かにかかわらず、プロセッサーと接続してデータを伝送する伝送路をシステムバスとする。 The first control unit 41 may be configured without a cache memory 46. The main memory 42 stores programs and data. The system bus 43 is a system bus that connects the processor 44 and the main memory 42. In this specification, the transmission path that connects to the processor and transmits data is referred to as the system bus, regardless of whether the hardware configuration of the control unit 41 is a system-on-chip.

プロセッサー44は、メインメモリー42に記憶されたプログラムを読み込んで実行することができる。プロセッサー44のOS(オペレーティングシステム)として、汎用OSであるLinux(登録商標)が用いられている。これにより、プログラムの実行や外部通信が行い易くなる。キャッシュメモリー46は、メインメモリー42から読み込んだプログラムおよびデータを一時的に記憶する。キャッシュメモリー46は、メインメモリー42よりも記憶容量が少ないが高速に動作できる。キャッシュメモリー46は複数段階のキャッシュメモリーであり、少なくとも1次キャッシュメモリー、および1次キャッシュメモリーよりも低速だが記憶容量が多い2次キャッシュメモリーを含む。なお、3次以上のキャッシュメモリーを含んでもよい。また、複数段階ではない単独のキャッシュメモリーとしてもよい。 The processor 44 can read and execute programs stored in the main memory 42. The processor 44 uses the general-purpose OS Linux (registered trademark) as its OS (operating system). This facilitates program execution and external communication. The cache memory 46 temporarily stores programs and data read from the main memory 42. The cache memory 46 has a smaller storage capacity than the main memory 42 but can operate at high speeds. The cache memory 46 is a multi-stage cache memory and includes at least a primary cache memory and a secondary cache memory that is slower than the primary cache memory but has a larger storage capacity. It may also include a tertiary or higher cache memory. It may also be a single cache memory that does not have multiple stages.

なお、プロセッサー44は、複数のコアを有するマルチコアプロセッサーとすることもできる。この場合、各コアに異なるアプリケーションプログラムの実行を割り当てることができるため、各アプリケーションプログラムを円滑に実行することができ、ロボットコントローラー3の性能、特にリアルタイム性を高めることができる。また、コア毎に専用の1次キャッシュメモリーを設けることもできる。この場合、複数のコアが共用できるように2次キャッシュメモリーを設けてもよい。2次キャッシュメモリーを共用とすることで、2次キャッシュメモリーを有効に利用できる。また、1次キャッシュメモリーと同様に、コア毎に専用の2次キャッシュメモリーを設けてもよい。コア毎に専用とすることで、処理の遅延が抑制される。 The processor 44 can also be a multi-core processor having multiple cores. In this case, the execution of different application programs can be assigned to each core, allowing each application program to be executed smoothly and improving the performance of the robot controller 3, particularly its real-time capabilities. A dedicated primary cache memory can also be provided for each core. In this case, a secondary cache memory can be provided so that it can be shared by multiple cores. Sharing the secondary cache memory allows for effective use of the secondary cache memory. Similarly to the primary cache memory, a dedicated secondary cache memory can also be provided for each core. By dedicating a cache memory to each core, processing delays can be reduced.

また、タイマーカウンター47は、入力信号のパルス数をカウントして時間を計測する。 The timer counter 47 also counts the number of pulses in the input signal to measure time.

以上のような構成の第1処理部4によれば、第1制御部41がメインメモリー42およびシステムバス43を占有することができるため、処理の遅延が抑制され、ロボットコントローラー3の性能、特にリアルタイム性を高めることができる。 With the first processing unit 4 configured as described above, the first control unit 41 can occupy the main memory 42 and system bus 43, thereby reducing processing delays and improving the performance of the robot controller 3, particularly its real-time capabilities.

第2処理部5は、第1処理部4と同様の構成である。そのため、以下では、第2処理部5について簡単に説明する。第2処理部5は、1つの基板に必要な機能を集積させたものであり、プリント配線板50と、第2制御部51と、メインメモリー52と、第2制御部51とメインメモリー52とを接続しているシステムバス53と、を有している。 The second processing unit 5 has the same configuration as the first processing unit 4. Therefore, the following will provide a brief description of the second processing unit 5. The second processing unit 5 integrates all necessary functions on a single board, and includes a printed wiring board 50, a second control unit 51, a main memory 52, and a system bus 53 connecting the second control unit 51 and the main memory 52.

第2制御部51は、システムオンチップであり、プロセッサー54と、キャッシュメモリー56と、時計回路としてのタイマーカウンター57(システムタイマー)と、を有している。プロセッサー54は、メインメモリー52に記憶されたプログラムを読み込んで実行することができる。このような構成の第2処理部5によれば、第2制御部51がメインメモリー52およびシステムバス53を占有することができるため、処理の遅延が抑制され、ロボットコントローラー3の性能、特にリアルタイム性を高めることができる。 The second control unit 51 is a system-on-chip and includes a processor 54, cache memory 56, and a timer counter 57 (system timer) as a clock circuit. The processor 54 can read and execute programs stored in the main memory 52. With a second processing unit 5 configured in this way, the second control unit 51 can occupy the main memory 52 and system bus 53, thereby reducing processing delays and improving the performance of the robot controller 3, particularly its real-time capabilities.

また、タイマーカウンター57は、入力信号のパルス数をカウントして時間を計測する。 The timer counter 57 also counts the number of pulses in the input signal to measure time.

また、第3処理部6は、1つの基板に必要な機能を集積させたものであり、プリント配線板60と、制御部61と、メインメモリー62と、制御部61とメインメモリー62とを接続しているシステムバス63と、を有している。制御部61は、時計回路としてのタイマーカウンター67(システムタイマー)を備えるFPGA(Field-Programmable Gate Array)等の素子を含んでいる。また、制御部61は、所定の時間間隔でタイミング信号を生成する機能、タイミング信号生成と共に同期指令Ssを生成し、第1、第2処理部4、5に送信する機能等を有する。 The third processing unit 6 integrates all necessary functions onto a single board and includes a printed wiring board 60, a control unit 61, a main memory 62, and a system bus 63 connecting the control unit 61 and the main memory 62. The control unit 61 includes elements such as an FPGA (Field-Programmable Gate Array) equipped with a timer counter 67 (system timer) as a clock circuit. The control unit 61 also has functions such as generating timing signals at predetermined time intervals, and generating a synchronization command Ss along with the timing signal and sending it to the first and second processing units 4 and 5.

また、第1バス7は、第1処理部4と第2処理部5とを接続している。また、第2バス8は、第2処理部5と第3処理部6とを接続している。第1、第2バス7、8は、データを伝送する伝送路である。これにより、第1処理部4、第2処理部5および第3処理部6の間で情報を伝達することができる。また、例えば、第1処理部4は、第1バス7を介して第2処理部5と共有する情報をメインメモリー52に書き込み、第2処理部5は、第1バス7を介して第1処理部4と共有する情報をメインメモリー42に書き込むことができる。これにより、第1処理部4は、メインメモリー52にアクセスすることなく必要な情報が得られるため、処理速度が向上する。第2処理部5についても同様である。 The first bus 7 connects the first processing unit 4 and the second processing unit 5. The second bus 8 connects the second processing unit 5 and the third processing unit 6. The first and second buses 7 and 8 are transmission paths for transmitting data. This allows information to be transmitted between the first processing unit 4, the second processing unit 5, and the third processing unit 6. For example, the first processing unit 4 can write information to be shared with the second processing unit 5 to the main memory 52 via the first bus 7, and the second processing unit 5 can write information to be shared with the first processing unit 4 to the main memory 52 via the first bus 7. This allows the first processing unit 4 to obtain the necessary information without accessing the main memory 52, thereby improving processing speed. The same is true for the second processing unit 5.

なお、第1、第2バス7、8の規格としては、特に限定されず、例えば、ISA、PCI、PCIExpress(PCIe)、AGP等を用いることができる。なお、以上では、第1処理部4、第2処理部5、第3処理部6は、それぞれ1つの基板としたが、図6に示すように、処理部4、5、6を1つの基板としてプリント配線板9上に設けてもよい。 The standards for the first and second buses 7 and 8 are not particularly limited, and may be, for example, ISA, PCI, PCI Express (PCIe), AGP, etc. In the above description, the first processing unit 4, second processing unit 5, and third processing unit 6 are each configured on a single board, but as shown in Figure 6, the processing units 4, 5, and 6 may also be provided on a single board on a printed wiring board 9.

以上、ロボットコントローラー3の回路構成について説明した。次に、図3および図4に基づいて、ロボットコントローラー3のソフトウェア構成、特に第1処理部4および第2処理部5の同期方法について説明する。なお、図4の横軸は、時間軸であり、左から右に向かって時間が進む。図4では、最初の期間を期間Q1、その次の期間を期間Q2としており、それ以降は、この期間が周期的に繰り返される。各期間の長さは、互いに等しい。なお、各期間は、同じ処理が行われるため、以下では、期間Q1について代表して説明し、その他の期間については、その説明を省略する。 The circuit configuration of the robot controller 3 has been described above. Next, the software configuration of the robot controller 3, particularly the synchronization method between the first processing unit 4 and the second processing unit 5, will be described with reference to Figures 3 and 4. The horizontal axis in Figure 4 is the time axis, with time progressing from left to right. In Figure 4, the first period is period Q1, the next period is period Q2, and these periods are repeated cyclically thereafter. The lengths of each period are equal. Note that the same processing is performed during each period, so the following description will focus on period Q1, and descriptions of the other periods will be omitted.

期間Q1では、図3に示すように、同期指令指示ステップS1と、第1処理部時刻補正ステップS2と、第2処理部時刻補正ステップS3と、が行われる。同期指令指示ステップS1は、第3処理部6が第1処理部4および第2処理部5に対して同期指令Ssを送信すると共に、同期指令Ssを送信した時刻を基準時刻Trefとして保持する。第1処理部時刻補正ステップS2では、同期指令Ssに応じて第1処理部4が第3処理部6から基準時刻Trefを取得し、基準時刻Trefと、同期指令Ssを受け付けてから基準時刻Trefの取得が終了するまでに要した時間T1と、に基づいて第1処理部4の時刻を補正する。第2処理部時刻補正ステップS3では、同期指令Ssに応じて第2処理部5が第3処理部6から基準時刻Trefを取得し、基準時刻Trefと、同期指令Ssを受け付けてから基準時刻Trefの取得が終了するまでに要した時間T2と、に基づいて第2処理部5の時刻を補正する。なお、時刻は、システム時刻である。以下、詳細に説明する。 As shown in FIG. 3, during period Q1, a synchronization command instruction step S1, a first processing unit time correction step S2, and a second processing unit time correction step S3 are performed. In the synchronization command instruction step S1, the third processing unit 6 transmits a synchronization command Ss to the first processing unit 4 and the second processing unit 5, and stores the time at which the synchronization command Ss is transmitted as the reference time Tref. In the first processing unit time correction step S2, the first processing unit 4 acquires the reference time Tref from the third processing unit 6 in response to the synchronization command Ss, and corrects the time of the first processing unit 4 based on the reference time Tref and the time T1 required from receiving the synchronization command Ss to completing acquisition of the reference time Tref. In the second processing unit time correction step S3, the second processing unit 5 acquires the reference time Tref from the third processing unit 6 in response to the synchronization command Ss, and corrects the time of the second processing unit 5 based on the reference time Tref and the time T2 required from receiving the synchronization command Ss to completing acquisition of the reference time Tref. Note that these times are system times. A detailed explanation is provided below.

≪同期指令指示ステップS1≫
図4に示すように、期間Q1では、まず、第3処理部6が発生させた1つのタイミング信号Stに基づいて、第3処理部6から第1処理部4および第2処理部5に向けて同期指令Ssを同時に送信する。また、第3処理部6は、同期指令Ssを送信した時刻を基準時刻Trefとして保持する。なお、同期指令Ssは、割り込み信号であるため、同期指令Ssを送信した現実時刻と、第1、第2処理部4、5が同期指令Ssを受け付けた現実時刻とは、同じとなる。
<Synchronization command instruction step S1>
4, during period Q1, first, based on one timing signal St generated by the third processing unit 6, the third processing unit 6 simultaneously transmits a synchronization command Ss to the first processing unit 4 and the second processing unit 5. The third processing unit 6 also holds the time at which the synchronization command Ss is transmitted as a reference time Tref. Note that, because the synchronization command Ss is an interrupt signal, the actual time at which the synchronization command Ss is transmitted and the actual time at which the first and second processing units 4 and 5 receive the synchronization command Ss are the same.

≪第1処理部時刻補正ステップS2≫
第1処理部4は、同期指令Ssを受け付けると、同期指令Ssを受け付けた時刻を受付時刻Ts1として保持し、第3処理部6にアクセスして第3処理部6に保持された基準時刻Trefを取得する。また、第1処理部4は、基準時刻Trefの取得を終えた時刻を終了時刻Te1として保持する。なお、これら時刻Ts1、Te1は、それぞれ、タイマーカウンター47のカウント値として保持する。
<First processing unit time correction step S2>
When the first processing unit 4 receives the synchronization command Ss, it stores the time at which the synchronization command Ss is received as a reception time Ts1, and accesses the third processing unit 6 to acquire the reference time Tref stored in the third processing unit 6. The first processing unit 4 also stores the time at which it finishes acquiring the reference time Tref as an end time Te1. These times Ts1 and Te1 are each stored as count values of the timer counter 47.

次に、第1処理部4は、保持した受付時刻Ts1および終了時刻Te1に基づいて、受付時刻Ts1から終了時刻Te1までの時間T1すなわち同期指令Ssを受け付けてから基準時刻Trefの取得が完了するまでに要した時間T1を算出する。時間T1の算出は、タイマーカウンター47のカウント数から容易に算出することができる。ただし、時間T1の算出方法は、特に限定されない。 Next, the first processing unit 4 calculates the time T1 from the reception time Ts1 to the end time Te1, i.e., the time T1 required from reception of the synchronization command Ss to completion of acquisition of the reference time Tref, based on the retained reception time Ts1 and end time Te1. The time T1 can be easily calculated from the count number of the timer counter 47. However, the method for calculating the time T1 is not particularly limited.

次に、第1処理部4は、取得した基準時刻Trefと算出した時間T1とに基づいて第1処理部4の時刻を補正する。具体的には、自身の時刻を、基準時刻Trefに時間T1を足した時刻に補正(更新)し、メインメモリー42に保持する。これにより、第1処理部4が第3処理部6に同期される。なお、プロセッサー44がマルチコアの場合、各コアをメインメモリー42に保持された時刻に基づいて駆動させる。これにより、各コアを簡単に同期することができる。 Next, the first processing unit 4 corrects its own time based on the acquired reference time Tref and the calculated time T1. Specifically, it corrects (updates) its own time to the reference time Tref plus the time T1, and stores this in the main memory 42. This synchronizes the first processing unit 4 with the third processing unit 6. Note that if the processor 44 is multi-core, each core is driven based on the time stored in the main memory 42. This makes it easy to synchronize the cores.

≪第2処理部時刻補正ステップS3≫
第2処理部5は、同期指令Ssを受け付けると、同期指令Ssを受け付けた時刻を受付時刻Ts2として保持し、第3処理部6にアクセスして第3処理部6に保持された基準時刻Trefを取得する。また、第2処理部5は、基準時刻Trefの取得を終えた時刻を終了時刻Te2として保持する。なお、これら時刻Ts2、Te2は、それぞれ、タイマーカウンター57のカウント値として保持する。
<<Second processing unit time correction step S3>>
When the second processing unit 5 receives the synchronization command Ss, it stores the time at which the synchronization command Ss is received as a reception time Ts2, and accesses the third processing unit 6 to acquire the reference time Tref stored in the third processing unit 6. The second processing unit 5 also stores the time at which acquisition of the reference time Tref is completed as an end time Te2. These times Ts2 and Te2 are each stored as count values of the timer counter 57.

次に、第2処理部5は、保持した受付時刻Ts2および終了時刻Te2に基づいて、受付時刻Ts2から終了時刻Te2までの時間T2すなわち同期指令Ssを受け付けてから基準時刻Trefの取得が完了するまでに要した時間T2を算出する。時間T2の算出は、タイマーカウンター57のカウント数から容易に算出することができる。ただし、時間T2の算出方法は、特に限定されない。 Next, the second processing unit 5 calculates the time T2 from the reception time Ts2 to the end time Te2, i.e., the time T2 required from reception of the synchronization command Ss to completion of acquisition of the reference time Tref, based on the retained reception time Ts2 and end time Te2. The time T2 can be easily calculated from the count number of the timer counter 57. However, the method for calculating the time T2 is not particularly limited.

次に、第2処理部5は、取得した基準時刻Trefと算出した時間T2とに基づいて第2処理部5の時刻を補正する。具体的には、自身の時刻を基準時刻Trefに時間T2を足した時刻に補正(更新)し、メインメモリー52に保持する。これにより、第2処理部5が第3処理部6に同期される。なお、プロセッサー54がマルチコアの場合、各コアをメインメモリー52に保持された時刻に基づいて駆動させる。これにより、各コアを簡単に同期することができる。 Next, the second processing unit 5 corrects its own time based on the acquired reference time Tref and the calculated time T2. Specifically, it corrects (updates) its own time to the reference time Tref plus the time T2, and stores this in the main memory 52. This synchronizes the second processing unit 5 with the third processing unit 6. Note that if the processor 54 is multi-core, each core is driven based on the time stored in the main memory 52. This makes it easy to synchronize the cores.

なお、上述した例では、第1処理部時刻補正ステップS2の後に第2処理部時刻補正ステップS3を行っているが、これに限定されず、第1処理部時刻補正ステップS2よりの先に第2処理部時刻補正ステップS3を行ってもよい。先に第3処理部6にアクセスした方が優先され、後に第3処理部6にアクセスした方は、先に第3処理部6にアクセスした方が基準時刻Trefを取得し終えるまで第3処理部6へのアクセスを待機することとなる。 In the example described above, the second processing unit time correction step S3 is performed after the first processing unit time correction step S2, but this is not limited to this, and the second processing unit time correction step S3 may be performed before the first processing unit time correction step S2. The first party to access the third processing unit 6 has priority, and the second party to access the third processing unit 6 will wait to access the third processing unit 6 until the first party has acquired the reference time Tref.

以上のステップS1~S3によって、第3処理部6を基準として第1処理部4と第2処理部5とが同期される。このような方法によれば、第1処理部4と第2処理部5とを簡単に同期することができる。第1、第2処理部4、5を同期することにより、ロボット2の制御性が向上し、ロボット2により正確な作業を実行させることができる。なお、第1処理部4および第2処理部5は、第2バス8を介して第3処理部6にアクセスするため、第1処理部4および第2処理部5の一方が第2バス8を占有している間、他方は第3処理部6にアクセスできず、占有が終わってから第3処理部6にアクセスすることになる。そのため、第1処理部4と第2処理部5で基準時刻Trefの取得が完了するまでに要した時間が異なるので、第1、第2処理部4、5それぞれが自身の時刻を基準時刻Trefに補正しても、時刻にずれが生じてしまう。しかしながら、第1、第2処理部4、5それぞれにおける基準時刻Trefの取得が完了するまでに要した時間T1、T2を用いて補正しているため、時刻がずれることなく第1、第2処理部4、5を同期することができる。 By performing steps S1 to S3 above, the first processing unit 4 and the second processing unit 5 are synchronized with respect to the third processing unit 6. This method allows for easy synchronization of the first processing unit 4 and the second processing unit 5. Synchronizing the first and second processing units 4 and 5 improves the controllability of the robot 2, allowing the robot 2 to perform tasks more accurately. Because the first processing unit 4 and the second processing unit 5 access the third processing unit 6 via the second bus 8, while one of the first processing unit 4 and the second processing unit 5 occupies the second bus 8, the other cannot access the third processing unit 6 and only accesses the third processing unit 6 after the occupancy ends. Therefore, since the time required for the first processing unit 4 and the second processing unit 5 to complete acquisition of the reference time Tref differs, a time discrepancy will occur even if the first and second processing units 4 and 5 each correct their own time to the reference time Tref. However, because the correction is made using the times T1 and T2 required for the first and second processing units 4 and 5 to complete acquisition of the reference time Tref, respectively, the first and second processing units 4 and 5 can be synchronized without time deviation.

また、このような方法によれば、第3処理部6の時刻を基準とするため、第1処理部4と第2処理部5とで動作周期(クロック数)が異なる場合でもこれらの同期が可能となる。また、第1、第2処理部4、5にリアルタイムクロックが不要となるため、第1、第2処理部4、5の構成が簡略化される。 Furthermore, with this method, the time of the third processing unit 6 is used as the reference, so synchronization between the first processing unit 4 and the second processing unit 5 is possible even if their operating cycles (number of clocks) are different. Furthermore, because a real-time clock is not required for the first and second processing units 4 and 5, the configuration of the first and second processing units 4 and 5 is simplified.

期間Q1、Q2の周期は、特に限定されないが、例えば、ステップS1~S3を終えるのに要する時間Tmより長く、タイマーカウンター47、57の最大値未満つまりカウンターが1周するのに要する時間未満に設定される。これにより、期間毎に第1、第2処理部4、5の時刻補正を確実に行うことができる。 The period of periods Q1 and Q2 is not particularly limited, but is set, for example, to be longer than the time Tm required to complete steps S1 to S3, and less than the maximum value of the timer counters 47 and 57, i.e., less than the time required for the counters to complete one cycle. This ensures that the time corrections of the first and second processing units 4 and 5 can be performed reliably for each period.

また、前述した方法では、期間の毎に第1、第2処理部4、5の時刻補正を行っているが、さらに、これとは異なるタイミングで時刻補正を行うこともできる。例えば、図5に示すように、第1処理部4の時刻補正を期間Q1の途中の時刻Txで行いたい場合は、まず、第1処理部4は、時刻Txにおけるタイマーカウンター47のカウント値を保持する。次に、第1処理部4は、保持した受付時刻Ts1および時刻Txに基づいて、受付時刻Ts1から時刻Txまでの時間T3を算出する。次に、第1処理部4は、これら時刻Ts1、Txに基づいて第1処理部4の時刻を補正する。具体的には、自身の時刻を時刻Ts1に時間T3を足した時刻に補正(更新)し、メインメモリー42に保持する。これにより、期間の途中によっても第1処理部4の時刻を補正することができる。 In addition, while the method described above involves correcting the time of the first and second processing units 4 and 5 for each period, time correction can also be performed at different times. For example, as shown in FIG. 5 , if the first processing unit 4 wishes to correct the time at time Tx during period Q1, the first processing unit 4 first retains the count value of the timer counter 47 at time Tx. Next, the first processing unit 4 calculates the time T3 from the reception time Ts1 to time Tx based on the retained reception time Ts1 and time Tx. Next, the first processing unit 4 corrects the time of the first processing unit 4 based on these times Ts1 and Tx. Specifically, the first processing unit 4 corrects (updates) its own time to the time obtained by adding time T3 to time Ts1, and stores this in the main memory 42. This allows the time of the first processing unit 4 to be corrected even during a period.

以上、ロボットシステム1について説明した。このようなロボットシステム1で用いられる時刻同期方法は、前述したように、ロボット2の駆動を制御するロボットコントローラー3が有する、第1処理部4と、第1処理部4と第1バス7で接続されている第2処理部5と、の時刻を同期する方法であって、第2処理部5と第2バス8を介して接続され、時計回路であるタイマーカウンター67を備える第3処理部6が第1処理部4および第2処理部5に対して同期指令Ssを送信すると共に、同期指令Ssを送信した時刻を基準時刻Trefとして保持する同期指令指示ステップS1と、同期指令Ssに応じて第1処理部4が第3処理部6から基準時刻Trefを取得し、基準時刻Trefと、同期指令Ssを受け付けてから基準時刻Trefの取得が終了するまでに要した時間T1と、に基づいて第1処理部4の時刻を補正する第1処理部時刻補正ステップS2と、同期指令Ssに応じて第2処理部5が第3処理部6から基準時刻Trefを取得し、基準時刻Trefと、同期指令Ssを受け付けてから基準時刻Trefの取得が終了するまでに要した時間T2と、に基づいて第2処理部5の時刻を補正する第2処理部時刻補正ステップS3と、を含んでいる。このような方法によれば、第1処理部4と第2処理部5とを簡単に同期することができる。 The above describes the robot system 1. As mentioned above, the time synchronization method used in such a robot system 1 is a method for synchronizing the time of the first processing unit 4 and the second processing unit 5 connected to the first processing unit 4 via the first bus 7, both of which are included in the robot controller 3 that controls the driving of the robot 2. The method includes a synchronization command instruction step S1 in which the third processing unit 6, which is connected to the second processing unit 5 via the second bus 8 and has a timer counter 67 that is a clock circuit, transmits a synchronization command Ss to the first processing unit 4 and the second processing unit 5 and holds the time at which the synchronization command Ss is transmitted as a reference time Tref; In response to the synchronization command Ss, the first processing unit 4 acquires the reference time Tref from the third processing unit 6 and corrects the time of the first processing unit 4 based on the reference time Tref and the time T1 required from receiving the synchronization command Ss to completing acquisition of the reference time Tref (a first processing unit time correction step S2); and in response to the synchronization command Ss, the second processing unit 5 acquires the reference time Tref from the third processing unit 6 and corrects the time of the second processing unit 5 based on the reference time Tref and the time T2 required from receiving the synchronization command Ss to completing acquisition of the reference time Tref (a second processing unit time correction step S3). This method makes it easy to synchronize the first processing unit 4 and the second processing unit 5.

また、前述したように、ロボットシステム1が備えるロボットコントローラー3は、第1処理部4と、第2処理部5と、時計回路であるタイマーカウンター67を備える第3処理部6と、第1処理部4と第2処理部5とを接続している第1バス7と、第2処理部5と第3処理部6とを接続している第2バス8と、を有し、第3処理部6は、第1処理部4および第2処理部5に対して同期指令Ssを送信すると共に、同期指令Ssを送信した時刻を基準時刻Trefとして保持し、第1処理部4は、同期指令Ssに応じて第3処理部6から基準時刻Trefを取得し、基準時刻Trefと、同期指令Ssを受け付けてから基準時刻Trefの取得が終了するまでに要した時間T1と、に基づいて第1処理部4の時刻を補正し、第2処理部5は、同期指令Ssに応じて第3処理部6から基準時刻Trefを取得し、基準時刻Trefと、同期指令Ssを受け付けてから基準時刻Trefの取得が終了するまでに要した時間T2と、に基づいて第2処理部5の時刻を補正する。このような構成によれば、第1処理部4と第2処理部5とを簡単に同期することができる。 As mentioned above, the robot controller 3 included in the robot system 1 has a first processing unit 4, a second processing unit 5, a third processing unit 6 equipped with a timer counter 67 which is a clock circuit, a first bus 7 connecting the first processing unit 4 and the second processing unit 5, and a second bus 8 connecting the second processing unit 5 and the third processing unit 6. The third processing unit 6 transmits a synchronization command Ss to the first processing unit 4 and the second processing unit 5, and holds the time at which the synchronization command Ss is transmitted as a reference time Tref. The first processing unit 4 acquires the reference time Tref from the third processing unit 6 in response to the synchronization command Ss, and corrects the time of the first processing unit 4 based on the reference time Tref and the time T1 required from receiving the synchronization command Ss to completing acquisition of the reference time Tref. The second processing unit 5 acquires the reference time Tref from the third processing unit 6 in response to the synchronization command Ss, and corrects the time of the second processing unit 5 based on the reference time Tref and the time T2 required from receiving the synchronization command Ss to completing acquisition of the reference time Tref. With this configuration, the first processing unit 4 and the second processing unit 5 can be easily synchronized.

また、前述したように、第1処理部4および第2処理部5は、それぞれ、時計回路であるタイマーカウンター47、57を有している。これにより、時間T1、T2を簡単に算出することができる。 Furthermore, as mentioned above, the first processing unit 4 and the second processing unit 5 each have timer counters 47 and 57, which are clock circuits. This makes it possible to easily calculate the times T1 and T2.

また、前述したように、第1処理部4は第1制御部41を備え、第2処理部5は第2制御部51を備え、第1制御部41および第2制御部51は、それぞれ、システムオンチップである。これにより、第1、第2制御部41、51の小型化、省電力化および低コスト化を図ることができる。また、第1、第2制御部41、51の製造が容易となる。 As mentioned above, the first processing unit 4 includes a first control unit 41, and the second processing unit 5 includes a second control unit 51, with the first control unit 41 and second control unit 51 each being a system-on-chip. This allows for the first and second control units 41, 51 to be made smaller, more energy-efficient, and less expensive. Furthermore, the first and second control units 41, 51 can be manufactured more easily.

また、前述したように、第1処理部4および第2処理部5の一方は、ロボットコントローラー3のプログラム実行機能を備え、他方は、ロボットモーションを生成する機能を備えている。これにより、プログラム実行機能とロボットモーションを生成する機能とを別々の処理部に割り当てることができるため、各機能を円滑に実行することができ、ロボットコントローラー3の性能、特にリアルタイム性を高めることができる。 Furthermore, as mentioned above, one of the first processing unit 4 and the second processing unit 5 has the program execution function of the robot controller 3, and the other has the function of generating robot motion. This allows the program execution function and the robot motion generation function to be assigned to separate processing units, allowing each function to be executed smoothly and improving the performance of the robot controller 3, particularly its real-time performance.

また、前述したように、ロボットシステム1は、ロボット2と、ロボット2の駆動を制御するロボットコントローラー3と、を有ししている。また、ロボットコントローラー3は、第1処理部4と、第2処理部5と、時計回路であるタイマーカウンター67を備える第3処理部6と、第1処理部4と第2処理部5とを接続している第1バス7と、第2処理部5と第3処理部6とを接続している第2バス8と、を有し、第3処理部6は、第1処理部4および第2処理部5に対して同期指令Ssを送信すると共に、同期指令Ssを送信した時刻を基準時刻Trefとして保持し、第1処理部4は、同期指令Ssに応じて第3処理部6から基準時刻Trefを取得し、基準時刻Trefと、同期指令Ssを受け付けてから基準時刻Trefの取得が終了するまでに要した時間T1と、に基づいて第1処理部4の時刻を補正し、第2処理部5は、同期指令Ssに応じて第3処理部6から基準時刻Trefを取得し、基準時刻Trefと、同期指令Ssを受け付けてから基準時刻Trefの取得が終了するまでに要した時間T2と、に基づいて第2処理部5の時刻を補正する。このような構成によれば、第1処理部4と第2処理部5とを簡単に同期することができ、ロボット2の制御性が向上し、より正確な作業が可能となる。 As mentioned above, the robot system 1 also includes a robot 2 and a robot controller 3 that controls the operation of the robot 2. The robot controller 3 also has a first processing unit 4, a second processing unit 5, a third processing unit 6 equipped with a timer counter 67 which is a clock circuit, a first bus 7 connecting the first processing unit 4 and the second processing unit 5, and a second bus 8 connecting the second processing unit 5 and the third processing unit 6. The third processing unit 6 transmits a synchronization command Ss to the first processing unit 4 and the second processing unit 5, and holds the time at which the synchronization command Ss is transmitted as a reference time Tref. The first processing unit 4 acquires the reference time Tref from the third processing unit 6 in response to the synchronization command Ss, and corrects the time of the first processing unit 4 based on the reference time Tref and the time T1 required from receiving the synchronization command Ss to completing acquisition of the reference time Tref. The second processing unit 5 acquires the reference time Tref from the third processing unit 6 in response to the synchronization command Ss, and corrects the time of the second processing unit 5 based on the reference time Tref and the time T2 required from receiving the synchronization command Ss to completing acquisition of the reference time Tref. This configuration makes it easy to synchronize the first processing section 4 and the second processing section 5, improving the controllability of the robot 2 and enabling more accurate work.

以上、本発明の時刻同期方法、ロボットコントローラーおよびロボットシステムを図示の実施形態に基づいて説明したが、本発明は、これに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物が付加されていてもよい。 The time synchronization method, robot controller, and robot system of the present invention have been described above based on the illustrated embodiments, but the present invention is not limited to this, and the configuration of each part can be replaced with any configuration that has similar functions. Furthermore, any other components may be added to the present invention.

1…ロボットシステム、2…ロボット、21…ベース、22…ロボットアーム、221…アーム、222…アーム、223…アーム、224…アーム、225…アーム、226…アーム、23…エンドエフェクター、3…ロボットコントローラー、4…第1処理部、40…プリント配線板、41…第1制御部、42…メインメモリー、43…システムバス、44…プロセッサー、46…キャッシュメモリー、47…タイマーカウンター、5…第2処理部、50…プリント配線板、51…第2制御部、52…メインメモリー、53…システムバス、54…プロセッサー、56…キャッシュメモリー、57…タイマーカウンター、6…第3処理部、60…プリント配線板、61…制御部、62…メインメモリー、63…システムバス、67…タイマーカウンター、7…第1バス、8…第2バス、9…プリント配線板、E…エンコーダー、HPC…ホストコンピューター、J1…関節、J2…関節、J3…関節、J4…関節、J5…関節、J6…関節、M…モーター、Q1…期間、Q2…期間、S1…同期指令指示ステップ、S2…第1処理部時刻補正ステップ、S3…第2処理部時刻補正ステップ、Ss…同期指令、St…タイミング信号、T1…時間、T2…時間、T3…時間、Tm…時間、Te1…終了時刻、Te2…終了時刻、Tm…時間、Tref…基準時刻、Ts1…受付時刻、Ts2…受付時刻、Tx…時刻 1...Robot system, 2...Robot, 21...Base, 22...Robot arm, 221...Arm, 222...Arm, 223...Arm, 224...Arm, 225...Arm, 226...Arm, 23...End effector, 3...Robot controller, 4...First processing unit, 40...Printed wiring board, 41...First control unit, 42...Main memory, 43...System bus, 44...Processor, 46...Cache memory, 47...Timer counter, 5...Second processing unit, 50...Printed wiring board, 51...Second control unit, 52...Main memory, 53...System bus, 54...Processor, 56...Cache memory, 57...Timer counter, 6...Third processing unit, 60...Print Circuit board, 61...controller, 62...main memory, 63...system bus, 67...timer counter, 7...first bus, 8...second bus, 9...printed circuit board, E...encoder, HPC...host computer, J1...joint, J2...joint, J3...joint, J4...joint, J5...joint, J6...joint, M...motor, Q1...period, Q2...period, S1...synchronization command instruction step, S2...first processing unit time correction step, S3...second processing unit time correction step, Ss...synchronization command, St...timing signal, T1...time, T2...time, T3...time, Tm...time, Te1...end time, Te2...end time, Tm...time, Tref...reference time, Ts1...received time, Ts2...received time, Tx...time

Claims (6)

ロボットの駆動を制御するロボットコントローラーが有する、第1処理部と、前記第1処理部と第1バスで接続されている第2処理部と、の時刻を同期する方法であって、
前記第2処理部と第2バスを介して接続され、時計回路を備える第3処理部が前記第1処理部および前記第2処理部に対して同期指令を送信すると共に、前記同期指令を送信した時刻を基準時刻として保持する同期指令指示ステップと、
前記同期指令に応じて前記第1処理部が前記第3処理部から前記基準時刻を取得し、前記基準時刻の取得が終了した時刻が、前記基準時刻、前記同期指令を受け付けてから前記基準時刻の取得が終了するまでに要した時間を足した時刻となるように、前記第1処理部の時刻を補正する第1処理部時刻補正ステップと、
前記同期指令に応じて前記第2処理部が前記第3処理部から前記基準時刻を取得し、前記基準時刻の取得が終了した時刻が、前記基準時刻、前記同期指令を受け付けてから前記基準時刻の取得が終了するまでに要した時間を足した時刻となるように、前記第2処理部の時刻を補正する第2処理部時刻補正ステップと、を含んでいることを特徴とする時刻同期方法。
A method for synchronizing the time of a first processing unit and a second processing unit connected to the first processing unit via a first bus, the method comprising:
a synchronization command instruction step in which a third processing unit, connected to the second processing unit via a second bus and including a clock circuit, transmits a synchronization command to the first processing unit and the second processing unit, and holds the time when the synchronization command is transmitted as a reference time;
a first processing unit time correction step in which the first processing unit acquires the reference time from the third processing unit in response to the synchronization command, and corrects the time of the first processing unit so that the time at which acquisition of the reference time is completed is the time obtained by adding the time required from receipt of the synchronization command to completion of acquisition of the reference time;
a second processing unit time correction step in which the second processing unit acquires the reference time from the third processing unit in response to the synchronization command, and corrects the time of the second processing unit so that the time at which acquisition of the reference time is completed is the time obtained by adding the time required from receiving the synchronization command to completing acquisition of the reference time.
第1処理部と、
第2処理部と、
時計回路を備える第3処理部と、
前記第1処理部と前記第2処理部とを接続している第1バスと、
前記第2処理部と前記第3処理部とを接続している第2バスと、を有し、
前記第3処理部は、前記第1処理部および前記第2処理部に対して同期指令を送信すると共に、前記同期指令を送信した時刻を基準時刻として保持し、
前記第1処理部は、前記同期指令に応じて前記第3処理部から前記基準時刻を取得し、前記基準時刻の取得が終了した時刻が、前記基準時刻、前記同期指令を受け付けてから前記基準時刻の取得が終了するまでに要した時間を足した時刻となるように、前記第1処理部の時刻を補正し、
前記第2処理部は、前記同期指令に応じて前記第3処理部から前記基準時刻を取得し、前記基準時刻の取得が終了した時刻が、前記基準時刻、前記同期指令を受け付けてから前記基準時刻の取得が終了するまでに要した時間を足した時刻となるように、前記第2処理部の時刻を補正することを特徴とするロボットコントローラー。
a first processing unit;
A second processing unit;
a third processing unit including a clock circuit;
a first bus connecting the first processing unit and the second processing unit;
a second bus connecting the second processing unit and the third processing unit;
the third processing unit transmits a synchronization command to the first processing unit and the second processing unit, and holds a time when the synchronization command is transmitted as a reference time;
the first processing unit acquires the reference time from the third processing unit in response to the synchronization command, and corrects the time of the first processing unit so that the time at which acquisition of the reference time is completed is the time obtained by adding a time required from receipt of the synchronization command to completion of acquisition of the reference time to the reference time;
The second processing unit acquires the reference time from the third processing unit in response to the synchronization command, and corrects the time of the second processing unit so that the time at which acquisition of the reference time is completed is the time obtained by adding the time required from receiving the synchronization command to completing acquisition of the reference time to the reference time.
前記第1処理部および前記第2処理部は、それぞれ、時計回路を有している請求項2に記載のロボットコントローラー。 The robot controller described in claim 2, wherein the first processing unit and the second processing unit each have a clock circuit. 前記第1処理部は第1制御部を備え、
前記第2処理部は第2制御部を備え、
前記第1制御部および前記第2制御部は、それぞれ、システムオンチップである請求項2または3に記載のロボットコントローラー。
the first processing unit includes a first control unit,
the second processing unit includes a second control unit,
The robot controller according to claim 2 or 3, wherein the first control unit and the second control unit are each a system-on-chip.
前記第1処理部および前記第2処理部の一方は、ロボットコントローラーのプログラム実行機能を備え、他方は、ロボットモーションを生成する機能を備える請求項2ないし4のいずれか1項に記載のロボットコントローラー。 A robot controller according to any one of claims 2 to 4, wherein one of the first processing unit and the second processing unit has a program execution function for the robot controller, and the other has a function for generating robot motion. ロボットと、
前記ロボットの駆動を制御するロボットコントローラーと、を有し、
前記ロボットコントローラーは、第1処理部と、
第2処理部と、
時計回路を備える第3処理部と、
前記第1処理部と前記第2処理部とを接続している第1バスと、
前記第2処理部と前記第3処理部とを接続している第2バスと、を有し、
前記第3処理部は、前記第1処理部および前記第2処理部に対して同期指令を送信すると共に、前記同期指令を送信した時刻を基準時刻として保持し、
前記第1処理部は、前記同期指令に応じて前記第3処理部から前記基準時刻を取得し、前記基準時刻の取得が終了した時刻が、前記基準時刻、前記同期指令を受け付けてから前記基準時刻の取得が終了するまでに要した時間を足した時刻となるように、前記第1処理部の時刻を補正し、
前記第2処理部は、前記同期指令に応じて前記第3処理部から前記基準時刻を取得し、前記基準時刻の取得が終了した時刻が、前記基準時刻、前記同期指令を受け付けてから前記基準時刻の取得が終了するまでに要した時間を足した時刻となるように、前記第2処理部の時刻を補正することを特徴とすることを特徴とするロボットシステム。
Robots and
a robot controller that controls the driving of the robot,
The robot controller includes a first processing unit and
A second processing unit;
a third processing unit including a clock circuit;
a first bus connecting the first processing unit and the second processing unit;
a second bus connecting the second processing unit and the third processing unit;
the third processing unit transmits a synchronization command to the first processing unit and the second processing unit, and holds a time when the synchronization command is transmitted as a reference time;
the first processing unit acquires the reference time from the third processing unit in response to the synchronization command, and corrects the time of the first processing unit so that the time at which acquisition of the reference time is completed is the time obtained by adding a time required from receipt of the synchronization command to completion of acquisition of the reference time to the reference time;
The second processing unit acquires the reference time from the third processing unit in response to the synchronization command, and corrects the time of the second processing unit so that the time at which acquisition of the reference time is completed is the time obtained by adding the time required from receiving the synchronization command to completing acquisition of the reference time to the reference time.
JP2022041304A 2022-03-16 2022-03-16 Time synchronization method, robot controller, and robot system Active JP7826760B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022041304A JP7826760B2 (en) 2022-03-16 2022-03-16 Time synchronization method, robot controller, and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022041304A JP7826760B2 (en) 2022-03-16 2022-03-16 Time synchronization method, robot controller, and robot system

Publications (2)

Publication Number Publication Date
JP2023135945A JP2023135945A (en) 2023-09-29
JP7826760B2 true JP7826760B2 (en) 2026-03-10

Family

ID=88145023

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022041304A Active JP7826760B2 (en) 2022-03-16 2022-03-16 Time synchronization method, robot controller, and robot system

Country Status (1)

Country Link
JP (1) JP7826760B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006150562A (en) 2004-12-01 2006-06-15 Toshiba Corp ROBOT, MODULE SELECTION DEVICE, AND ROBOT CONTROL METHOD
JP2006312237A (en) 2005-05-06 2006-11-16 Fanuc Robotics America Inc Synchronization system for at least two robot arms and its control method
JP2014116007A (en) 2012-12-06 2014-06-26 Toyota Motor Engineering & Manufacturing North America Inc Object detection parameter, object recognition parameter and method and robot for adjusting object detection parameter and object recognition parameter

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3327123B2 (en) * 1996-06-04 2002-09-24 トヨタ自動車株式会社 Integrated control system for work robots

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006150562A (en) 2004-12-01 2006-06-15 Toshiba Corp ROBOT, MODULE SELECTION DEVICE, AND ROBOT CONTROL METHOD
JP2006312237A (en) 2005-05-06 2006-11-16 Fanuc Robotics America Inc Synchronization system for at least two robot arms and its control method
JP2014116007A (en) 2012-12-06 2014-06-26 Toyota Motor Engineering & Manufacturing North America Inc Object detection parameter, object recognition parameter and method and robot for adjusting object detection parameter and object recognition parameter

Also Published As

Publication number Publication date
JP2023135945A (en) 2023-09-29

Similar Documents

Publication Publication Date Title
US10732601B2 (en) Integrated controller for motion control and motor control
US9424646B2 (en) Control system and control method
US10908577B2 (en) Control device
US10496079B2 (en) Control device and control method
JP2003145462A (en) Robot cooperative control system
JP7078895B2 (en) Control systems, controls, image processing devices and programs
CN100349078C (en) Synchronous controller
US20180257226A1 (en) Method for commanding an automated work cell
JPH1133960A (en) Method for controlling robot
JP2019215633A (en) Control system, control unit, image processing apparatus, and program
CN121061905B (en) Mechanical arm control system and control method
JP7826760B2 (en) Time synchronization method, robot controller, and robot system
JP2009218933A (en) Smart camera and robot vision system
CN112835329A (en) Motor controllers, numerical controllers, robot controllers, and integrated controller systems
US20230294286A1 (en) Robot Controller And Robot System
JP6838672B2 (en) Actuator control system, sensor device, control device, actuator control method, information processing program, and recording medium
JP7095417B2 (en) Control system, control system control method, and control system program
US12564950B2 (en) Robot control method, robot control system, and robot control program
JP6919622B2 (en) Control systems, control methods, and control programs
JPH09269811A (en) Robot controller
US12111629B2 (en) Control device
US11213959B2 (en) Identification number setting system, identification number setting method, and robot system
WO2024185100A1 (en) Control system, communication terminal, and communication method
JP2019215634A (en) Control system, control unit, and program
JPH08336782A (en) Robot controller communication method and robot controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20250127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20251127

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: 20260127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260209

R150 Certificate of patent or registration of utility model

Ref document number: 7826760

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150