JP7786267B2 - ロボット制御装置、ロボット制御装置の起動方法およびロボットシステム - Google Patents

ロボット制御装置、ロボット制御装置の起動方法およびロボットシステム

Info

Publication number
JP7786267B2
JP7786267B2 JP2022041303A JP2022041303A JP7786267B2 JP 7786267 B2 JP7786267 B2 JP 7786267B2 JP 2022041303 A JP2022041303 A JP 2022041303A JP 2022041303 A JP2022041303 A JP 2022041303A JP 7786267 B2 JP7786267 B2 JP 7786267B2
Authority
JP
Japan
Prior art keywords
program
unit
control unit
robot
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
JP2022041303A
Other languages
English (en)
Other versions
JP2023135944A (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 JP2022041303A priority Critical patent/JP7786267B2/ja
Publication of JP2023135944A publication Critical patent/JP2023135944A/ja
Priority to JP2025210289A priority patent/JP2026031629A/ja
Application granted granted Critical
Publication of JP7786267B2 publication Critical patent/JP7786267B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Manipulator (AREA)
  • Stored Programmes (AREA)

Description

本発明は、ロボット制御装置、ロボット制御装置の起動方法およびロボットシステムに関するものである。
特許文献1には、ロボットアームと、ロボットアームを制御するコントローラと、を備えた産業用ロボットが開示されている。この産業用ロボットは、コントローラが備えるCPU(Central Processing Unit)の起動に必要な初期化プログラムを格納する格納手段を有している。
CPUの起動時には、一般的に、セキュアブートが行われることが知られている。セキュアブートとは、CPUを起動するためのプログラム自体が改ざん等されていないことを検証してから、ブートプログラムを実行する機能のことをいう。産業用ロボットのコントローラにおいても、このようなセキュアブートを行うことが求められている。
特開1999-099492号公報
特許文献1に記載のコントローラでセキュアブートを行う際に、コントローラが有するファームウェアの一部を認証できなかった場合、コントローラの通信機能やプログラム実行機能に問題がなくても、CPUを起動することができないという課題が生じる。
本発明の適用例に係るロボット制御装置は、
ロボットアームを備えるロボットの動作を制御するロボット制御装置であって、
起動プログラム実行機能を有する第1制御部と、
前記ロボットアームの軌道を生成する機能を有する第2制御部と、
定常起動モードで前記第1制御部を起動させる定常起動指令、および、前記定常起動モードと比べて前記第1制御部の機能を制限する制限起動モードで前記第1制御部を起動させる制限起動指令を含む第1プログラム、ならびに、前記第2制御部を起動させる第2プログラム、を格納する記憶部と、
を備え、
前記第1制御部は、
前記第1プログラムおよび前記第2プログラムを前記記憶部から読み出すプログラム読出部と、
前記プログラム読出部が読み出した前記第1プログラムおよび前記第2プログラムを認証する全体認証処理、および、前記全体認証処理で認証できなかった場合に前記第1プログラムのみを認証する個別認証処理を行うプログラム認証部と、
前記全体認証処理で認証できた場合には、前記第1プログラムに含まれる前記定常起動指令を実行して前記第1制御部を起動させ、前記全体認証処理で認証できなかった場合には、前記個別認証処理で認証した前記第1プログラムに含まれる前記制限起動指令を実行して前記第1制御部を起動させるプログラム実行部と、
を有することを特徴とする。
本発明の適用例に係るロボット制御装置の起動方法は、
起動プログラム実行機能を有する第1制御部と、
ロボットアームの軌道を生成する機能を有する第2制御部と、
定常起動モードで前記第1制御部を起動させる定常起動指令、および前記定常起動モードと比べて前記第1制御部の機能を制限する制限起動モードで前記第1制御部を起動させる制限起動指令を含む第1プログラム、ならびに、前記第2制御部を起動させる第2プログラム、を格納する記憶部と、
を備えるロボット制御装置を起動する方法であって、
前記第1プログラムおよび前記第2プログラムを前記記憶部から読み出す工程と、
前記第1プログラムおよび前記第2プログラムを認証する全体認証処理を行う工程と、
前記全体認証処理で認証できた場合に、前記第1プログラムに含まれる前記定常起動指令を実行して前記第1制御部が起動するとともに、前記第2プログラムを実行して前記第2制御部が起動する工程と、
前記全体認証処理で認証できなかった場合に、前記第1プログラムのみを認証する個別認証処理を行う工程と、
前記個別認証処理で認証した前記第1プログラムに含まれる前記制限起動指令を実行して前記第1制御部が起動する工程と、
を有することを特徴とする。
本発明の適用例に係るロボットシステムは、
本発明の適用例に係るロボット制御装置と、
前記ロボットアームを備える前記ロボットと、
を備えることを特徴とする。
実施形態に係るロボットシステムを示す概念図である。 図1に示す制御装置のハードウェア構成を示すブロック図である。 図2に示す制御装置の機能を示す機能ブロック図である。 図2のメモリーカードに格納されているファームウェア全体のファイル構造を示す図である。 図4に示すファームウェア全体がメインメモリーにコピーされ、さらに展開された後においてメインメモリーおよび不揮発性メモリーに格納されているプログラム等を示すメモリーマップである。 実施形態に係るロボット制御装置の起動方法を説明するためのフローチャートである。 第1変形例に係る制御装置が備えるメモリーカードに格納されているファームウェア全体のファイル構造を示す図である。 第2変形例に係るロボットシステムが備える制御装置のハードウェア構成を示すブロック図である。
以下、本発明のロボット制御装置、ロボット制御装置の起動方法およびロボットシステムを添付図面に示す好適な実施形態に基づいて詳細に説明する。
1.ロボットシステム
まず、実施形態に係るロボットシステムについて説明する。
図1は、実施形態に係るロボットシステム1を示す概念図である。
図1に示すロボットシステム1は、ロボット100と、制御装置200(実施形態に係るロボット制御装置)と、ティーチングペンダント300と、パーソナルコンピューター350と、表示部360と、を備える。
1.1.ロボット
図1に示すロボット100は、基台120と、ロボットアーム130と、を備える。ロボットアーム130は、基台120側から順に接続された6本のアームと、基台120とアームとの間やアーム同士の間を接続する6つの関節J1~J6と、を備える。図1に示す6つの関節J1~J6のうち、3つの関節J2、J3、J5は、曲げ関節であり、他の3つの関節J1、J4、J6は、ねじり関節である。また、関節J1~J6は、それぞれ図示しないが、駆動源としてのモーターと、モーターの回転量、すなわちモーターの位置情報を検出するためのエンコーダーと、を備えている。本明細書では、モーターおよびエンコーダーを合わせてサーボモーターとする。ロボットアーム130の先端には、ロボットアーム130の位置を示し制御の対象となる制御点が設けられている。
なお、本実施形態では、ロボット100として6軸の垂直多関節ロボットを例示しているが、軸の数は、特に限定されず、6より少なくても多くてもよい。また、ロボット100は、水平多関節ロボットであってもよいし、双腕ロボットであってもよいし、その他の形態のロボットであってもよい。
ロボットアーム130の先端、つまりロボットアーム130の基台120とは反対側の端には、アームエンド132が設けられている。アームエンド132には、力センサー150およびエンドエフェクター160がこの順で取り付けられている。力センサー150は、エンドエフェクター160に加わる力を検出するセンサーである。力センサー150としては、例えば、互いに直交する3つの検出軸に平行な力の大きさと、3つの検出軸まわりのトルクの大きさと、を検出するセンサーが挙げられる。エンドエフェクター160は、着脱可能に取り付けられている。エンドエフェクター160としては、例えば、ワークを把持するハンド、ワークを吸着する吸着ツール等が挙げられる。
1.2.制御装置
図2は、図1に示す制御装置200のハードウェア構成を示すブロック図である。
図2に示す制御装置200(ロボット制御装置)は、メイン基板220(第1制御部)と、第1サブ基板240(第2制御部)と、第2サブ基板260と、を備える。そして、これらの各基板は、通信インターフェース280を介して互いに通信可能になっている。通信インターフェースは、データを伝送する伝送路であり、例えば、PCIExpress(登録商標)のようなシリアル通信インターフェース等である。また、制御装置200は、起動プログラムを格納する記憶部290を備える。
1.2.1.メイン基板
図2に示すメイン基板220は、プリント配線板221と、プロセッサー222と、システムバス226と、メインメモリー228と、不揮発性メモリー230と、入出力ポート232と、メモリーカードインターフェース234と、を備える。
プリント配線板221は、絶縁基板と配線とを備え、取り付けられた電子部品同士を電気的に接続する。
プロセッサー222は、メインメモリー228に展開されたプログラムを実行することにより、メイン基板220が有する各種機能を実現する。プロセッサー222としては、例えば、マイクロプロセッサーの他、図2に示すコア223およびキャッシュメモリー224を備えるプロセッサー回路等が挙げられる。マイクロプロセッサーおよびコアとしては、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等が挙げられる。プロセッサー回路としては、例えばSoC(System on a Chip)、SiP(System in a Package)等が挙げられる。なお、本実施形態では、プロセッサー222のハードウェア構成は、SoCである。これにより、プロセッサー222の小型化、省電力化および低コスト化を図ることができる。また、プロセッサー222の製造が容易となる。
システムバス226は、プロセッサー222と、メインメモリー228および不揮発性メモリー230と、の間を接続してデータの通信を可能にする伝送路である。
メインメモリー228は、プロセッサー222に実行させるプログラムや読み出されるデータ等を一時的に格納する。メインメモリー228としては、例えば、DRAM(Dynamic Random Access Memory)のような揮発性メモリー等が挙げられる。
不揮発性メモリー230は、プロセッサー222に実行させるプログラムや読み出されるデータ等を格納する。不揮発性メモリー230としては、例えば、EEPROM(Electrically Erasable Programmable Read-Only Memory)、ROM(Read-Only Memory)等が挙げられる。なお、不揮発性メモリー230は、外付け型のメモリーであってもよい。
入出力ポート232は、メイン基板220と他の装置との間で通信を行うためのインターフェースである。入出力ポート232としては、例えば、USB(Universal Serial Bus)等のデジタル入出力ポート、イーサネット(登録商標)ポート、映像出力ポート等が挙げられる。
メモリーカードインターフェース234は、メモリーカード236(記憶媒体)を着脱可能にするインターフェースである。メモリーカードインターフェース234は、装着されたメモリーカード236に格納されたデータを読み出したり、装着されたメモリーカード236に対してデータを書き込んだりすることができる。メモリーカード236には、後述するファームウェア全体400が格納されている。メモリーカード236としては、例えば、SDカード、USBメモリー等の各種記憶媒体が挙げられる。また、この記憶媒体は、データ書き換え可能であり、かつ、不揮発性を有することが好ましい。これにより、正常なファームウェア全体400を格納したメモリーカード236に容易に交換できるため、メモリーカード236のファームウェア全体400が読み出せない場合や、読み出せたものの壊れていた、といった不具合を速やかに解消することができる。特に、メイン基板220や第1サブ基板にファームウェア全体400が格納されていると、取り付け等の煩雑さや取り扱いの難しさから交換が難しく時間がかかるが、メモリーカード236は着脱可能で速やかに交換できるため、ロボットシステム1のダウンタイムを最小限に留めることができる。
また、メモリーカードインターフェース234に装着されたメモリーカード236により、前述した記憶部290が構成される。なお、記憶部290は、本実施形態のような着脱可能な状態になっていなくてもよい。また、記憶部290は、メイン基板220に搭載されていても、外部に設けられていてもよい。
1.2.2.第1サブ基板
図2に示す第1サブ基板240は、プリント配線板241と、プロセッサー242と、システムバス246と、メインメモリー248と、を備える。
プリント配線板241は、絶縁基板と配線とを備え、取り付けられた電子部品同士を電気的に接続する。
プロセッサー242は、メインメモリー248に展開されたプログラムを実行することにより、第1サブ基板240が有する各種機能を実現する。プロセッサー242としては、例えば、マイクロプロセッサーの他、図2に示すコア243およびキャッシュメモリー244を備えるプロセッサー回路等が挙げられる。なお、本実施形態では、プロセッサー242のハードウェア構成は、SoCである。これにより、プロセッサー242の小型化、省電力化および低コスト化を図ることができる。また、プロセッサー242の製造が容易となる。
システムバス246は、プロセッサー242とメインメモリー248との間を通信可能にする。メインメモリー248は、プロセッサー242に実行させるプログラムや読み出されるデータ等を一時的に格納する。
1.2.3.第2サブ基板
図2に示す第2サブ基板260は、プリント配線板261と、プロセッサー262と、システムバス266と、メインメモリー268と、を備える。
プリント配線板261は、絶縁基板と配線とを備え、取り付けられた電子部品同士を電気的に接続する。
プロセッサー262は、メインメモリー268に展開されたプログラムを実行することにより、第2サブ基板260が有する各種機能を実現する。プロセッサー262としては、例えば、マイクロプロセッサーの他、図2に示すコア263およびFPGA264を備えるプロセッサー回路等が挙げられる。FPGAは、Field Programmable Gate Arrayである。なお、本実施形態では、プロセッサー262のハードウェア構成は、SoCである。これにより、プロセッサー262の小型化、省電力化および低コスト化を図ることができる。また、プロセッサー262の製造が容易となる。
システムバス266は、プロセッサー262とメインメモリー268との間を通信可能にする。メインメモリー268は、プロセッサー262に実行させるプログラムや読み出されるデータ等を一時的に格納する。
以上、制御装置200のハードウェア構成例について説明したが、ハードウェア構成は、これに限定されない。例えば、第2サブ基板260が省略されていてもよいし、さらに別のサブ基板が追加されていてもよい。
1.2.4.機能部
図3は、図2に示す制御装置200の機能を示す機能ブロック図である。
図3に示すメイン基板220は、機能部として、インターフェース制御部312と、言語解析部314と、入出力制御部316と、割り込み制御部318と、起動処理部320と、表示制御部331と、を有する。これらの各機能部は、プロセッサー222を含むハードウェアにより実現される。
インターフェース制御部312(I/F制御部)は、例えば、メイン基板220、第1サブ基板240および第2サブ基板260の間の通信を制御する。
言語解析部314は、ロボット100の動作を記述するロボット言語を読み取り、解析する。後述する入出力制御部316を介して、パーソナルコンピューター350からロボット100のプログラムを受け付け、このプログラムを解析して、ロボットアーム130の目標位置情報を取得する。目標位置情報は、ロボットアーム130の制御点を移動させる目標地点である目標位置P1についての情報であり、例えば、目標位置P1の座標を示すデータである。この他に、ロボットアーム130の制御点が現在位置から目標位置P1まで移動する移動距離等の情報でもよい。
入出力制御部316(I/O制御部)は、メイン基板220に接続されるティーチングペンダント300、パーソナルコンピューター350やその他の周辺機器等との接続を制御する。
割り込み制御部318は、実行中のプログラムから別のプログラムに分岐する処理(割り込み処理)を制御する。
起動処理部320は、記憶部290に格納されている起動プログラムを読み出して実行する機能を有する。起動プログラムを実行することにより、メイン基板220が起動する。起動処理部320は、プログラム読出部322と、プログラム認証部324と、プログラム展開部326と、プログラム実行部328と、プログラム更新部330(通信部)と、を有する。
図4は、図2のメモリーカード236に格納されているファームウェア全体400のファイル構造を示す図である。プログラム読出部322は、メモリーカード236に格納されているファームウェア全体400(起動プログラム)を読み出す。そして、プログラム読出部322は、読み出したファームウェア全体400をメインメモリー228の一時保存領域にコピーする。
図5は、図4に示すファームウェア全体400がメインメモリー228にコピーされ、さらに展開された後においてメインメモリー228および不揮発性メモリー230に格納されているプログラム等を示すメモリーマップである。ファームウェア全体400は、通常、バイナリー形式とされるが、テキスト形式であってもよい。
図4に示すファームウェア全体400は、全体ヘッダー401と、メイン基板用ヘッダー411と、メイン基板用ファームウェア412(第1プログラム)と、第1サブ基板用ヘッダー421と、第1サブ基板用ファームウェア422(第2プログラム)と、第2サブ基板用ヘッダー431と、第2サブ基板用ファームウェア432と、を含む。
全体ヘッダー401は、メイン基板用ファームウェア412、第1サブ基板用ファームウェア422および第2サブ基板用ファームウェア432の全体に関する情報、具体的には、メイン基板用ヘッダー411、第1サブ基板用ヘッダー421および第2サブ基板用ヘッダー431を全て含んでいる。
図4には、一例として、メイン基板用ヘッダー411の構成を示す図を付している。メイン基板用ヘッダー411は、サイズ414と、認証コード415と、を含む。サイズ414は、メイン基板用ファームウェア412のデータサイズである。認証コード415は、メイン基板用ファームウェア412の真正性を検証するためのコードである。これらの情報に基づいて、後述するプログラム認証部324が認証処理を行う。
メイン基板用ファームウェア412は、メイン基板220を起動するブートプログラムである。第1サブ基板用ファームウェア422は、第1サブ基板240を起動するブートプログラムである。第2サブ基板用ファームウェア432は、第2サブ基板260を起動するブートプログラムである。
プログラム認証部324は、全体ヘッダー401に基づいて、プログラム読出部322が読み出したメイン基板用ファームウェア412、第1サブ基板用ファームウェア422および第2サブ基板用ファームウェア432の全体を認証する。このようなパターンの認証処理を、本明細書では「全体認証処理」という。
また、何らかの理由により、全体認証処理で前述したファームウェア全体を認証できなかった場合、プログラム認証部324は、メイン基板用ファームウェア412のみを認証する。このようなパターンの認証処理を、本明細書では「個別認証処理」という。
なお、認証とは、全体ヘッダー401や各ヘッダー411、421、431が含む情報に基づいて、プログラム認証部324が各ファームウェア412、422、432の真正性を検証することをいう。また、本明細書では、この検証の結果、真正性があることを「認証できた」という。
また、図5に示す不揮発性メモリー230には、予備のメイン基板用ファームウェア506(第3プログラム)が格納されている。
プログラム展開部326は、ファームウェア全体400のうち、認証したメイン基板用ファームウェア412に該当する部分を、メイン基板220が備えるメインメモリー228の実行可能領域に展開する。また、プログラム展開部326は、ファームウェア全体400のうち、認証した第1サブ基板用ファームウェア422に該当する部分を、第1サブ基板240が備えるメインメモリー248に展開し、認証した第2サブ基板用ファームウェア432に該当する部分を、第2サブ基板260が備えるメインメモリー268に展開する。
プログラム実行部328は、個別認証処理で認証したメイン基板用ファームウェア412を実行する。これにより、メイン基板220が起動する。
プログラム更新部330(通信部)は、通信機能を有し、外部から置き換え用プログラムを取得する。そして、置き換え用プログラムにより、メモリーカード236に格納されているファームウェア全体400の少なくとも一部を更新(アップデート)する。更新元としては、例えば、パーソナルコンピューター350が挙げられる。
表示制御部331は、表示部360の動作を制御する。これにより、テキストや画像等を表示部360に表示し、ユーザーに報知することができる。
なお、メイン基板220が有するこれらの機能部は、一例であり、一部が省略されていてもよいし、一部が他の基板にあってもよいし、別の機能部が付加されていてもよい。
図3に示す第1サブ基板240は、機能部として、軌道生成部332と、起動処理部336と、を有する。これらの各機能部は、プロセッサー242を含むハードウェアにより実現される。
軌道生成部332は、メイン基板221から受け付けた目標位置情報に基づいてロボットアーム130が駆動されるときの軌道を生成する。
起動処理部336は、認証した第1サブ基板用ファームウェア422を実行する。これにより、第1サブ基板240が起動する。
なお、第1サブ基板240が有するこれらの機能部は、一例であり、一部が省略されていてもよいし、別の機能部が付加されていてもよい。
図3に示す第2サブ基板260は、機能部として、サーボ処理部342と、起動処理部346と、を有する。これらの各機能部は、プロセッサー262を含むハードウェアにより実現される。
サーボ処理部342は、ロボット100が備えるサーボモーターの動作を制御する。
起動処理部346は、認証した第2サブ基板用ファームウェア432を実行する。これにより、第2サブ基板260が起動する。
なお、第2サブ基板260が有するこれらの機能部は、一例であり、一部が省略されていてもよいし、別の機能部が付加されていてもよい。
1.3.制御装置の起動方法
次に、実施形態に係るロボット制御装置の起動方法について説明する。
図6は、実施形態に係るロボット制御装置の起動方法を説明するためのフローチャートである。なお、以下の説明では、一例として、前述した制御装置200を起動する方法について説明する。
図6に示すロボット制御装置の起動方法は、工程S102から工程S118を有する。
制御装置200に電源が入った後、工程S102に移行する。工程S102では、起動処理部320が有するプログラム読出部322が、メモリーカード236に格納されているファームウェア全体400を読み出す処理を行う。ファームウェア全体400には、図4に示すように、全体ヘッダー401、メイン基板用ヘッダー411、メイン基板用ファームウェア412(第1プログラム)、第1サブ基板用ヘッダー421、第1サブ基板用ファームウェア422(第2プログラム)、第2サブ基板用ヘッダー431、および、第2サブ基板用ファームウェア432が含まれている。
工程S104では、プログラム読出部322がファームウェア全体400を読み出すことができたか否かを判断する。読み出すことができた場合、工程S106に移行する。読み出せなかった場合、工程S118に移行する。また、読み出せなかった場合、プログラム読出部322は、その結果、つまり読み出せなかった旨の処理結果、例えば「failure(1)」というテキスト情報をメインメモリー228に書き込んでおく。なお、記録方法は、これに限定されない。
工程S106では、プログラム読出部322が、読み出したファームウェア全体400を、メイン基板220が備えるメインメモリー228の一時保存領域にコピーする。そして、プログラム認証部324は、全体認証処理を試みて、認証ができたか否か判断する。全体認証処理では、全体ヘッダー401に基づいて、読み出したメイン基板用ファームウェア412、第1サブ基板用ファームウェア422および第2サブ基板用ファームウェア432について、それぞれの真正性を検証する。全体ヘッダー401には、この検証に必要な情報が含まれている。認証できた場合、工程S108に移行する。認証できなかった場合、工程S112に移行する。また、認証できなかった場合、プログラム認証部324は、その結果、つまり全体認証処理で認証できなかった旨の処理結果、例えば「failure(2)」というテキスト情報をメインメモリー228に書き込んでおく。なお、記録方法は、これに限定されない。
なお、工程S106では、ファームウェア全体400の認証に代えて、第1サブ基板用ファームウェア422の認証および第2サブ基板用ファームウェア432の認証の少なくとも一方を行うようにしてもよい。
工程S108では、プログラム展開部326が、認証したメイン基板用ファームウェア412を、メイン基板220が備えるメインメモリー228に展開する。また、プログラム展開部326は、認証した第1サブ基板用ファームウェア422を、第1サブ基板240が備えるメインメモリー248に展開する。さらに、プログラム展開部326は、認証した第2サブ基板用ファームウェア432を、第2サブ基板260が備えるメインメモリー268に展開する。
工程S110では、起動処理部320が有するプログラム実行部328が、認証したメイン基板用ファームウェア412を実行する。これにより、メイン基板220が起動する。また、第1サブ基板240が有する起動処理部336は、認証した第1サブ基板用ファームウェア422を実行する。これにより、第1サブ基板240が起動する。さらに、第2サブ基板260が有する起動処理部346は、認証した第2サブ基板用ファームウェア432を実行する。これにより、第2サブ基板260が起動する。以上のような工程S110により、図6に示すように、制御装置200が通常起動する。
なお、図4に示すメイン基板用ファームウェア412は、メイン基板220を定常起動モードで起動させる定常起動指令413aと、メイン基板220を制限起動モード(アップデートモード)で起動させる制限起動指令413bと、を含んでいる。工程S110では、プログラム実行部328が、メインメモリー228における「failure(1)」または「failure(2)」というテキスト情報の有無を確認する。工程S110では、このテキスト情報が存在していないので、プログラム実行部328は、定常起動指令413aを実行し、メイン基板220を定常起動モードで起動させる。
ここで、制限起動モードとは、定常起動モードと比べて制御装置200の機能の一部を制限する起動モードである。具体的には、後述するファームウェア全体400の少なくとも一部をアップデートする機能や、特定の情報を表示部360に表示させる機能に制限する。
工程S112では、プログラム認証部324が、メイン基板用ファームウェア412のみについて個別認証処理を試み、認証できたか否か判断する。個別認証処理では、メイン基板用ヘッダー411に基づいて、メイン基板用ファームウェア412の真正性を検証する。メイン基板用ヘッダー411には、この検証に必要な情報として、前述したサイズ414および認証コード415等が含まれている。認証できた場合、工程S114に移行する。認証できなかった場合、工程S118に移行する。なお、認証できなかった場合、プログラム認証部324は、その結果、つまり個別認証処理で認証できなかった旨の処理結果も、メインメモリー228に書き込んでおいてもよい。
工程S114では、プログラム展開部326が、認証したメイン基板用ファームウェア412を、メインメモリー228に展開する。
工程S116では、プログラム実行部328が、認証したメイン基板用ファームウェア412を実行する。これにより、メイン基板220が起動する。なお、工程S116でも、プログラム実行部328は、メインメモリー228における「failure(1)」または「failure(2)」というテキスト情報の有無を確認する。工程S116では、このテキスト情報が存在しているので、プログラム実行部328は、制限起動指令413bを実行し、メイン基板220を制限起動モードで起動させる。このような工程S116により、図6に示すように、制御装置200がアップデートモードで起動する。
工程S118では、プログラム読出部322が、図5に示す不揮発性メモリー230に格納されている予備のメイン基板用ファームウェア506を読み出す。予備のメイン基板用ファームウェア506は、前述したメイン基板用ファームウェア412と同等のものであり、前述した定常起動指令413aと同様の定常起動指令507a、および、前述した制限起動指令413bと同様の制限起動指令507bを含む。そして、プログラム展開部326は、読み出した予備のメイン基板用ファームウェア506をメインメモリー228に展開する。その後、工程S116に移行する。
なお、工程S118は、工程S104においてファームウェア全体400を読み出せなかった場合や、工程S112において個別認証処理で認証できなかった場合に実行される。前者の場合が生じる理由としては、ファームウェア全体400の損傷や改ざん等が挙げられる。後者の場合が生じる理由として、メイン基板用ヘッダー411やメイン基板用ファームウェア412の損傷や改ざん等が挙げられる。
以上のようにして、制御装置200は、通常起動またはアップデートモードで起動する。このようなフローによれば、通常起動が不可能な場合でも、アップデートモードで制御装置200が起動できる。このため、例えば、ファームウェア全体400のうち、第1サブ基板用ファームウェア422や第2サブ基板用ファームウェア432が損傷していたり改ざんされていたりした場合でも、制御装置200が起動できる。これにより、ユーザーは、起動後に不具合の原因を特定したり、ファームウェアを更新したりする作業を、速やかに開始することができる。その結果、ロボットシステム1のダウンタイムを最小限に留めることができる。
また、アップデートモードであっても、制御装置200が起動できることにより、起動処理部320が動作可能になるため、認証処理における認証の可否を記録しておくことができる。これにより、不具合の原因の特定が容易に行えるため、不必要な修理作業等を行うことが抑制される。例えば、メインメモリー228に書き込まれた「failure(1)」や「failure(2)」というテキスト情報を読み取ることにより、ユーザーは、メモリーカード236からの読み出し不良や、全体認証処理での認証不可の結果を把握することができる。
なお、制御装置200は、アップデートモードで起動した場合、その結果をユーザーに伝える情報として表示部360に表示させる機能を有していてもよい。例えば、メインメモリー228に「failure(1)」というテキスト情報が書き込まれた場合、表示部360には、記憶部290からの読み出し不良が発生した旨、表示させるようにすればよい。また、メインメモリー228に「failure(2)」というテキスト情報が書き込まれた場合、表示部360には、全体認証処理での認証不可が発生した旨、表示させるようにすればよい。これにより、ユーザーは、制御装置200に不具合があることを的確に把握することができる。その結果、ユーザーは、不具合を解消する作業を速やかに開始することができる。
また、アップデートモードであっても、制御装置200が起動できることにより、起動処理部320が動作可能になるため、必要に応じて、メモリーカード236に格納されているファームウェア全体400の少なくとも一部をアップデートすることができる。つまり、アップデートモードで起動した場合、制御装置200は、メモリーカード236に格納されているファームウェア全体400の少なくとも一部をアップデート可能な状態にする。アップデートは、例えば、パーソナルコンピューター350が保持している置き換え用プログラムで、メモリーカード236に格納されているファイルを置き換える操作により行う。これにより、ファームウェア全体400を読み出せない、読み出せたものの壊れていた、といった不具合を速やかに解消することができる。その結果、ロボットシステム1のダウンタイムを最小限に留めることができる。
なお、本明細書におけるアップデート(更新)には、バージョンが新しいファイルで置き換えるだけでなく、古いファイルで置き換えることも含む。
また、上記のアップデートを実行した場合には、その旨を表示部360に表示させるようにしてもよい。
さらに、工程S104でプログラム読出部322がファームウェア全体400を読み出すことができなかった場合、メモリーカード236に何らかの不具合が発生している可能性もある。そこで、プログラム実行部328が、メインメモリー228における「failure(1)」というテキスト情報を確認した場合等には、メモリーカード236の交換を推奨する情報を表示部360に表示させるようにしてもよい。
また、以上の場合等には、表示部360への表示に加え、または、表示に代えて、ログファイルに記録するようにしてもよい。ログファイルは、例えば、記憶部290に作成すればよい。
1.4.実施形態が奏する効果
以上のように、制御装置200(実施形態に係るロボット制御装置)は、ロボットアーム130を備えるロボット100の動作を制御する装置であって、メイン基板220(第1制御部)と、第1サブ基板240(第2制御部)と、記憶部290と、を少なくとも備える。メイン基板220は、通信機能および起動プログラム実行機能を有する。第1サブ基板240は、ロボットアーム130の軌道を生成する機能を有する。記憶部290は、定常起動指令413aおよび制限起動指令413bを含むメイン基板用ファームウェア412、ならびに、第1サブ基板用ファームウェア422、を格納する。定常起動指令413aは、メイン基板220を定常起動モードで起動させる指令である。制限起動指令413bは、メイン基板220を定常起動モードと比べてメイン基板220の機能を制限する制限起動モード(アップデートモード)で起動させる指令である。
メイン基板220は、プログラム読出部322と、プログラム認証部324と、プログラム実行部328と、を有する。プログラム読出部322は、メイン基板用ファームウェア412(第1プログラム)および第1サブ基板用ファームウェア422(第2プログラム)を含むファームウェア全体400を記憶部290から読み出す。プログラム認証部324は、プログラム読出部322が読み出したファームウェア全体400を認証する全体認証処理、および、ファームウェア全体400を認証できなかった場合にメイン基板用ファームウェア412のみを認証する個別認証処理を行う。プログラム実行部328は、全体認証処理で認証できた場合には、メイン基板用ファームウェア412に含まれる定常起動指令413aを実行してメイン基板220を起動させ、全体認証処理で認証できなかった場合には、個別認証処理で認証したメイン基板用ファームウェア412に含まれる制限起動指令413bを実行してメイン基板220を起動させる。
このような構成によれば、例えば第1サブ基板用ファームウェア422が損傷等していて、全体認証処理で認証できなかった場合でも、アップデートモードで制御装置200を起動することができる。つまり、このような場合でも、制御装置200のセキュアブートを可能にする。これにより、ユーザーは、起動後に不具合の原因を特定したり、ファームウェアを更新したりする作業を、速やかに開始することができる。その結果、ロボットシステム1のダウンタイムを最小限に留めることができる。また、認証処理における認証の可否を記録しておくことで、不具合の原因の特定が容易に行えるため、不必要な修理作業等を行うことが抑制される。つまり、不具合の原因の特定や修理に要する無駄な工数を減らすことができる。
なお、第1サブ基板240が備えるプロセッサー242や第2サブ基板260が備えるプロセッサー262の処理性能は、メイン基板220が備えるプロセッサー222の処理性能と同等以上であってもよいが、同等未満であってもよい。本実施形態では、後者の場合でも、メイン基板220で全体認証処理を実行するため、全体認証処理の処理速度は、プロセッサー242、262の処理性能の影響を受けない。このため、制御装置200の起動時間の短縮を図りつつ、制御装置200の低コスト化を図ることができる。
また、本実施形態において、制御装置200は、不揮発性メモリー230を備える。不揮発性メモリー230は、予備のメイン基板用ファームウェア506(第3プログラム)を格納する。予備のメイン基板用ファームウェア506は、メイン基板220を定常起動モードで起動させる定常起動指令507a、および、メイン基板220を制限起動モード(アップデートモード)で起動させる制限起動指令507bを含む。
そして、制御装置200では、個別認証処理でメイン基板用ファームウェア412(第1プログラム)を認証できなかった場合に、プログラム読出部322が、予備のメイン基板用ファームウェア506を読み出し、プログラム実行部328が、予備のメイン基板用ファームウェア506に含まれる制限起動指令507bを実行してメイン基板220を起動させる。
このような構成によれば、例えばメイン基板用ファームウェア412が損傷等していて、個別認証処理で認証できなかった場合でも、予備のメイン基板用ファームウェア506を読み出すことにより、制御装置200を起動することができる。これにより、ユーザーは、起動後に不具合の原因を特定したり、ファームウェアを更新したりする作業を、速やかに開始することができる。その結果、ロボットシステム1のダウンタイムを最小限に留めることができる。また、認証処理における認証の可否を記録しておくことで、不具合の原因の特定が容易に行えるため、不必要な修理作業等を行うことが抑制される。
また、本実施形態において、制御装置200では、プログラム読出部322がメイン基板用ファームウェア412(第1プログラム)を読み出せなかった場合に、プログラム読出部322が、不揮発性メモリー230に格納されている予備のメイン基板用ファームウェア506(第3プログラム)を読み出し、プログラム実行部328が、予備のメイン基板用ファームウェア506に含まれる制限起動指令507bを実行してメイン基板220を起動させる。
このような構成によれば、プログラム読出部322がファームウェア全体400を読み出すことができなかった場合でも、予備のメイン基板用ファームウェア506を読み出すことにより、制御装置200を起動することができる。これにより、ユーザーは、起動後に不具合の原因を特定したり、ファームウェアを更新したりする作業を、速やかに開始することができる。その結果、ロボットシステム1のダウンタイムを最小限に留めることができる。なお、プログラム読出部322は、予備のメイン基板用ファームウェア506の一部のみを読み出してもよい。
また、記憶部290は、メイン基板220(第1制御部)に対して着脱可能な記憶媒体、例えば、メモリーカードインターフェース234に装着されたメモリーカード236であるのが好ましい。
これにより、正常なファームウェア全体400を格納したメモリーカード236に容易に交換できるため、メモリーカード236のファームウェア全体400が読み出せない場合や、読み出せたものの壊れていた、といった不具合を速やかに解消することができる。その結果、ロボットシステム1のダウンタイムを最小限に留めることができる。
また、本実施形態では、メイン基板220(第1制御部)が、プログラム更新部330(通信部)を有する。プログラム更新部330は、メイン基板220が制限起動モードで起動した場合に、置き換え用プログラムを外部から取得し、記憶部290に格納されているファームウェア全体400を書き換える。書き換えは、ファームウェア全体400であってもよく、ファームウェア全体400の一部、例えばメイン基板用ファームウェア412(第1プログラム)および第1サブ基板用ファームウェア422(第2プログラム)の少なくとも一方であってもよい。
このような構成によれば、ファームウェア全体400を読み出せない、読み出せたものの壊れていた、といった不具合を速やかに解消することができる。その結果、ロボットシステム1のダウンタイムを最小限に留めることができる。
また、本実施形態では、メイン基板220(第1制御部)は、表示部360の動作を制御する表示制御部331を有している。表示制御部331は、メイン基板220が制限起動モードで起動した場合に、その結果を情報として表示部360に表示させる。
このような構成によれば、ユーザーは、制御装置200に何らかの不具合があることを的確に把握することができる。その結果、ユーザーは、不具合を解消する作業を速やかに開始することができる。
また、本実施形態に係るロボット制御装置の起動方法は、工程S102と、工程S106と、工程S110と、工程S112と、工程S116と、を有する。工程S102では、メイン基板用ファームウェア412(第1プログラム)および第1サブ基板用ファームウェア422(第2プログラム)を含むファームウェア全体400を、記憶部290から読み出す。工程S106では、ファームウェア全体400を認証する全体認証処理を行う。工程S110では、全体認証処理で認証できた場合に、メイン基板用ファームウェア412に含まれる定常起動指令413aを実行してメイン基板220が起動するとともに、第1サブ基板用ファームウェア422を実行して第1サブ基板240が起動する。工程S112では、全体認証処理で認証できなかった場合に、メイン基板用ファームウェア412のみを認証する個別認証処理を行う。工程S116では、個別認証処理で認証したメイン基板用ファームウェア412に含まれる制限起動指令413bを実行してメイン基板220が起動する。
このような構成によれば、例えば第1サブ基板用ファームウェア422が損傷等していて、全体認証処理で認証できなかった場合でも、アップデートモードで制御装置200を起動することができる。つまり、このような場合でも、制御装置200のセキュアブートを可能にする。これにより、ユーザーは、起動後に不具合の原因を特定したり、ファームウェアを更新したりする作業を、速やかに開始することができる。その結果、ロボットシステム1のダウンタイムを最小限に留めることができる。また、認証処理における認証の可否を記録しておくことで、不具合の原因の特定が容易に行えるため、不必要な修理作業等を行うことが抑制される。
また、本実施形態に係るロボットシステム1は、ロボットアーム130を備えるロボット100と、制御装置200(本実施形態に係るロボット制御装置)と、を備える。
このような構成によれば、制御装置200が奏する効果を享受することができ、ファームウェアの認証に係るダウンタイムを最小限に留めることができるロボットシステム1を実現することができる。また、ファームウェアの認証に係る不具合の原因を容易に特定することができ、不必要な修理作業等が発生しにくいロボットシステム1を実現することができる。
1.5.第1変形例
次に、第1変形例に係る制御装置について説明する。
図7は、第1変形例に係る制御装置が備えるメモリーカード236に格納されているファームウェア全体400Aのファイル構造を示す図である。
以下、第1変形例について説明するが、以下の説明では、前記実施形態との相違点を中心に説明し、同様の事項についてはその説明を省略する。なお、図7において、前記実施形態と同様の構成については、同一の符号を付している。
図7に示すファームウェア全体400Aのファイル構造は、更新用ヘッダー441および更新用ファームウェア442(更新用プログラム)のデータセット440を、複数含んだ構造である。具体的には、図7に示すファイル構造の例では、全体ヘッダー401とメイン基板用ヘッダー411との間、メイン基板用ファームウェア412と第1サブ基板用ヘッダー421との間、および、第1サブ基板用ファームウェア422と第2サブ基板用ヘッダー431との間に、それぞれデータセット440が配置されている。
更新用ヘッダー441は、メイン基板用ヘッダー411を更新するためのヘッダーであり、例えばメイン基板用ヘッダー411と同じものであってもよいし、異なっていてもよい。更新用ファームウェア442は、メイン基板用ファームウェア412を更新するための更新用プログラムであり、例えばメイン基板用ファームウェア412と同じものであってもよいし、異なっていてもよい。
本第1変形例において、記憶部290は、図7に示すように、メイン基板用ファームウェア412(第1プログラム)を更新するための更新用ファームウェア442(更新用プログラム)を複数格納している。そして、前述した工程S112の個別認証処理でメイン基板用ファームウェア412を認証できなかった場合に、プログラム読出部322は、複数の更新用ファームウェア442のうちの1つを読み出す。
このような構成によれば、仮にメイン基板用ファームウェア412に損傷等があり、それが原因で個別認証処理での認証ができなかったとしても、更新用ファームウェア442を速やかに読み出すことができる。これにより、メインメモリー228に展開されたメイン基板用ファームウェア412を、更新用ファームウェア442で更新することができる。その結果、不揮発性メモリー230に格納されている予備のメイン基板用ファームウェア506を読み出すことなく、制御装置200を起動することができる。
また、図7に示すファームウェア全体400Aでは、データセット440が、ファイル内の様々な位置に分散配置されている。これにより、1つのデータセット440が損傷したとしても、他のデータセット440が損傷する確率を下げることができる。その結果、正常なデータセット440を読み出すことができる確率を高めることができるので、ロバスト性を有する制御装置200を実現することができる。
なお、更新用ファームウェア442は、不揮発性メモリー230に格納されている予備のメイン基板用ファームウェア506とは異なり、必要に応じてバージョンアップすることが可能である。このため、制御装置200をアップデートモードで起動する場合であっても、最新のメイン基板用ファームウェア412に基づいて起動できる点で、本変形例は有用である。
以上のような第1変形例においても、前記実施形態と同様の効果が得られる。
1.6.第2変形例
次に、第2変形例に係るロボットシステムについて説明する。
図8は、第2変形例に係るロボットシステムが備える制御装置200Bのハードウェア構成を示すブロック図である。
以下、第2変形例について説明するが、以下の説明では、前記実施形態との相違点を中心に説明し、同様の事項についてはその説明を省略する。なお、図8において、前記実施形態と同様の構成については、同一の符号を付している。
図8に示すロボットシステム1Bは、制御装置200Bが備えるプロセッサー222、242、262が、マルチコア223B、243B、263Bを備えるプロセッサー回路であること以外、図2に示すロボットシステム1と同様である。
図8に示すメイン基板220では、プロセッサー222がマルチコア223Bを備えている。マルチコア223Bは、第1コア611および第2コア612を有する。そして、第1コア611は、例えば図3に示す言語解析部314を有し、第2コア612は、例えば図3に示すインターフェース制御部312、入出力制御部316および割り込み制御部318、起動処理部320および表示制御部331を有する。
図8に示す第1サブ基板240では、プロセッサー242がマルチコア243Bを備えている。マルチコア243Bは、第1コア621および第2コア622を有する。そして、第1コア621は、例えば図3に示す軌道生成部332を有し、第2コア622は、例えば図3に示す起動処理部336を有する。
図8に示す第2サブ基板260では、プロセッサー262がマルチコア263Bを備えている。マルチコア263Bは、第1コア631および第2コア632を有する。そして、第1コア631は、例えば図3に示すサーボ処理部342を有し、第2コア632は、例えば図3に示す起動処理部346を有する。
プロセッサー222、242、262が、マルチコア223B、243B、263Bを備えることにより、プロセッサー222、242、262は、複数の処理を並列に実行することができる。これにより、消費電力や発熱量を抑えつつ、制御装置200Bの性能を高めることができる。
なお、マルチコア223B、243B、263Bが有するコアの数は、それぞれ特に限定されない。また、各コアに対する機能部の割り振りパターンは、上記の例に限定されず、いかなるパターンであってもよい。
以上のような第2変形例においても、前記実施形態と同様の効果が得られる。
以上、本発明のロボット制御装置、ロボット制御装置の起動方法およびロボットシステムを、図示の実施形態に基づいて説明したが、本発明は、これに限定されるものではない。
例えば、本発明のロボット制御装置およびロボットシステムは、前記実施形態および前記各変形例の各部の構成が、同様の機能を有する任意の構成のものに置換されたものであってもよく、他の任意の構成物が付加されたものであってもよい。
また、本発明のロボット制御装置の起動方法は、前記実施形態に任意の目的の工程が付加されたものであってもよい。
1…ロボットシステム、1B…ロボットシステム、100…ロボット、120…基台、130…ロボットアーム、132…アームエンド、150…力センサー、160…エンドエフェクター、200…制御装置、200B…制御装置、220…メイン基板、221…プリント配線板、222…プロセッサー、223…コア、223B…マルチコア、224…キャッシュメモリー、226…システムバス、228…メインメモリー、230…不揮発性メモリー、232…入出力ポート、234…メモリーカードインターフェース、236…メモリーカード、240…第1サブ基板、241…プリント配線板、242…プロセッサー、243…コア、243B…マルチコア、244…キャッシュメモリー、246…システムバス、248…メインメモリー、260…第2サブ基板、261…プリント配線板、262…プロセッサー、263…コア、263B…マルチコア、264…FPGA、266…システムバス、268…メインメモリー、280…通信インターフェース、290…記憶部、300…ティーチングペンダント、312…インターフェース制御部、314…言語解析部、316…入出力制御部、318…割り込み制御部、320…起動処理部、322…プログラム読出部、324…プログラム認証部、326…プログラム展開部、328…プログラム実行部、330…プログラム更新部、331…表示制御部、332…軌道生成部、336…起動処理部、342…サーボ処理部、346…起動処理部、350…パーソナルコンピューター、360…表示部、400…ファームウェア全体、400A…ファームウェア全体、401…全体ヘッダー、411…メイン基板用ヘッダー、412…メイン基板用ファームウェア、413a…定常起動指令、413b…制限起動指令、414…サイズ、415…認証コード、421…第1サブ基板用ヘッダー、422…第1サブ基板用ファームウェア、431…第2サブ基板用ヘッダー、432…第2サブ基板用ファームウェア、440…データセット、441…更新用ヘッダー、442…更新用ファームウェア、506…予備のメイン基板用ファームウェア、507a…定常起動指令、507b…制限起動指令、611…第1コア、612…第2コア、621…第1コア、622…第2コア、631…第1コア、632…第2コア、J1…関節、J2…関節、J3…関節、J4…関節、J5…関節、J6…関節、S102…工程、S104…工程、S106…工程、S108…工程、S110…工程、S112…工程、S114…工程、S116…工程、S118…工程

Claims (9)

  1. ロボットアームを備えるロボットの動作を制御するロボット制御装置であって、
    起動プログラム実行機能を有する第1制御部と、
    前記ロボットアームの軌道を生成する機能を有する第2制御部と、
    定常起動モードで前記第1制御部を起動させる定常起動指令、および、前記定常起動モードと比べて前記第1制御部の機能を制限する制限起動モードで前記第1制御部を起動させる制限起動指令を含む第1プログラム、ならびに、前記第2制御部を起動させる第2プログラム、を格納する記憶部と、
    を備え、
    前記第1制御部は、
    前記第1プログラムおよび前記第2プログラムを前記記憶部から読み出すプログラム読出部と、
    前記プログラム読出部が読み出した前記第1プログラムおよび前記第2プログラムを認証する全体認証処理、および、前記全体認証処理で認証できなかった場合に前記第1プログラムのみを認証する個別認証処理を行うプログラム認証部と、
    前記全体認証処理で認証できた場合には、前記第1プログラムに含まれる前記定常起動指令を実行して前記第1制御部を起動させ、前記全体認証処理で認証できなかった場合には、前記個別認証処理で認証した前記第1プログラムに含まれる前記制限起動指令を実行して前記第1制御部を起動させるプログラム実行部と、
    を有することを特徴とするロボット制御装置。
  2. 前記定常起動指令および前記制限起動指令を含む第3プログラムを格納する不揮発性メモリーを備え、
    前記個別認証処理で前記第1プログラムを認証できなかった場合に、
    前記プログラム読出部は、前記第3プログラムを読み出し、
    前記プログラム実行部は、前記第3プログラムに含まれる前記制限起動指令を実行して前記第1制御部を起動させる請求項1に記載のロボット制御装置。
  3. 前記定常起動指令および前記制限起動指令を含む第3プログラムを格納する不揮発性メモリーを備え、
    前記プログラム読出部が前記第1プログラムを読み出せなかった場合に、
    前記プログラム読出部は、前記第3プログラムを読み出し、
    前記プログラム実行部は、前記第3プログラムに含まれる前記制限起動指令を実行して前記第1制御部を起動させる請求項1に記載のロボット制御装置。
  4. 前記記憶部は、前記第1プログラムを更新する更新用プログラムを複数格納し、
    前記個別認証処理で前記第1プログラムを認証できなかった場合に、前記プログラム読出部は、複数の前記更新用プログラムのうちの1つを読み出す請求項1に記載のロボット制御装置。
  5. 前記記憶部は、前記第1制御部に対して着脱可能な記憶媒体である請求項1ないし4のいずれか1項に記載のロボット制御装置。
  6. 前記第1制御部は、通信部を有し、
    前記第1制御部が前記制限起動モードで起動した場合に、前記通信部は、置き換え用プログラムを外部から取得し、前記記憶部に格納されている前記第1プログラムおよび前記第2プログラムの少なくとも一方を書き換える請求項1ないし5のいずれか1項に記載のロボット制御装置。
  7. 前記第1制御部は、情報を表示する表示部の動作を制御する表示制御部を有し、
    前記表示制御部は、前記第1制御部が前記制限起動モードで起動した場合に、その結果を前記情報として前記表示部に表示させる請求項1ないし6のいずれか1項に記載のロボット制御装置。
  8. 起動プログラム実行機能を有する第1制御部と、
    ロボットアームの軌道を生成する機能を有する第2制御部と、
    定常起動モードで前記第1制御部を起動させる定常起動指令、および前記定常起動モードと比べて前記第1制御部の機能を制限する制限起動モードで前記第1制御部を起動させる制限起動指令を含む第1プログラム、ならびに、前記第2制御部を起動させる第2プログラム、を格納する記憶部と、
    を備えるロボット制御装置を起動する方法であって、
    前記第1プログラムおよび前記第2プログラムを前記記憶部から読み出す工程と、
    前記第1プログラムおよび前記第2プログラムを認証する全体認証処理を行う工程と、
    前記全体認証処理で認証できた場合に、前記第1プログラムに含まれる前記定常起動指令を実行して前記第1制御部が起動するとともに、前記第2プログラムを実行して前記第2制御部が起動する工程と、
    前記全体認証処理で認証できなかった場合に、前記第1プログラムのみを認証する個別認証処理を行う工程と、
    前記個別認証処理で認証した前記第1プログラムに含まれる前記制限起動指令を実行して前記第1制御部が起動する工程と、
    を有することを特徴とするロボット制御装置の起動方法。
  9. 請求項1ないし7のいずれか1項に記載のロボット制御装置と、
    前記ロボットアームを備える前記ロボットと、
    を備えることを特徴とするロボットシステム。
JP2022041303A 2022-03-16 2022-03-16 ロボット制御装置、ロボット制御装置の起動方法およびロボットシステム Active JP7786267B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022041303A JP7786267B2 (ja) 2022-03-16 2022-03-16 ロボット制御装置、ロボット制御装置の起動方法およびロボットシステム
JP2025210289A JP2026031629A (ja) 2022-03-16 2025-12-01 情報処理装置および情報処理装置の起動方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022041303A JP7786267B2 (ja) 2022-03-16 2022-03-16 ロボット制御装置、ロボット制御装置の起動方法およびロボットシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2025210289A Division JP2026031629A (ja) 2022-03-16 2025-12-01 情報処理装置および情報処理装置の起動方法

Publications (2)

Publication Number Publication Date
JP2023135944A JP2023135944A (ja) 2023-09-29
JP7786267B2 true JP7786267B2 (ja) 2025-12-16

Family

ID=88145012

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022041303A Active JP7786267B2 (ja) 2022-03-16 2022-03-16 ロボット制御装置、ロボット制御装置の起動方法およびロボットシステム
JP2025210289A Pending JP2026031629A (ja) 2022-03-16 2025-12-01 情報処理装置および情報処理装置の起動方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2025210289A Pending JP2026031629A (ja) 2022-03-16 2025-12-01 情報処理装置および情報処理装置の起動方法

Country Status (1)

Country Link
JP (2) JP7786267B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018122397A (ja) 2017-01-31 2018-08-09 ブラザー工業株式会社 制御装置
JP2021002168A (ja) 2019-06-20 2021-01-07 キヤノン株式会社 情報処理装置、情報処理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1199492A (ja) * 1997-09-29 1999-04-13 Matsushita Electric Ind Co Ltd 産業用ロボット

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018122397A (ja) 2017-01-31 2018-08-09 ブラザー工業株式会社 制御装置
JP2021002168A (ja) 2019-06-20 2021-01-07 キヤノン株式会社 情報処理装置、情報処理方法

Also Published As

Publication number Publication date
JP2023135944A (ja) 2023-09-29
JP2026031629A (ja) 2026-02-24

Similar Documents

Publication Publication Date Title
KR100381416B1 (ko) 컴퓨터 시스템 및 그 컴퓨터 시스템의 프로덕트 키 저장방법
CN100538567C (zh) 可编程控制器
CN113094107A (zh) 数据保护方法、装置、设备及计算机存储介质
JP7786267B2 (ja) ロボット制御装置、ロボット制御装置の起動方法およびロボットシステム
JP4784100B2 (ja) 処理装置およびそのファームウェアダウンロード方法。
JP2003345617A (ja) 情報処理装置、情報処理方法、icカード、及びプログラム
JP2001117779A (ja) 電子機器、及び、プログラム書き換え方法
CN113254053B (zh) 一种双cpu系统的固件升级方法、系统
JP2001344156A (ja) フラッシュメモリを有する装置およびデータの書き換え方法
JP3734285B2 (ja) ファームウエア更新装置、ファームウエア更新方法
US20240189988A1 (en) Control apparatus and robot system
JP2002006910A (ja) 更新機能付きプログラマブルコントローラおよびプログラマブルコントローラの機能拡張ユニットの機能更新方法
JPH10289077A (ja) 印刷装置
TW202528928A (zh) 機器人控制裝置及程式
JPH06219021A (ja) 画像形成装置
JP2025184167A (ja) ソフトウェアの更新方法及び更新制御プログラム
JP4575112B2 (ja) ファームウェアの書換方法、ディスクドライブ装置、及び情報処理システム
JP2008293468A (ja) マザーボードの製造方法
JP2004348546A (ja) 制御プログラム切替え装置及びその方法
JP2006154988A (ja) アップデート方法及び装置
JP2004094342A (ja) プリンタにおけるフラッシュメモリの判定方法、この方法をコンピュータに実行させるプログラム、このプログラムを記録した記録媒体、フラッシュメモリを備えるプリンタ
JP2012221441A (ja) 印刷装置のソフトウェア書換えシステム、印刷装置、印刷装置のソフトウェア書換え方法
CN120162066A (zh) 一种多应用软件的升级方法、装置、电子设备及存储介质
JP3060376U (ja) メモリ装置
CN116166285A (zh) bootloader软件更新方法、装置、嵌入式控制器及计算机可读存储介质

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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20251117

R150 Certificate of patent or registration of utility model

Ref document number: 7786267

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150