[遠隔制御システムの構成例]
図1は、本実施形態における遠隔制御システムの構成を示す機能ブロック図である。本実施形態における遠隔制御システム3は、操作装置1と、被操作装置2とを備える。被操作装置2は、例えば、バックホー、ブルドーザ、パワーショベル、ホイールダンプ、クローラダンプ等の建設機械である。また、被操作装置2は、例えば、建設機械の構成の一部であってよい。
本実施形態における遠隔制御システム3において、操作装置1と被操作装置2とは、無線で通信(無線通信)する。操作装置1は、無線における主局である。被操作装置2は、無線における子局である。なお、以下の説明において、無線で通信(送信、受信)することを、単に、通信(送信、受信)するという場合もある。
本実施形態においては、操作装置1と被操作装置2との間で特定小電力無線を用いる。より具体的には、操作装置1と被操作装置2との間で、ARIB STD−T108(「920MHz(メガヘルツ)帯テレメータ用、テレコントロール用及びデータ伝送用無線設備」標準規格)を適用する920MHz帯特定小電力無線を用いる。
ここで、920MHz帯特定小電力無線による無線通信に対して、ARIB STD−T108によって設けられた制約について説明する。
ARIB STD−T108は、無線通信の空中線電力が1mW(ミリワット)以上20mW以下である場合、無線通信に対して以下の制約を設けている。第1の制約は、送信の開始時において、競合電波の検出(キャリアセンス)時間として5ms(ミリ秒、ミリセカンド)以上の時間を設けることである。第2の制約は、連続した送信の時間は4s(秒)以内であることである。第3の制約は、4sの連続した送信を行った場合、50msの送信休止時間を設けることである。ここで、送信休止時間は、送信を休止する時間である。第4の制約は、4s以内の連続した送信を行う場合、各送信の開始時において、キャリアセンス時間として0.128ms以上の時間を設けることである。
ここで、操作装置1において、上述の制約に加えて、さらに、安定した無線通信を確保するために、送信の開始時において、キャリアセンスを実行するまでの待ち時間(バックオフ)として0ms乃至10msの時間を設ける。
ARIB STD−T108の無線通信に対して設けられた制約に基づき、さらに前述のバックオフを設けて無線通信を行う遠隔制御システムの場合、その遠隔制御システムの送信側機器における送信間隔時間に大きなばらつきが生じる場合もある。送信間隔時間は、一つの送信を開始する時刻(送信開始時刻)から次の送信を開始する時刻までの時間である。送信間隔時間の大きなばらつきが生じる場合、その遠隔制御システムの受信側機器における受信間隔時間にも大きなばらつきが生じる。受信間隔時間は、1つの受信を完了する時刻(受信完了時刻)から次の受信を完了する時刻までの時間である。受信間隔時間のばらつきにより、送信側機器によって受信側機器の制御信号が送信されている場合においては、送信側機器で意図した動作が受信側機器において再現できない場合もある。
そこで、本実施形態における遠隔制御システム3においては、操作装置1は、固定した送信間隔時間(固定送信間隔時間)で被操作装置2と通信する。具体的には、操作装置1は、送信間隔時間を80msに固定する。これにより、被操作装置2における受信間隔時間のばらつきを小さくできる。つまり、操作装置1で意図した動作が被操作装置2において再現できる。
遠隔制御システム3において、操作装置1は、操作部11と、操作側制御部12と、操作側通信部13とを含んで構成される。操作部11は、操作量を操作信号として操作側制御部12へ出力する。操作量は、建設機械の制御に関する情報である。建設機械は、操作量に応じて制御される。操作部11は、生成した操作信号を操作側制御部12へ出力する。操作側制御部12は、操作部11から操作信号を入力する。操作側制御部12は、入力した操作信号を、サンプリング周期(第1の時間)でサンプリングする。サンプリング周期は、操作装置1によって、無線方式、建設機械の特性、等に応じて予め定められた時間である。また、サンプリング周期は、操作装置1における固定送信間隔時間(第2の時間)よりも短い時間である。
なお、サンプリング周期は、例えば、操作装置1における固定送信間隔時間に基づいて定めてよい。サンプリング周期は、例えば、操作装置1における固定送信間隔時間を2以上の整数で割ることにより得られた時間である。このようにすることで、操作装置1は、固定送信間隔時間内に常に一定の数のサンプリングを行うことができる。本実施形態におけるサンプリング周期は、操作装置1における固定送信間隔時間である80msを4で割ることにより得られた時間である。つまり、サンプリング周期は20msである。
操作側制御部12は、入力した操作信号を、20msのサンプリング周期でサンプリングする。
操作側制御部12は、サンプリングにより複数回繰り返し、操作情報を取得する。操作側制御部12は、時間的に連続した所定のサンプル数の操作情報を含む、1つのパケットを生成する。ここで、所定のサンプル数は、操作装置1によって、無線方式、建設機械の特性、等に応じて予め定められた数である。サンプル数は、例えば、操作装置1における固定送信間隔時間をサンプリング周期で割ることにより算出された数である。本実施形態において、サンプル数は、操作装置1における固定送信間隔時間である80msをサンプリング周期である20msで割ることにより得られた数である4である。
なお、予め定められた数であるサンプル数とサンプリング周期によって、固定送信間隔時間が定められても構わない。例えば、サンプリング周期(第1の時間)をサンプル数倍、またはほぼサンプル数倍した時間を、固定送信間隔時間(第2の時間)としてよい。具体的には、例えば、サンプル数が4であり、サンプリング周期が20msである場合、固定送信間隔時間は80msである。
パケットは、時間的に連続した4つの操作情報を、所定の構造によって1つのデータにしたものである。操作側制御部12は、生成したパケットを操作側通信部13へ出力する。
操作側通信部13は、被操作装置2と無線通信する。操作側通信部13は、操作側制御部12から入力したパケットを被操作装置2へ送信する。操作側通信部13は、固定送信間隔時間で被操作装置2へ送信を行う。固定送信間隔時間は80msである。
なお、送信時間間隔は、80ms以外の時間に固定されてもよい。固定送信時間間隔は、操作装置1と被操作装置2との間で用いる無線方式に応じて定めることが望ましい。
以上のように、遠隔制御システム3において、操作装置1における操作側制御部12は、80msの固定送信間隔時間より短い、20msのサンプリング周期で操作信号のサンプリングを行う。操作側制御部12は、サンプリングによって操作情報を取得する。操作側制御部12は、時間的に連続した4つの操作情報を含む1つのパケットを生成する。操作側制御部12は、生成したパケットを80msの固定送信間隔時間ごとに操作側通信部13に送信させる。これにより、操作装置1は、固定送信間隔時間より短いサンプリング周期のサンプリングによって取得した、時間的に連続した複数の操作情報を被操作装置2へ送信できる。
なお、遠隔制御システム3の操作装置1において、操作部11は、図示しない操作体を含んでもよい。操作体は、例えば、ジョイスティックである。操作部11は、オペレータが操作体を操作することによって取得した操作量に基づいて操作信号を生成してもよい。
次に、被操作装置2について説明する。遠隔制御システム3において、被操作装置2は、建設機械側通信部21と、建設機械側制御部22と、駆動部23とを含んで構成される。建設機械側通信部21は、操作側通信部13と無線通信する。建設機械側通信部21は、操作側通信部13が送信したパケットを受信する。建設機械側通信部21は、受信したパケットを建設機械側制御部22へ出力する。
建設機械側制御部22は、建設機械側通信部21からパケットを入力する。建設機械側制御部22は、入力したパケットに含まれる、操作側制御部12においてサンプリングによって取得した4つの操作情報を抽出する。建設機械側制御部22は、抽出した操作情報の各々を、操作側制御部12におけるサンプリング周期と同じ周期で、操作側制御部12におけるサンプリングにより取得した時系列にしたがって、駆動部23へ出力する。
建設機械側制御部22は、被操作装置2が起動したことをうけて、操作装置1から所定の回数だけ受信を繰り返す。所定の回数は、建設機械側制御部22によって予め定められた回数である。所定の回数は、任意に定めてよい。建設機械側制御部22は、この受信ごとに受信間隔時間を算出する。建設機械側制御部22は、例えば、建設機械側通信部21が受信(受信処理)を完了した場合、その時の被操作装置2におけるシステムクロックのクロック数を記憶する。建設機械側制御部22は、受信が完了したときの被操作装置2におけるシステムクロックのクロック数と、その一つ前の受信が完了したときの被操作装置2におけるシステムクロックのクロック数とに基づいて、受信間隔時間を算出する。これにより、建設機械側制御部22は、複数の受信間隔時間の情報を取得する。建設機械側制御部22は、取得した複数の受信間隔時間の情報に基づいて、受信間隔時間における最頻値を取得する。建設機械側制御部22は、取得した受信間隔時間における最頻値に基づいて、受信間隔時間の最頻値を含む基準受信間隔時間範囲を設定する。
なお、本実施形態において、基準受信間隔時間範囲は、建設機械側制御部22が取得した受信間隔時間における最頻値に基づいて設定されているが、基準受信間隔時間範囲の設定方法はこれに限らない。基準受信間隔時間範囲は、無線方式、建設機械の特性、等に応じて予め定めてよい。
建設機械側制御部22は、パケットの受信時において、受信間隔時間を算出する。建設機械側制御部22は、算出した受信間隔時間が基準受信間隔時間範囲内に含まれるか否かを判定する。建設機械側制御部22は、算出した受信間隔時間が基準受信間隔時間範囲内に含まれると判定した場合、対応する受信によって取得したパケットから抽出した操作情報の出力タイミングを補正(変更)する。具体的には、建設機械側制御部22は、対応する受信によって取得したパケットから抽出操作情報のうち、最初に出力する操作情報を、対応する受信の受信完了時刻(受信処理を完了した時刻)を起点として出力待機時間(第3の時間)が経過した時刻に出力する。出力待機時間は、無線方式、建設機械の特性、等に応じて予め定められた時間である。出力待機時間は、任意に定めてよい。
駆動部23は、建設機械側制御部22から入力した操作情報に応じて建設機械を制御する。
以上のように、遠隔制御システム3において、被操作装置2における建設機械側制御部22は、取得したパケットに含まれる4つの操作情報を抽出する。建設機械側制御部22は、20msのサンプリング周期と同じ周期で、サンプリングによって取得した時系列にしたがって、抽出した操作情報を駆動部23に出力する。駆動部23は、建設機械側制御部22から入力した操作情報に応じて建設機械を制御する。これにより、被操作装置2は、操作装置1において固定送信間隔時間より短い時間ごとのサンプリングによって取得した、時間的に連続した複数の操作情報に基づいて建設機械を制御する。つまり、被操作装置2は、80msごとに間欠的に取得した操作情報ではなく、それより短い周期のサンプリングによって取得した操作情報に基づいて建設機械を制御できる。また、抽出された操作情報の各々は、操作側制御部12におけるサンプリング周期と同じ周期で、サンプリングによって取得された時系列にしたがって、駆動部23に出力される。したがって、建設機械側制御部22は、操作装置1における操作部11で行われた操作と同じ操作で、駆動部23に建設機械を制御させることができる。すなわち、遠隔制御システム3において、建設機械は、操作部11においてオペレータが意図した動作を行うことができる。
ところで、操作装置1と被操作装置2とは、それぞれ独立した装置である。操作装置1における時間は、操作装置1が有するシステムクロック等により計測される。同様に、被操作装置2における時間は、被操作装置2が有するシステムクロック等により計測される。
ここで、規格上、操作装置1が有するシステムクロックの周期と、被操作装置2が有するシステムクロックの周期とが同じであっても、各システムクロックを生成する装置の精度が異なる場合もある。つまり、操作装置1が有するシステムクロックと、被操作装置2が有するシステムクロックとは、時間周期が完全に同一であるとは限らない。すなわち、操作装置1において計測される時間と、被操作装置2において計測される時間とは、同一ではない場合もある。このような場合、固定送信間隔時間である80msでは、時間が短いので、計測される時間の差(時間差)は無視できる。しかしながら、長時間にわたって操作装置1及び被操作装置2が稼働している場合、操作装置1と被操作装置2とのそれぞれで計測される時間の差は蓄積される。蓄積された時間差により、被操作装置2の建設機械側制御部22において、再生した操作情報を正しく出力できなくなる場合もある。
それに対して、本実施形態における遠隔制御システム3において、被操作装置2における建設機械側制御部22は、受信間隔時間が基準受信間隔時間範囲内に含まれると判定した場合、その時に受信したパケットから抽出した操作情報の出力タイミングを補正する。基準受信間隔時間範囲は、被操作装置2が操作装置1から受信する際の受信間隔時間における最頻値に基づいて設定された時間範囲である。基準受信間隔時間範囲は、受信間隔時間の最頻値を含む。つまり、建設機械側制御部22は、抽出した操作情報の出力タイミングを、被操作装置2の受信完了時刻を起点として出力待機時間を経過した時刻へと頻繁に補正する。これにより、被操作装置2における操作情報の出力タイミングが操作装置1における操作情報のサンプリング周期とゆるやかに同期する作用が生じる。なお、抽出した操作情報の出力タイミングを建設機械側制御部22が補正した場合においては、前回の操作情報の出力からその操作情報の出力までの時間は、サンプリング周期とは異なる時間となる。しかしながら、抽出した操作情報の出力タイミングを建設機械側制御部22が補正するのは、受信間隔時間が基準受信間隔時間内に含まれる場合である。つまり、この補正による操作情報の出力タイミングのずれは、高々限定された時間である。一方で、受信間隔時間が基準受信間隔時間範囲内に含まれない場合においては、建設機械側制御部22は、抽出した操作情報の出力タイミングを補正しない。しかしながら、基準受信間隔時間範囲は、受信間隔時間の最頻値を含む範囲である。つまり、その後の被操作装置2におけるパケットの受信において、受信間隔時間が基準受信間隔時間範囲内に含まれる可能性は高い。したがって、被操作装置2における操作情報の出力タイミングは、遅かれ早かれ、操作装置1における操作情報のサンプリング周期とゆるやかに同期する。前述したように、操作装置1において計測された時間と被操作装置2において計測された時間との差は、固定送信間隔時間である80msでは無視できる。したがって、建設機械側制御部22は、操作装置1において計測された時間と被操作装置2において計測された時間との差による影響を受けずに、駆動部23に建設機械を制御させることができる。すなわち、遠隔制御システム3において、建設機械は、操作装置1において計測された時間と被操作装置2において計測された時間との差による影響を受けずに動作できる。
ところで、実際の建設機械の遠隔制御においては、建設機械の油圧系での動作遅延等により、操作体の操作から建設機械の動作までに100ms乃至200ms程度の時間差(タイムラグ)があることがわかっている。
これに対して、本実施形態における遠隔制御システム3においては、操作装置1は80msの固定送信間隔時間ごとにパケットを送信する。これにより、被操作装置2における受信間隔時間のばらつきを小さくできる。より具体的には、後で説明するように、被操作装置2におけるパケットの受信間隔時間のばらつきは80msを中心として15msとなる。15msのばらつきは、100ms乃至200ms程度のタイムラグより十分小さい。さらに、前述したように、本実施形態における遠隔制御システム3においては、被操作装置2は、抽出した操作情報の出力タイミングを、被操作装置2の受信完了時刻を起点として出力待機時間を経過した時刻へと頻繁に補正する。これらにより、被操作装置2は、受信間隔時間のばらつきによらず、建設機械のタイムラグによる初期遅延を維持しながら、建設機械を制御できる。
以上のように、本実施形態における遠隔制御システム3において、建設機械は、受信間隔時間のばらつきにかかわらず、オペレータの意図した動作を行うことができる。
図2は、ARIB STD−T108の制約に基づいて通信を行う場合における、従来の送信間隔時間及び受信間隔時間のばらつきの例を示すタイミングチャートである。
図2(a)は、ARIB STD−T108の制約に基づいた通信において送信間隔時間及び受信間隔時間が最も長くなる場合を示す。この図において、波形Aは、STD−T108の制約に基づいて通信を行う場合の、従来の遠隔制御システムにおける送信側機器の送信のタイミングを示す。波形Bは、STD−T108の制約に基づいて通信を行う場合の、従来の遠隔制御システムにおける受信側機器の受信のタイミングを示す。
t1は、送信側機器が送信を開始する時刻(送信開始時刻)である。また、t1は、受信側機器が受信を開始する時刻である。t2は、送信側機器が送信を終了する時刻である。また、t2は、受信側機器が送信側機器から受信したデータの品質をチェックし、受信の完了を示す信号(受信完了信号)を送信する作業(受信完了作業)を開始する時刻(受信完了作業開始時刻)である。t3は、受信側機器が受信を完了する時刻(受信完了時刻)である。すなわち、t3は、受信完了信号の送信を完了する時刻である。t4は、送信側機器が、送信作業を開始する時刻(送信作業開始時刻)である。ここで、送信作業は、送信側機器がキャリアセンスを行い、データの送信を行う一連の作業である。送信作業の時間は、安定した無線通信を確保するために送信側機器が設けた、キャリアセンスを実行するまでの待ち時間であるバックオフを含む。バックオフは、0msから10msである。t5は、送信側機器の送信開始時刻である。また、t5は、受信側機器が受信を開始する時刻である。t6は、送信側機器が送信を終了する時刻である。また、t6は、受信側機器の受信完了作業開始時刻である。t7は、受信側機器の受信完了時刻である。
時刻t1から時刻t2までの、波形Aにおける矩形波は、送信側機器が送信していることを示す。時刻t1から時刻t2までの時間は送信側機器の送信時間である。送信時間は8msである。時刻t1から時刻t3までの、波形Bにおける矩形波において、時刻t1から時刻t2までの時間は、受信側機器が受信している時間である。また、時刻t2から時刻t3までのハッチングのかかった時間は、受信側機器が送信側機器から受信したデータの品質をチェックし、受信完了信号を送信している時間である。時刻t2から時刻t3までの時間は3msである。つまり、時刻t1から時刻t3までの時間は11msである。時刻t3から時刻t4までの時間は、ARIB STD−T108の制約に基づき設けられた送信休止時間である。時刻t3から時刻t4までの時間は、50msである。波形Aにおける、時刻t4から時刻t5までのハッチングのかかった時間は、送信側機器が送信開始前に行う5msのキャリアセンスと、キャリアセンスの前に設けられた10msのバックオフを含む時間である。つまり、時刻t4から時刻t5までの時間は15msである。時刻t5から時刻t6までの、波形Aにおける矩形波は、送信側機器が送信していることを示す。時刻t5から時刻t6までの時間は送信側機器の送信時間である。送信時間は8msである。時刻t5から時刻t7までの、波形Bにおける矩形波において、時刻t5から時刻t6までの時間は、受信側機器が受信している時間である。また、時刻t6から時刻t7までのハッチングのかかった時間は、受信側機器が送信側機器から受信したデータの品質をチェックし、受信完了信号を送信している時間である。時刻t6から時刻t7までの時間は3msである。つまり、時刻t5から時刻t7までの時間は11msである。
送信側機器は、時刻t1に送信を開始する。受信側機器は、時刻t1に受信を開始する。送信側機器は、時刻t2に送信を終了する。受信側機器は、時刻t2に受信を終了する。また、受信側機器は、時刻t2に、受信完了作業を開始する。受信側機器は、時刻t2から時刻t3までの間に、受信完了信号を送信側機器へ送信する。受信側機器は、時刻t3に受信を完了する。送信側機器は、時刻t3に送信を完了する。時刻t1から時刻t3までの時間は11msである。送信側機器は、ARIB STD−T108の制約に基づき、受信側機器の受信完了時刻t3を起点として、時刻t4までの間、50msの送信休止時間を設ける。次に、送信側機器は、時刻t4から時刻t5までの15msの間、10msのバックオフと5msのキャリアセンス時間を設ける。次に、送信側機器は、時刻t5に次の送信を開始する。受信側機器は、時刻t5に受信を開始する。送信側機器は、時刻t6に送信を終了する。受信側機器は、時刻t6に受信を終了する。また、受信側機器は、時刻t6に、受信完了作業を開始する。受信側機器は、時刻t5から時刻t6までの間に、受信完了信号を送信側機器へ送信する。受信側機器は、時刻t7に受信を完了する。送信側機器は、時刻t7に送信を完了する。時刻t5から時刻t7までの時間は11msである。
図2(a)において、送信側機器における送信間隔時間は、送信開始時刻t1から次の送信開始時刻t5までの時間である。つまり、送信間隔時間は、76msである。また、受信側機器における受信間隔時間は、受信完了時刻t3から次の受信完了時刻t7までの時間である。つまり、受信間隔時間は、76msである。
図2(b)は、ARIB STD−T108の制約に基づいた通信において送信間隔時間及び受信間隔時間が最も短くなる場合を示す。この図において、波形Cは、送信側機器の送信のタイミングを示す。波形Dは受信側機器の受信のタイミングを示す。
t8は、送信側機器の送信開始時刻である。また、t8は、受信側機器が受信を開始する時刻である。t9は、送信側機器が送信を終了する時刻である。また、t9は、受信側機器の受信完了作業開始時刻である。t10は、受信側機器の受信完了時刻である。また、t10は、送信側機器の送信作業開始時刻である。t11は、送信側機器の送信開始時刻である。また、t11は、受信側機器が受信を開始する時刻である。t12は、送信側機器が送信を終了する時刻である。また、t12は、受信側機器の受信完了作業開始時刻である。t13は、受信側機器の受信完了時刻である。
時刻t8から時刻t9までの、波形Cにおける矩形波は、送信側機器が送信していることを示す。時刻t8から時刻t9までの時間は送信側機器の送信時間である。送信時間は8msである。時刻t8から時刻t10までの、波形Dにおける矩形波において、時刻t8から時刻t9までの時間は、受信側機器が受信している時間である。また、時刻t9から時刻t10までのハッチングのかかった時間は、受信側機器が送信側機器から受信したデータの品質をチェックし、受信完了信号を送信している時間である。時刻t9から時刻t10までの時間は3msである。つまり、時刻t8から時刻t10までの時間は11msである。波形Cにおける、時刻t10から時刻t11までのハッチングのかかった時間は、送信側機器が送信開始前に行う0.128msのキャリアセンスを含む時間である。つまり、時刻t10から時刻t11までの時間は0.128msである。時刻t11から時刻t12までの、波形Cにおける矩形波は、送信側機器が送信していることを示す。時刻t11から時刻t12までの時間は送信側機器の送信時間である。送信時間は8msである。時刻t11から時刻t13までの、波形Dにおける矩形波において、時刻t11から時刻t12までのハッチングのかかった時間は、受信側機器が送信側機器から受信したデータの品質をチェックし、受信完了信号を送信している時間である。時刻t12から時刻t13までの時間は3msである。つまり、時刻t11から時刻t13までの時間は11msである。
送信側機器は、時刻t8に送信を開始する。受信側機器は、時刻t8に受信を開始する。送信側機器は、時刻t9に送信を終了する。受信側機器は、時刻t9に受信を終了する。また、受信側機器は、時刻t9に、受信完了作業を開始する。受信側機器は、時刻t9から時刻t10までの間に、受信完了信号を送信側機器へ送信する。受信側機器は、時刻t10に受信を完了する。送信側機器は、時刻t10に送信を完了する。時刻t8から時刻t10までの時間は11msである。送信側機器は、ARIB STD−T108の制約に基づき、受信側機器の受信完了時刻t10を起点として、0.128msのキャリアセンス時間を設ける。時刻t10から時刻t11までの時間がキャリアセンス時間である。次に、送信側機器は、時刻t11に次の送信を開始する。受信側機器は、時刻t11に受信を開始する。送信側機器は、時刻t12に送信を終了する。受信側機器は、時刻t12に受信を終了する。また、受信側機器は、時刻t12に、受信完了作業を開始する。受信側機器は、時刻t12から時刻t13までの間に、受信完了信号を送信側機器へ送信する。受信側機器は、時刻t13に受信を完了する。送信側機器は、時刻t13に送信を完了する。時刻t11から時刻t13までの時間は11msである。
図2(b)において、送信側機器における送信間隔時間は、送信開始時刻t8から次の送信開始時刻t11までの時間である。つまり、送信間隔時間は、11.128msである。また、受信側機器における受信間隔時間は、受信完了時刻t10から次の受信完了時刻t13までの時間である。つまり、受信間隔時間は、11.128msである。
すなわち、ARIB STD−T108の制約に基づいて送信側機器が送信を行う場合、送信間隔時間は11.128ms乃至76msのばらつきを持つ。同様に、受信側機器における受信間隔時間は11.128ms乃至76msのばらつきを持つ。
そこで、本実施形態における遠隔制御システムにおいては、操作装置1(主局)の送信間隔時間を80msに固定する。80msの送信間隔時間は、送信作業開始時刻から次の送信作業開始時刻までの時間である。このように、操作装置1の送信間隔時間を固定することで、以下で説明するように、被操作装置2(子局)の受信間隔時間のばらつきを小さくすることができる。
図3は、本実施形態において送信間隔時間を80msに固定した場合の受信間隔時間のばらつきを示すタイミングチャートである。
図3(a)は、送信間隔時間を80msに固定した場合において受信間隔時間が最も長くなる場合を示す。この図において、波形Eは、遠隔制御システム3における操作装置1の送信のタイミングを示す。波形Fは、遠隔制御システム3における被操作装置2の受信のタイミングを示す。
t14は、操作装置1の送信開始時刻である。また、t14は、被操作装置2が受信を開始する時刻である。t15は、操作装置1が送信を終了する時刻である。また、t15は、被操作装置2の受信完了作業開始時刻である。t16は、被操作装置2の受信完了時刻である。t17は、操作装置1の送信作業開始時刻である。t18は、操作装置1の送信開始時刻である。また、t18は、被操作装置2が受信を開始する時刻である。t19は、操作装置1が送信を終了する時刻である。また、t19は、被操作装置2の受信完了作業開始時刻である。t20は、被操作装置2の受信完了時刻である。
時刻t14から時刻t15までの、波形Eにおける矩形波は、操作装置1が送信していることを示す。時刻t14から時刻t15までの時間は操作装置1の送信時間である。送信時間は8msである。時刻t14から時刻t16までの、波形Fにおける矩形波において、時刻t14から時刻t15までの時間は、被操作装置2が受信している時間である。また、時刻t15から時刻t16までのハッチングのかかった時間は、被操作装置2が送信側機器から受信したデータの品質をチェックし、受信完了信号を送信している時間である。時刻t15から時刻t16までの時間は3msである。つまり、時刻t14から時刻t16までの時間は11msである。時刻t14から時刻t17までの時間は、送信間隔時間である。送信間隔時間は80msである。波形Eにおける、時刻t17から時刻t18までのハッチングのかかった時間は、操作装置1が送信開始前に行う5msのキャリアセンスと、キャリアセンスの前に設けられた10msのバックオフを含む時間である。つまり、時刻t17から時刻t18までの時間は15msである。時刻t18から時刻t19までの、波形Eにおける矩形波は、操作装置1が送信していることを示す。時刻t18から時刻t19までの時間は操作装置1の送信時間である。送信時間は8msである。時刻t18から時刻t20までの、波形Fにおける矩形波において、時刻t18から時刻t19までの時間は、被操作装置2が受信している時間である。また、時刻t19から時刻t20までのハッチングのかかった時間は、被操作装置2が送信側機器から受信したデータの品質をチェックし、受信完了信号を送信している時間である。時刻t19から時刻t20までの時間は3msである。つまり、時刻t18から時刻t20までの時間は11msである。
操作装置1は、時刻t14に送信を開始する。被操作装置2は、時刻t14に受信を開始する。操作装置1は、時刻t15に送信を終了する。被操作装置2は、時刻t15に受信を終了する。また、被操作装置2は、時刻t15に、受信完了作業を開始する。被操作装置2は、時刻t15から時刻t16までの間に、受信完了信号を操作装置1へ送信する。被操作装置2は、時刻t16に受信を完了する。操作装置1は、時刻t16に送信を完了する。時刻t14から時刻t16までの時間は11msである。次に、操作装置1は、時刻t17から時刻t18までの15msの間、10msのバックオフと5msのキャリアセンス時間を設ける。次に、操作装置1は、時刻t18に次の送信を開始する。被操作装置2は、時刻t18に受信を開始する。操作装置1は、時刻t19に送信を終了する。被操作装置2は、時刻t19に受信を終了する。また、被操作装置2は、時刻t19に、受信完了作業を開始する。被操作装置2は、時刻t19から時刻t20までの間に、受信完了信号を操作装置1へ送信する。被操作装置2は、時刻t20に受信を完了する。操作装置1は、時刻t20に送信を完了する。時刻t18から時刻t20までの時間は11msである。ここで、時刻t16から時刻t17までの時間は50ms以上である。したがって、例えば、ARIB STD−T108の制約に基づき、操作装置1が被操作装置2の受信完了時刻t16を起点として50msの送信休止時間を設けた場合であっても、その送信休止時間は送信間隔時間に影響しない。
操作装置1における送信間隔時間は、送信開始時刻t14から時刻t17までの80msに固定されている。また、被操作装置2における受信間隔時間は、受信完了時刻t16から次の受信完了時刻t20までの時間である。つまり、図3(a)における受信間隔時間は、95msである。
図3(b)は、送信間隔時間を80msに固定した場合において受信間隔時間が最も短くなる場合を示す。この図において、波形Gは、遠隔制御システム3における操作装置1の送信のタイミングを示す。波形Hは、遠隔制御システム3における被操作装置2の受信のタイミングを示す。
t21は、操作装置1の送信作業開始時刻である。t22は、操作装置1の送信開始時刻である。また、t22は、被操作装置2が受信を開始する時刻である。t23は、操作装置1が送信を終了する時刻である。また、t23は、被操作装置2の受信完了作業開始時刻である。t24は、被操作装置2の受信完了時刻である。t25は、操作装置1の送信開始時刻である。また、また、t25は、被操作装置2が受信を開始する時刻である。t26は、操作装置1が送信を終了する時刻である。また、t26は、被操作装置2の受信完了作業開始時刻である。t27は、被操作装置2の受信完了時刻である。
波形Gにおける、時刻t21から時刻t22までのハッチングのかかった時間は、操作装置1が送信開始前に行う5msのキャリアセンスと、キャリアセンスの前に設けられた10msのバックオフを含む時間である。つまり、時刻t21から時刻t22までの時間は15msである。時刻t22から時刻t23までの、波形Gにおける矩形波は、操作装置1が送信していることを示す。時刻t22から時刻t23までの時間は操作装置1の送信時間である。送信時間は8msである。時刻t22から時刻t24までの、波形Hにおける矩形波において、時刻t22から時刻t23までの時間は、被操作装置2が受信している時間である。また、時刻t23から時刻t24までのハッチングのかかった時間は、被操作装置2が送信側機器から受信したデータの品質をチェックし、受信完了信号を送信している時間である。時刻t23から時刻t24までの時間は3msである。つまり、時刻t22から時刻t24までの時間は11msである。時刻t21から時刻t25までの時間は、送信間隔時間である。送信間隔時間は80msである。時刻t25から時刻t26までの、波形Gにおける矩形波は、操作装置1が送信していることを示す。時刻t25から時刻t26までの時間は操作装置1の送信時間である。送信時間は8msである。時刻t25から時刻t27までの、波形Hにおける矩形波において、時刻t25から時刻t26までの時間は、被操作装置2が受信している時間である。また、時刻t26から時刻t27までのハッチングのかかった時間は、被操作装置2が送信側機器から受信したデータの品質をチェックし、受信完了信号を送信している時間である。時刻t26から時刻t27までの時間は3msである。つまり、時刻t25から時刻t27までの時間は11msである。
操作装置1は、時刻t21から時刻t22までの15msの間、10msのバックオフと5msのキャリアセンス時間を設ける。次に、操作装置1は、時刻t22に送信を開始する。被操作装置2は、時刻t22に受信を開始する。操作装置1は、時刻t23に送信を終了する。被操作装置2は、時刻t23に受信を終了する。また、被操作装置2は、時刻t23に、受信完了作業を開始する。被操作装置2は、時刻t23から時刻t24までの間に、受信完了信号を操作装置1へ送信する。被操作装置2は、時刻t24に受信を完了する。操作装置1は、時刻t24に送信を完了する。時刻t22から時刻t24までの時間は11msである。次に、操作装置1は、時刻t25に次の送信を開始する。被操作装置2は、時刻t25に受信を開始する。操作装置1は、時刻t26に送信を終了する。被操作装置2は、時刻t26に受信を終了する。また、被操作装置2は、時刻t26に、受信完了作業を開始する。被操作装置2は、時刻t26から時刻t27までの間に、受信完了信号を操作装置1へ送信する。被操作装置2は、時刻t27に受信を完了する。操作装置1は、時刻t27に送信を完了する。時刻t25から時刻t27までの時間は11msである。ここで、時刻t17から時刻t18までの時間は50ms以上である。したがって、例えば、ARIB STD−T108の制約に基づき、操作装置1が被操作装置2の受信完了時刻t24を起点として50msの送信休止時間を設けた場合であっても、その送信休止時間は送信間隔時間に影響しない。
操作装置1における送信間隔時間は、送信作業開始時刻t21から次の送信開始時刻t25までの80msに固定されている。また、被操作装置2における受信間隔時間は、受信完了時刻t24から次の受信完了時刻t27までの時間である。つまり、図3(b)における受信間隔時刻は、65msである。
以上のように、操作装置1における送信間隔時間を80msに固定することで、被操作装置2における受信間隔時間のばらつきを65ms乃至95msにすることができる。これにより、被操作装置2における受信間隔時間のばらつきを小さくできる。つまり、操作装置1で意図した動作が被操作装置2において再現できる。
なお、本実施形態では、操作装置1(主局)と被操作装置2(子局)との間で、ARIB STD−T108を適用する920MHz帯特定小電力無線を用いているが、操作装置1と被操作装置2との間で用いる無線はこれに限らない。操作装置1と被操作装置2との間で、例えば、2.4GHz帯特定小電力無線、429MHz帯特定小電力無線、等の無線を用いても構わない。また、操作装置1の送信間隔時間は80msに固定しているが、送信間隔時間はこれに限らない。送信間隔時間は、80ms以外の時間であっても構わない。送信間隔時間は、操作装置1と被操作装置2との間で用いる無線方式に応じて定めることが望ましい。
図4は、本実施形態におけるサンプリングの一例を示す図である。操作側制御部12は、時刻Tnにおいて操作信号A1をサンプリングする。A1で示す波形は、操作部11から入力した操作信号を示す波形である。縦軸は、操作信号値を示す。横軸は時刻を示す。横軸上に示すT(n)(nは整数)は、サンプリング時刻を表す。サンプリング時刻は、操作部11から入力した操作信号を操作側制御部12がサンプリングする時刻である。時刻T(n)から時刻T(n+1)までの時間は、サンプリング周期である。サンプリング周期は20msである。黒丸で示すS(n)(nは整数)は、サンプリング時刻T(n)(nは整数)におけるサンプリングによって取得された操作情報を表す。ここで、操作情報は、対応する時刻において操作部11から入力した操作信号が有する操作量を含む情報である。
操作側制御部12は、サンプリングにより、対応する時刻における操作情報を取得する。つまり、操作側制御部12は、20msのサンプリング周期で操作信号A1をサンプリングする。操作側制御部12は、このサンプリングにより、サンプリング時刻T(n)(nは整数)における操作情報S(n)(nは整数)を取得する。
図5は、本実施形態におけるパケットの構造を示す図である。パケットは、ヘッダと、データ長と、コマンドと、送信元ID(IDentification)と、送信先IDと、データと、ターミネータとの各領域を含んで構成される。ヘッダは、パケットの先頭に付加される情報である。データ長は、パケットのデータサイズを示す。コマンドは、データ送信であることを示すコマンドである。送信元IDは、送信元の装置を示すID(識別情報)である。送信先IDは、送信先の装置を示すIDである。データは、パケットにより送信される送信データである。データは、時間的に連続した4つの操作情報を含む。
ターミネータは、パケットの末尾に付加される情報である。
図6は、遠隔制御システム3における操作装置1から被操作装置2への操作情報の流れを示す概略タイミングチャートである。
波形Iは、操作側制御部12におけるサンプリングのタイミングを示す。波形Iにおける各矩形波の立ち上がりが、操作側制御部12におけるサンプリング時刻に相当する。波形Iにおける各矩形波に示すS(n)(n=3〜13)は、各矩形波が示すサンプリング時刻において、操作信号のサンプリングによって取得される操作情報である。Tsmplはサンプリング周期を示す。本実施形態においては、Tsmplは20msである。
波形Jは、操作側制御部12においてパケットを生成するタイミング(パケット生成タイミング)を示す。また、波形Jは、操作側通信部13が、生成されたパケットを送信するタイミングも示している。波形Jにおける各矩形波に示すD(n)(n=1〜3)は、各矩形波が示すパケット生成タイミングにおいて操作側制御部12が生成するパケットを表す。Tsは固定送信間隔時間を表す。Tsは80msである。
波形Kは、建設機械側通信部21においてパケットを受信するタイミング(パケット受信タイミング)を示す。また、波形Kは、建設機械側制御部22が、受信したパケットに含まれる操作情報を抽出するタイミング(パケット抽出タイミング)も示している。波形Kにおける各矩形波に示されるD(n)(n=1〜3)は、各矩形波が示すパケット抽出タイミングにおいて、操作情報を抽出する基となるパケットを表す。
波形Lは、建設機械側制御部22において、抽出した操作情報であるS(n)が出力されるタイミングを示す。最下段の波形における各矩形波の立ち上がりが、建設機械側制御部22における操作情報を出力する時刻(操作情報出力時刻)に相当する。各矩形波に示されるS(n)(n=−3〜8)は、各矩形波が示す操作情報出力時刻において出力される操作情報を表す。
波形Jにおいて、操作側制御部12は、パケット生成タイミングまでにサンプリングによって取得された、時間的に連続する4つの操作情報を含むパケットD(n)を生成する。より具体的には、操作側制御部12は、波形Iには図示しないS(1)と、波形Eには図示しないS(2)と、S(3)と、S(4)とを含むD(1)を生成する。操作側制御部12は、S(5)と、S(6)と、S(7)と、S(8)とを含むD(2)を生成する。操作側制御部12は、S(9)と、S(10)と、S(11)と、S(12)とを含むD(3)を生成する。操作側通信部13は、生成したパケットを固定送信間隔時間Tsごとに被操作装置2の建設機械側通信部21へ送信する。
波形Kにおいて、建設機械側制御部22は、受信したパケットに含まれる操作情報を抽出する。建設機械側制御部22は、D(1)から、S(1)と、S(2)と、S(3)と、S(4)とを抽出する。建設機械側制御部22は、D(2)から、S(5)と、S(6)と、S(7)と、S(8)とを抽出する。建設機械側制御部22は、D(3)から、S(9)と、S(10)と、S(11)と、S(12)とを抽出する。
波形Lにおいて、建設機械側制御部22は、抽出した操作情報を、操作側制御部12においてサンプリングによって取得した時系列にしたがって、周期Tsmplで出力する。より具体的には、建設機械側制御部22は、受信したD(1)から抽出したS(1)と、S(2)と、S(3)と、S(4)とを20msごとに出力する。D2及びD3についても同様である。
[操作側制御部の機能構成例]
図7は、操作側制御部12の機能構成を示すブロック図である。操作側制御部12は、サンプリングクロック生成部121と、サンプリング部122と、パケット生成部123と、試験送信指示部124とを含んで構成される。
サンプリングクロック生成部121は、サンプリングクロックを生成する。サンプリングクロックは、操作部11から入力した操作信号を、操作側制御部12がサンプリングするのに用いるクロックである。サンプリングクロックは、10ms周期のクロックである。サンプリングクロック生成部121は、生成したサンプリングクロックをサンプリング部122へ出力する。
サンプリング部122は、操作部11から入力した操作信号を、操作側通信部13における固定送信間隔時間である80msより短い周期でサンプリングする。より具体的には、サンプリング部122は、操作部11から入力した操作信号を、20msの周期でサンプリングする。サンプリング部122は、サンプリングクロック生成部121から入力したサンプリングクロックを用いて操作信号をサンプリングする。ここで、サンプリングクロックの周期は10msである。一方で、サンプリング部122は20msの周期で操作信号をサンプリングする。つまり、サンプリング部122は、サンプリングクロックの2周期ごとに操作信号をサンプリングする。サンプリング部122は、サンプリングによって、対応する時刻における操作情報を取得する。サンプリング部122は、サンプリングによって取得した操作情報をパケット生成部123へ出力する。
パケット生成部123は、パケットを生成する。パケット生成部123は、サンプリング部122から入力した4つの操作情報を含むパケットを生成する。パケット生成部123は、生成したパケットを操作側通信部13へ出力する。
試験送信指示部124は、被操作装置2が起動したことをうけて、操作側通信部13に被操作装置2へ所定の回数の試験的な送信(試験送信)をさせる。試験送信指示部124は、試験送信において、操作側通信部13に80msの固定送信間隔時間ごとに送信させる。なお、所定の回数は、建設機械側制御部22において予め定められた回数である。所定の回数は、任意に定めてよい。
図8は、操作側制御部12の動作を示すタイミングチャートである。
波形Mは、サンプリングクロックを示す。なお、ここでは、サンプリングクロックをSCと記す。各サンプリングクロックSCには0から7の番号を付している。付した番号は、0から7まで数えた後、0に戻ってまた7まで数える。これが繰り返される。サンプリングクロックの周期は10msである。Tsmplはサンプリング周期を示す。Tsmplは20msである。サンプリングクロックSC0、SC2、SC4、SC6の立ち上がりが、サンプリング部122におけるサンプリング時刻である。
波形Nは、サンプリング部122において、操作部11から入力した操作信号をサンプリングするタイミングを示す。波形Nにおける各矩形波は、サンプリング部122が操作信号をサンプリングしたことを示す。波形Nに示されるst(n)(n=1、2、3、4)はサンプリングによって取得された操作情報を表す。
ここで、図8におけるst(n)(n=1、2、3、4)と、図4及び図6におけるS(m)(mは整数)との関係を説明する。st(n)、S(m)のいずれも、サンプリングによって取得した操作情報である。両者の違いは、表記の違いのみである。図4及び図6においては、サンプリングによって取得した操作情報に対して連続した番号を付している。図8においては、一つのパケットとして生成される連続した4つの操作情報に対して、1から4の番号を付している。また、その後の操作情報に対しても、同様に、一つのパケットとして生成される連続した4つの操作情報に対して、1から4の番号を付している。したがって、図4及び図6におけるS(m)(mは整数)と、図8におけるst(n)(n=1、2、3、4)の関係は、以下のように表される。
st(1)=S(m)。ここで、m=4i+1(iは0以上の整数)。
st(2)=S(m)。ここで、m=4i+2(iは0以上の整数)。
st(3)=S(m)。ここで、m=4i+3(iは0以上の整数)。
st(4)=S(m)。ここで、m=4(i+1)(iは0以上の整数)。
波形Oは、パケット生成部123がパケットを生成するタイミングを示す。波形Oにおける各矩形波は、パケット生成部123がパケットを生成したことを示す。D(1)は、パケット生成部123が生成したパケットを示す。
波形Pは、操作側通信部13がパケットを送信するタイミングを示す。波形Pにおける各矩形波は、操作側通信部13がパケットを送信したことを示す。D(0)及びD(1)は、パケット生成部123が生成したパケットを示す。Tsは固定送信間隔時間を表す。Tsは、本実施形態においては80msである。
サンプリング部122は、サンプリングクロックSC0の立ち上がりにおいて、サンプリングによりst(1)を取得する。サンプリング部122は、サンプリングクロックSC2の立ち上がりにおいて、サンプリングによりst(2)を取得する。サンプリング部122は、サンプリングクロックSC4の立ち上がりにおいて、サンプリングによりst(3)を取得する。サンプリング部122は、サンプリングクロックSC6の立ち上がりにおいて、サンプリングによりst(4)を取得する。サンプリング部122は、サンプリングにより取得したst(1)と、st(2)と、st(3)と、st(4)とをパケット生成部123へ出力する。
パケット生成部123は、サンプリングクロックSC7の立ち上がりで、D(1)を生成する。パケット生成部123は、サンプリングクロックSC0からサンプリングクロックSC7までにサンプリングよって取得したst(1)と、st(2)と、st(3)と、st(4)とを含むD(1)を生成する。パケット生成部123は、例えば、図5に示した構造によって、D(1)を生成する。
操作側通信部13は、パケット生成部123からパケットを入力する。この図においては、操作側通信部13は、D(0)とD(1)を入力する。操作側通信部13は、入力したD(0)とD(1)とを被操作装置2に送信する。操作側通信部13は、入力したD(0)とD(1)とを、それぞれ、固定送信間隔時間Tsごとに送信する
以上のように、操作側制御部12において、サンプリング部122は、固定送信間隔時間である80msより短いサンプリング周期で操作信号をサンプリングする。より具体的には、サンプリング部122は、サンプリングクロック生成部121が生成した10ms周期のサンプリングクロックを用いて、20msの周期で操作信号をサンプリングする。サンプリング部122は、サンプリングにより、時間的に連続した操作情報であるst(1)と、st(2)と、st(3)とst(4)とを取得する。サンプリング部122は、取得した操作情報をパケット生成部123へ出力する。パケット生成部123は、入力したst(1)と、st(2)と、st(3)と、st(4)とを含む、1つのパケットを生成する。パケット生成部123は、80msの固定送信間隔時間ごとに、操作側通信部13に生成したパケットを送信させる。これにより、操作側制御部12は、固定送信間隔時間より短い周期で取得した、時間的に連続した複数の操作情報を被操作装置2へ送信できる。
[建設機械側制御部の機能構成例]
図9は、建設機械側制御部22の機能構成を示すブロック図である。建設機械側制御部22は、受信間隔時間算出クロック生成部2211と、受信間隔時間算出部2212と、基準受信間隔時間設定部2213と、補正時間算出部2214とを含んで構成される。また、建設機械側制御部22は、定時割込みクロック生成部2221と、定時割込みカウンタ2222とを含んで構成される。また、建設機械側制御部22は、パケット抽出部2231と、一時バッファ2232と、ST1バッファ2233と、ST2バッファ2234と、ST3バッファ2235と、ST4バッファ2236とを含んで構成される。さらに、建設機械側制御部22は、ST4出力時間管理部2241(出力時間管理部)を含んで構成される。
受信間隔時間算出クロック生成部2211は、被操作装置2における受信間隔時間を算出する基準となるクロック(受信間隔時間算出クロック)を生成する。受信間隔時間算出クロックは、被操作装置2の動作の基準となるシステムクロックから生成してよい。あるいは、被操作装置2の動作の基準となるシステムクロックを受信間隔時間算出クロックとして用いてよい。あるいは、被操作装置2の動作の基準となるシステムクロックとは無関係であるクロックを用いても構わない。受信間隔時間算出クロック生成部2211は、生成した受信間隔時間算出クロックを受信間隔時間算出部2212に入力する。
受信間隔時間算出部2212は、被操作装置2における受信間隔時間を算出する。受信間隔時間算出部2212は、建設機械側通信部21が受信を完了した場合、その時の受信間隔時間算出クロックのクロック数を記憶する。受信間隔時間算出部2212は、受信が完了したときの受信間隔時間算出クロックのクロック数と、その一つ前の受信が完了したときの受信間隔時間算出クロックのクロック数とに基づいて、受信間隔時間を算出する。受信間隔時間算出部2212は、算出した受信間隔時間を補正時間算出部2214に出力する。また、受信間隔時間算出部2212は、被操作装置2が起動したことをうけて、操作装置1が行う所定の回数の試験送信について、試験送信の電波を受信するごとに受信間隔時間を算出する。受信間隔時間算出部2212は、試験送信について算出した受信間隔時間を、基準受信間隔時間設定部2213に出力する。なお、所定の回数は、建設機械側制御部22によって予め定められた回数である。所定の回数は、任意に定めてよい。
基準受信間隔時間設定部2213は、被操作装置2の起動時において、受信間隔時間算出部2212から複数の試験送信についての受信間隔時間を入力する。基準受信間隔時間設定部2213は、入力した複数の試験送信についての受信間隔時間に基づいて、受信間隔時間における最頻値を求める。基準受信間隔時間設定部2213は、求めた試験送信についての受信間隔時間における最頻値に基づいて、受信間隔時間の最頻値を含む時間範囲である基準受信間隔時間範囲を設定する。
なお、基準受信間隔時間範囲は、建設機械側制御部22が取得した受信間隔時間における最頻値に基づいて設定されているが、基準受信間隔時間範囲の設定方法はこれに限らない。また、基準受信間隔時間範囲は、被操作装置2によって、無線方式、建設機械の特性、等に応じて予め定めてよい。
補正時間算出部2214は、建設機械側制御部22における操作情報の出力のタイミングを必要に応じて補正するための補正時間を算出する。補正時間算出部2214は、受信間隔時間算出部2212から、受信間隔時間を入力する。また、補正時間算出部2214は、基準受信間隔時間設定部2213から、基準受信間隔時間範囲を入力する。補正時間算出部2214は、入力した受信間隔時間が基準受信間隔時間範囲内に含まれるかい否かを判定する。受信間隔時間が基準受信間隔時間範囲内に含まれる場合、補正時間算出部2214は、補正時間を算出する。また、この場合、補正時間算出部2214は、補正時間処理フラグを立てる。補正時間処理フラグは、その時に受信したパケットから抽出した操作情報を出力するタイミングを補正することを示すフラグである。
補正時間は、例えば、以下の方法により算出される。
まず、補正時間算出部2214は、受信間隔時間が基準受信間隔時間範囲内に含まれるときの受信完了時刻を特定する。補正時間算出部2214は、例えば、そのときの被操作装置2のシステムクロックのクロック数を受信完了時刻としてよい。また、補正時間算出部2214は、例えば、後で説明する定時割込みカウンタ2222のカウント数を受信完了時刻としても構わない。次に、補正時間算出部2214は、受信間隔時間が基準受信間隔時間範囲内に含まれる受信の一つ前の受信において取得されたパケットから生成された操作情報のうち、1番目の操作情報が出力された時刻(ST1出力時刻)を特定する。補正時間算出部2214は、例えば、そのときの被操作装置2のシステムクロックのクロック数をST1出力時刻としてよい。また、補正時間算出部2214は、例えば、後で説明する定時割込みカウンタ2222のカウント数をST1出力時刻としても構わない。この場合、ST1出力時刻は0である。
次に、補正時間算出部2214は、特定したST1出力時刻から特定した受信完了時刻までの時間を算出する。より具体的には、補正時間算出部2214は、例えば、受信完了時刻におけるシステムクロック数からST1出力時刻におけるシステムクロック数を引いた値に基づいて時間を算出する。または、補正時間算出部2214は、例えば、受信完了時刻における定時割込みカウンタの値に基づいて時間を算出してもよい。次に、補正時間算出部2214は、上述の方法によって算出した時間に出力待機時間を加えることにより、補正時間を算出する。出力待機時間は、建設機械側制御部22において予め定められた時間である。出力待機時間は、例えば、無線方式、建設機械の特性、等に応じて任意に定めてよい。補正時間算出部2214は、算出した補正時間をST4出力時間管理部2241へ出力する。
定時割込みクロック生成部2221は、定時割込みクロックを生成する。定時割込みクロックは、被操作装置2において、受信したパケットから操作情報を抽出するタイミングを制御するクロックである。また、定時割込みクロックは、被操作装置2において、抽出した操作情報を出力するタイミングを制御するクロックである。定時割込みクロックの周期は1msである。なお、定時割込みクロックの周期は、1msに限らない。定時割込みクロックの周期は例えば、無線方式、建設機械の特性、等に応じて任意に定めてよい。定時割込みクロック生成部2221は、生成した定時割込みクロックを定時割込みカウンタ2222に入力する。
定時割込みカウンタ2222は、被操作装置2において、受信したパケットから操作情報を抽出するタイミングを制御する。また、定時割込みカウンタ2222は、被操作装置2において、抽出した操作情報を出力するタイミングを制御する。定時割込みカウンタ2222は、定時割込みカウンタ2222の値(定時割込みカウンタ値)が所定の値になるごとに、その定時割込みカウンタ値に応じたパルスを生成する。所定の値は、建設機械側制御部22において予め定められた値である。本実施形態においては、定時割込みカウンタ値が0、20、40、60になったときに、定時割込みカウンタ2222は、それぞれに応じたパルスを生成する。
より具体的には、定時割込みカウンタ2222は、定時割込みカウンタ値が0になったときにパルスであるST1CLKを生成する。定時割込みカウンタ2222は、生成したST1CLKを一時バッファ2232へ入力する。また、定時割込みカウンタ2222は、生成したST1CLKをST1バッファ2233へ入力する。また、定時割込みカウンタ2222は、定時割込みカウンタ値が20になったときにパルスであるST2CLKを生成する。定時割込みカウンタ2222は、生成したST2CLKを一時バッファ2232へ入力する。また、定時割込みカウンタ2222は、生成したST2CLKをST2バッファ2234へ入力する。また、定時割込みカウンタ2222は、定時割込みカウンタ値が40になったときにパルスであるST3CLKを生成する。定時割込みカウンタ2222は、生成したST3CLKを一時バッファ2232へ入力する。また、定時割込みカウンタ2222は、生成したST3CLKをST3バッファ2235へ入力する。さらに、定時割込みカウンタ2222は、定時割込みカウンタ値が60になったときにパルスST4CLKを生成する。定時割込みカウンタ2222は、生成したST4CLKを一時バッファ2232へ入力する。また、定時割込みカウンタ2222は、生成したST4CLKをST4バッファ2236へ入力する。
定時割込みカウンタ2222は、ST4出力時間管理部2241によってリセットされる。つまり、定時割込みカウンタ値は、ST4出力時間管理部2241によって0に戻される。
なお、定時割込みカウンタ2222がパルスを生成する定時割込みカウンタ値は、上述の場合に限らない。定時割込みカウンタ2222がパルスを生成する定時割込みカウンタ値は、例えば、無線方式、建設機械の特性、等に応じて任意に定めてよい。
パケット抽出部2231は、建設機械側通信部21が受信したパケットを取得する。パケット抽出部2231は、取得したパケットに含まれる、操作側制御部12においてサンプリングによって取得した操作情報を抽出する。本実施形態においては、パケット抽出部2231は、1つのパケットから4つの操作情報を抽出する。パケット抽出部2231は、抽出した操作情報を一時バッファ2232へ出力する。以下では、図8と同様に、1つのパケットから抽出された4つの操作情報をそれぞれ、操作側制御部12においてサンプリングによって取得した時系列にしたがって、st(1)、st(2)、st(3)、st(4)という場合もある。
一時バッファ2232は、パケット抽出部2231から抽出した操作情報を入力する。一時バッファ2232は、定時割込みカウンタ2222から入力するパルスに応じて、抽出した操作情報を、操作側制御部12においてサンプリングによって取得した時系列にしたがって出力する。
より具体的には、一時バッファ2232は、ST1CLKが入力した場合、ST1バッファへst(1)を出力する。一時バッファ2232は、ST2CLKが入力した場合、ST2バッファへst(2)を出力する。一時バッファ2232は、ST3CLKが入力した場合、ST3バッファへst(3)を出力する。一時バッファ2232は、ST4CLKが入力した場合、ST4バッファへst(4)を出力する。ST1バッファ2233は、ST1CLKが入力した場合、一時バッファからst(1)を入力する。また、ST1バッファ2233は、ST1CLKが入力した場合、駆動部23へst(1)を出力する。ST2バッファ2234は、ST2CLKが入力した場合、一時バッファからst(2)を入力する。また、ST2バッファ2234は、ST2CLKが入力した場合、駆動部23へst(2)を出力する。ST3バッファ2235は、ST3CLKが入力した場合、一時バッファからst(3)を入力する。また、ST3バッファ2235は、ST3CLKが入力した場合、駆動部23へst(3)を出力する。ST4バッファ2236は、ST4CLKが入力した場合、一時バッファからst(4)を入力する。また、ST4バッファ2236は、ST4CLKが入力した場合、駆動部23へst(4)を出力する。
ST4出力時間管理部2241は、パケットから抽出した4つの操作情報のうち、st(4)の出力を終了するタイミングを管理する。換言すれば、現在出力している操作情報の基となったパケットの次のパケットから抽出した、st(1)の出力を開始するタイミングを管理する。ST4出力時間管理部2241は、ST4出力管理レジスタ2242を含んで構成される。ST4出力管理レジスタ2242が格納する値は、st(4)の出力を終了するタイミングに応じた値である。ST4出力管理レジスタ2242は、被操作装置2の起動時、初期値を格納する。初期値は、建設機械側制御部22において予め定められた値である。初期値は、例えば、受信間隔時間の最頻値に基づいて定めてよい。また、初期値は、例えば、無線方式、建設機械の特性、等に応じて任意に定めてよい。また、ST4出力管理レジスタ2242は、補正時間算出部2214から補正時間を入力した場合、入力した補正時間を、定時割込みカウンタ2222のカウンタ値に対応した値(補正カウンタ値)に変換して格納する。具体的には、ST4出力管理レジスタ2242は、例えば、ミリ秒単位で小数点以下を切り捨てた補正時間を1msで割って得られた値を格納する。例えば、補正時間が79.5msの場合、格納される値は、79msを1msで割って得られる値である79である。
なお、上述の補正時間の補正カウンタ値への変換の方法は、あくまで一例である。補正時間の補正カウンタ値への変換の方法は、上述の例に限らない。補正時間の補正カウンタ値への変換の方法は、無線方式、建設機械の特性、等に応じて定めてよい。
ST4出力時間管理部2241について、補正時間処理フラグが立っている場合を説明する。ST4出力時間管理部2241は、定時割込みカウンタ2222から定時割込みカウンタ値を入力する。入力した定時割込みカウンタ値が100を超えている場合、ST4出力時間管理部2241は、ST4出力管理レジスタ2242に100を格納する。入力した定時割込みカウンタ値が100以下の場合、ST4出力時間管理部2241は、ST4出力管理レジスタ2242に補正カウンタ値を格納する。次に、ST4出力時間管理部2241は、補正時間処理フラグを下す。
次に、ST4出力時間管理部2241について、補正時間処理フラグが立っていない場合を説明する。ST4出力時間管理部2241は、定時割込みカウンタ2222から定時割込みカウンタ値を入力する。ST4出力時間管理部2241は、入力した定時割込みカウンタ値をST4出力管理レジスタ2242に格納された値と比較する。定時割込みカウンタ値とST4出力管理レジスタ2242に格納された値とが一致した場合、ST4出力時間管理部2241は、ST4出力管理レジスタ2242に初期値を格納する。また、ST4出力時間管理部2241は、定時割込みカウンタ2222をリセットする。つまり、ST4出力時間管理部2241は、定時割込みカウンタ値を0に戻す。
図10は、試験送信における受信間隔時間と試験送信の受信回数を示すグラフである。この図を参照して、基準受信間隔時間範囲の設定について説明する。この図は、操作装置1から約2000回の試験送信を行った場合の、被操作装置2における受信時間間隔と受信回数を示している。横軸は、被操作装置2において計測された受信間隔時間を示す。縦軸は、被操作装置2において試験送信が受信された受信回数を示す。この図の例では、被操作装置2における受信間隔時間は、68msから96msの範囲にある時間である。また、79msが、受信回数が最も多い受信間隔時間である。つまり、79msが、受信間隔時間における最頻値である。
ところで、このグラフに示すように、固定送信間隔時間で送信しても、受信間隔時間は分布を持つ。つまり、補正時間算出部2214の判定の基準となる基準受信間隔時間範囲を一つの値に固定してしまうと、補正時間算出部2214において抽出した操作情報の出力タイミングの補正が行われない場合が増大する。そこで、基準受信間隔時間設定部2213は、受信間隔時間における最頻値である79msに対して2msの余裕時間を持たせ、77msから81msを基準受信間隔時間範囲として設定する。基準受信間隔時間範囲として時間幅を持たせることにより、補正時間算出部2214は、抽出した操作情報の出力タイミングを、被操作装置2の受信完了時刻を起点として出力待機時間を経過した時刻へと頻繁に補正する。これにより、被操作装置2における操作情報の出力タイミングが操作装置1における操作情報のサンプリング周期とゆるやかに同期する作用が生じる。なお、抽出した操作情報の出力タイミングを補正時間算出部2214が補正した場合においては、前回の操作情報の出力からその操作情報の出力までの時間は、サンプリング周期とは異なる時間となる。しかしながら、抽出した操作情報の出力タイミングを補正時間算出部2214が補正するのは、受信間隔時間が基準受信間隔時間内に含まれる場合である。つまり、この補正による操作情報の出力タイミングのずれは、高々限定された時間である。一方で、受信間隔時間が基準受信間隔時間範囲内に含まれない場合においては、補正時間算出部2214は、抽出した操作情報の出力タイミングを補正しない。しかしながら、基準受信間隔時間範囲は、受信間隔時間の最頻値を含む範囲である。つまり、その後の被操作装置2におけるパケットの受信において、受信間隔時間が基準受信間隔時間範囲内に含まれる可能性は高い。したがって、被操作装置2における操作情報の出力タイミングは、遅かれ早かれ、操作装置1における操作情報のサンプリング周期とゆるやかに同期する。これにより、被操作装置2は、受信間隔時間のばらつきによらず、建設機械を制御できる。
なお、2msの余裕時間は、この値に限られるものではなく、あくまでも一例である。受信間隔時間の最頻値に対する余裕時間は、例えば、無線方式、建設機械の特性、等に応じて任意に定めてよい。
次に、図11及び図12を参照して、建設機械側制御部22の動作を説明する。
図11は、受信間隔時間が基準受信間隔時間範囲内に含まれない場合の建設機械側制御部22の動作を示すタイミングチャートである。
波形Qは、建設機械側通信部21がパケットを受信するタイミングを示す。波形Qにおける各矩形波は、建設機械側通信部21がパケットを受信したことを示す。波形Qに示されるD(1)及びD(2)は、建設機械側通信部21が受信したパケットを表す。T1はD(1)の受信からD(2)の受信までの受信間隔時間を示す。この図において、T1は、基準受信間隔時間範囲内には含まれない。
波形Rは、パケット抽出部2231において、パケットに含まれる操作情報を抽出するタイミングを示す。波形Rにおける各矩形波は、パケット抽出部2231がパケットに含まれる操作情報を抽出したことを示す。また、波形Rにおける各矩形波は、パケット抽出部2231が、抽出した操作情報を一時バッファ2232へ出力するタイミングも示している。
波形Sは、定時割込みカウンタ2222が生成するパルスであるST1CLKを示す。波形Sにおける各矩形波は、ST1CLKである。波形Tは、定時割込みカウンタ2222が生成するパルスであるST2CLKを示す。波形Tにおける各矩形波は、ST2CLKである。波形Uは、定時割込みカウンタ2222が生成するパルスであるST3CLKを示す。波形Uにおける各矩形波は、ST3CLKである。波形Vは、定時割込みカウンタ2222が生成するパルスであるST4CLKを示す。波形Vにおける各矩形波は、ST4CLKである。
波形Wは、建設機械側制御部22が再生した操作情報であるst(1)と、st(2)と、st(3)と、st(4)とを出力するタイミングを示す。波形Wにおける各矩形波は、建設機械側制御部22がst(1)と、st(2)と、st(3)と、st(4)とを出力したことを示す。上から8段目の数字は、定時割込みカウンタ2222の定時割込みカウンタ値を示す。値は20刻みで示される。最下段は、時刻を示す。
まず、時刻t28において、建設機械側通信部21が、D(1)の受信を開始する(波形Q)。このとき、建設機械側制御部22は、D(1)の1つ前に受信したパケットから抽出した制御情報を出力している(波形W)。時刻t29において、建設機械側通信部21が、D(1)の受信を完了する。パケット抽出部2231は、受信したD(1)に含まれる操作情報を抽出する(波形R)。また、時刻t29において、パケット抽出部2231は、抽出した操作情報を一時バッファ2232へ出力する(波形R)。
時刻t30において、定時割込みカウンタ値が0になると、定時割込みカウンタ2222はST1CLKを生成する(波形S)。ST1CLKを受けて、一時バッファ2232はD(1)から抽出した操作情報のうち、st(1)をST1バッファ2233へ出力する。また、ST1バッファ2233は、一時バッファ2232から入力したst(1)を建設機械側制御部22の出力として出力する(波形W)。時刻t31において、定時割込みカウンタ値が20になると、定時割込みカウンタ2222はST2CLKを生成する(波形T)。ST2CLKを受けて、一時バッファ2232はD(1)にから抽出した操作情報のうち、st(2)をST2バッファ2234へ出力する。また、ST2バッファ2234は、一時バッファ2232から入力したst(2)を建設機械側制御部22の出力として出力する(波形W)。時刻t32において、定時割込みカウンタ値が40になると、定時割込みカウンタ2222はST3CLKを生成する(波形U)。ST3CLKを受けて、一時バッファ2232はD(1)から抽出した操作情報のうち、st(3)をST3バッファ2235へ出力する。また、ST3バッファ2235は、一時バッファ2232から入力したst(3)を建設機械側制御部22の出力として出力する(波形W)。
時刻t33において、建設機械側通信部21が、D(2)の受信を開始する(波形Q)。このとき、建設機械側制御部22は、D(1)から抽出した制御情報を出力している(波形W)。時刻t34において、定時割込みカウンタ値が60になると、定時割込みカウンタ2222はST4CLKを生成する(波形V)。ST4CLKを受けて、一時バッファ2232はD(1)から抽出した操作情報のうち、st(4)をST4バッファ2236へ出力する。また、ST4バッファ2236は、一時バッファ2232から入力したst(4)を建設機械側制御部22の出力として出力する(波形W)。時刻t35において、建設機械側通信部21が、D(2)の受信を完了する。パケット抽出部2231は、受信したD(2)に含まれる操作情報を抽出する(波形R)。また、時刻t35において、パケット抽出部2231は、抽出した操作情報を一時バッファ2232へ出力する(波形R)。
また、時刻t35において、受信間隔時間算出部2212は受信間隔時間T1を算出する。また、補正時間算出部2214は、算出されたT1が基準受信間隔時間設定部2213から入力した基準受信間隔時間範囲内に含まれるか否かを判定する。T1は基準受信間隔時間範囲内には含まれないので、補正時間算出部2214は、補正時間を算出しない。
補正時間算出部2214は補正時間を算出しないので、定時割込みカウンタ2222は、ST4出力管理レジスタ2242に格納されている値までカウントを進める。具体的には、例えば、ST4出力管理レジスタ2242に格納されている値が79の場合、定時割込みカウンタ2222は79までカウントを進める。定時割込みカウンタ値が79になると、ST4出力時間管理部2241は定時割込みカウンタをリセットする。つまり、ST4出力時間管理部2241は定時割込みカウンタ値を0に戻す。時刻t36において、定時割込みカウンタ値が0になると、定時割込みカウンタ2222はST1CLKを生成する(波形S)。ST1CLKを受けて、一時バッファ2232はD(1)から抽出した操作情報のうち、st(1)をST1バッファ2233へ出力する。また、ST1バッファ2233は、一時バッファ2232から入力したst(1)を建設機械側制御部22の出力として出力する(波形W)。
以後、受信間隔時間が基準受信間隔時間範囲内に含まれない場合、建設機械側制御部22は、図11において説明した動作を繰り返す。
図12は、受信間隔時間が基準受信間隔時間範囲内に含まれる場合の建設機械側制御部22の動作を示すタイミングチャートである。
波形Xは、建設機械側通信部21がパケットを受信するタイミングを示す。波形Xにおける各矩形波は、建設機械側通信部21がパケットを受信したことを示す。波形Xに示されるD(4)及びD(5)は、建設機械側通信部21が受信したパケットを表す。T2はD(4)の受信からD(5)の受信までの受信間隔時間を示す。T2は、基準受信間隔時間範囲内に含まれる。
波形Yは、パケット抽出部2231において、パケットに含まれる操作情報を抽出するタイミングを示す。波形Yにおける各矩形波は、パケット抽出部2231がパケットに含まれる操作情報を抽出したことを示す。また、波形Yにおける各矩形波は、パケット抽出部2231が、抽出した操作情報を一時バッファ2232へ出力したタイミングも示している。
波形Zは、定時割込みカウンタ2222が生成するパルスであるST1CLKを示す。波形Zにおける各矩形波は、ST1CLKである。波形Aaは、定時割込みカウンタ2222が生成するパルスであるST2CLKを示す。波形Aaにおける各矩形波は、ST2CLKである。波形Bbは、定時割込みカウンタ2222が生成するパルスであるST3CLKを示す。波形Bbにおける各矩形波は、ST3CLKである。波形Ccは、定時割込みカウンタ2222が生成するパルスであるST4CLKを示す。波形Ccにおける各矩形波は、ST4CLKである。
波形Ddは、建設機械側制御部22が抽出した操作情報であるst(1)と、st(2)と、st(3)と、st(4)とを出力するタイミングを示す。波形Ddにおける各矩形波は、建設機械側制御部22がst(1)と、st(2)と、st(3)と、st(4)とを出力したことを示す。上から8段目の数字は、定時割込みカウンタ2222の定時割込みカウンタ値を示す。値は20刻みで示される。最下段は、時刻を示す。Tcは補正時間を表す。Twは出力待機時間を表す。
まず、時刻t37において、建設機械側通信部21が、D(4)の受信を開始する(波形X)。このとき、建設機械側制御部22は、D(4)の1つ前に受信したパケットから抽出した制御情報を出力している(波形Dd)。時刻t38において、建設機械側通信部21が、D(4)の受信を完了する。パケット抽出部2231は、受信したD(4)に含まれる操作情報を抽出する(波形Y)。また、時刻t38において、パケット抽出部2231は、抽出した操作情報を一時バッファ2232へ出力する(波形Y)。
時刻t39において、定時割込みカウンタ値が0になると、定時割込みカウンタ2222はST1CLKを生成する(波形Z)。ST1CLKを受けて、一時バッファ2232はD(4)から抽出した操作情報のうち、st(1)をST1バッファ2233へ出力する。また、ST1バッファ2233は、一時バッファ2232から入力したst(1)を建設機械側制御部22の出力として出力する(波形Dd)。時刻t40において、定時割込みカウンタ値が20になると、定時割込みカウンタ2222はST2CLKを生成する(波形Aa)。ST2CLKを受けて、一時バッファ2232はD(4)から抽出した操作情報のうち、st(2)をST2バッファ2234へ出力する。また、ST2バッファ2234は、一時バッファ2232から入力したst(2)を建設機械側制御部22の出力として出力する(波形Dd)。時刻t41において、定時割込みカウンタ値が40になると、定時割込みカウンタ2222はST3CLKを生成する(波形Bb)。ST3CLKを受けて、一時バッファ2232はD(4)から抽出した操作情報のうち、st(3)をST3バッファ2235へ出力する。また、ST3バッファ2235は、一時バッファ2232から入力したst(3)を建設機械側制御部22の出力として出力する(波形Dd)。
時刻t42において、建設機械側通信部21が、D(5)の受信を開始する(波形X)。このとき、建設機械側制御部22は、D(4)から抽出した制御情報を出力している(波形Dd)。時刻t43において、建設機械側通信部21が、D(2)の受信を完了する。パケット抽出部2231は、受信したD(2)に含まれる操作情報を抽出する(波形Y)。また、時刻t43において、パケット抽出部2231は、抽出した操作情報を一時バッファ2232へ出力する(波形Dd)。
また、時刻t43において、受信間隔時間算出部2212は受信間隔時間T2を算出する。補正時間算出部2214は、算出されたT2が基準受信間隔時間設定部2213から入力した基準受信間隔時間範囲内に含まれるか否かを判定する。T2は基準受信間隔時間範囲内に含まれるので、補正時間算出部2214は、補正時間を算出する。また、補正時間算出部2214は、補正時間処理フラグを立てる。
補正時間Tcは、例えば、以下の方法により算出される。
まず、補正時間算出部2214は、時刻t43における受信完了時刻を特定する。次に、補正時間算出部2214は、時刻t39におけるST1出力時刻を特定する。次に、補正時間算出部2214は、特定したST1出力時刻から特定した受信完了時刻までの時間を算出する。なお、補正時間算出部2214は、例えば、受信完了時刻における定時割込みカウンタの値に基づいて時間を算出してもよい。この図において、時刻t43の定時割込みカウンタ値はNと表されている。次に、補正時間算出部2214は、算出した時間に出力待機時間Twを加えることにより、補正時間Tcを算出する。出力待機時間Twは、例えば、建設機械側制御部22により予め定められた時間である。なお、Twは、例えば、無線方式、建設機械の特性、等に応じて任意に定めてよい。
補正時間Tcの算出について、より具体的に説明する。この図において、例えば、Nを58とし、出力待機時間Twを10msであるとする。その場合、補正時間Tcは、定時割込みクロックの周期が1msなので、68msとなる。補正時間算出部2214は、算出された補正時間TcをST4出力時間管理部2241へ出力する。ST4出力時間管理部2241は、ST4出力管理レジスタ2242へ、補正時間算出部2214から入力した補正時間Tcを、補正カウンタ値に変換して格納する。具体的には、Tcが68msである場合、定時割込みクロックの周期が1msなので、補正カウンタ値は68である。ST4出力管理レジスタ2242は、補正カウント値である68を格納する。
次に、ST4出力時間管理部2241は、補正時間算出部2214における補正時間処理フラグを下す(リセットする)。
時刻t44において、定時割込みカウンタ値が60になると、定時割込みカウンタ2222はST4CLKを生成する(波形Cc)。ST4CLKを受けて、一時バッファ2232はD(4)から抽出した操作情報のうち、st(4)をST4バッファ2236へ出力する。また、ST4バッファ2236は、一時バッファ2232から入力したst(4)を建設機械側制御部22の出力として出力する(波形Dd)。
補正時間算出部2214において、補正時間の算出が行われたので、ST4出力管理レジスタ2242は、補正カウント値である68を格納している。定時割込みカウンタ2222は、ST4出力管理レジスタ2242に格納されている値までカウントを進める。具体的には、定時割込みカウンタ2222は68までカウントを進める。定時割込みカウンタ値が68になると、ST4出力時間管理部2241は定時割込みカウンタをリセットする。つまり、ST4出力時間管理部2241は定時割込みカウンタ値を0に戻す。また、ST4出力時間管理部2241は、ST4出力管理レジスタ2242に初期値を格納する。 時刻t45において、定時割込みカウンタ値が0になると、定時割込みカウンタ2222はST1CLKを生成する(波形Z)。ST1CLKを受けて、一時バッファ2232はD(5)から抽出した操作情報のうち、st(1)をST1バッファ2233へ出力する。また、ST1バッファ2233は、一時バッファ2232から入力したst(1)を建設機械側制御部22の出力として出力する(波形Dd)。
以後、受信間隔時間が基準受信間隔時間範囲内に含まれる場合、建設機械側制御部22は、この図において説明した動作を繰り返す。
なお、これまでの説明において、補正時間の算出について具体的な数字を用いて説明したが、これらの具体的な数字は、一例である。本実施形態はこれらの具体的な数字に限定されない。
以上のように、建設機械側制御部22において、パケット抽出部2231は、取得したパケットに含まれる操作情報を抽出する。ここで、パケットは、操作側通信部13から80msの固定送信時間間隔ごとに送信される。パケット抽出部2231は、抽出した操作情報であるst(1)と、st(2)と、st(3)と、st(4)とを一時バッファ2232へ出力する。st(1)、st(2)、st(3)、st(4)のそれぞれの数字は、サンプリング部122でサンプリングした順序と一致する。定時割込みカウンタは、操作側制御部12のサンプリング周期である20msと同じ周期で、パルスであるST1CLKと、ST2CLKと、ST3CLKと、ST4CLKとを出力する。
一時バッファ2232は、ST1CLKが入力すると、ST1バッファ2233へst(1)を出力する。ST1バッファ2233は、入力したst(1)を駆動部23へ出力する。一時バッファ2232は、ST2CLKが入力すると、ST2バッファ2234へst(2)を出力する。ST2バッファ2234は、入力したst(2)を駆動部23へ出力する。一時バッファ2232は、ST3CLKが入力すると、ST3バッファ2235へst(3)を出力する。ST3バッファ2235は、入力したst(3)を駆動部23へ出力する。一時バッファ2232は、ST4CLKが入力すると、ST4バッファ2236へst(4)を出力する。ST4バッファ2236は、入力したst(4)を駆動部23へ出力する。
これにより、建設機械側制御部22は、80msの固定送信間隔時間より短い20msのサンプリング周期で取得した、時間的に連続した複数の操作情報に基づいて、駆動部23に建設機械を制御させることができる。つまり、建設機械側制御部22は、80msごとに間欠的に取得する操作情報ではなく、それより短い周期で取得した操作情報に基づいて、駆動部23に建設機械を制御させることができる。また、建設機械側制御部22は、抽出した操作情報を、サンプリング部122におけるサンプリング周期と同じ周期で、サンプリングによって取得した時系列にしたがって、駆動部23に出力する。したがって、建設機械側制御部22は、操作装置1における操作部11で行われた操作と同じ操作で、駆動部23に建設機械を制御させることができる。
ところで、操作装置1と被操作装置2とは、それぞれ独立した装置である。したがって、操作装置1において計測される時間と、被操作装置2において計測される時間とは、同一ではない場合もある。それに対して、補正時間算出部2214は、受信間隔時間が基準受信間隔時間範囲内に含まれると判定した場合、補正時間を算出する。補正時間算出部2214は、算出した補正時間をST4出力時間管理部2241へ入力する。ST4出力時間管理部2241は、入力した補正時間に基づいて、その時に受信したパケットから抽出された操作情報であるst(1)の出力タイミングを補正する。基準受信間隔時間範囲は、被操作装置2が操作装置1から受信する際の受信間隔時間における最頻値に基づいて、受信間隔時間の最頻値を含んで定められた時間である。つまり、ST4出力時間管理部2241は、再生した操作情報の出力タイミングを、被操作装置2の受信完了時刻を起点として出力待機時間を経過した時刻へと頻繁に補正する。これにより、被操作装置2における操作情報の出力タイミングが操作装置1における操作情報のサンプリング周期とゆるやかに同期する作用が生じる。なお、抽出した操作情報の出力タイミングをST4出力時間管理部2241が補正した場合においては、前回の操作情報の出力からその操作情報の出力までの時間は、サンプリング周期とは異なる時間となる。しかしながら、抽出した操作情報の出力タイミングをST4出力時間管理部2241が補正するのは、受信間隔時間が基準受信間隔時間内に含まれる場合である。つまり、この補正による操作情報の出力タイミングのずれは、高々限定された時間である。一方で、受信間隔時間が基準受信間隔時間範囲内に含まれない場合においては、ST4出力時間管理部2241は、抽出した操作情報の出力タイミングを補正しない。しかしながら、基準受信間隔時間範囲は、受信間隔時間の最頻値を含む範囲である。つまり、その後の被操作装置2におけるパケットの受信において、受信間隔時間が基準受信間隔時間範囲内に含まれる可能性は高い。したがって、被操作装置2における操作情報の出力タイミングは、遅かれ早かれ、操作装置1における操作情報のサンプリング周期とゆるやかに同期する。これにより、建設機械側制御部22は、操作装置1において計測された時間と被操作装置2において計測された時間との差による影響を受けずに、駆動部23に建設機械を制御させることができる。
[遠隔制御システムの処理手順例]
図13は、遠隔制御システム3における処理手順を示すシーケンス図である。なおここでは、操作装置1からN番目の送信が行われた場合についてのみを示している。操作部11と、操作側制御部12と、操作側通信部13とは、操作装置1に含まれる構成部である。建設機械側通信部21と、建設機械側制御部22と、駆動部23とは、被操作装置2に含まれる構成部である。
操作部11はオペレータにより操作される(ステップS1301)。操作部11は、操作信号を生成する。操作部11は、生成した操作信号を操作側制御部12へ入力する。
操作側制御部12は、操作部11から入力した操作信号をサンプリングする。操作側制御部12は、サンプリングによって、操作情報であるst(1)を取得する(ステップS1302)。
操作側制御部12は、操作部11から入力した操作信号をサンプリングする。操作側制御部12は、サンプリングによって、操作情報であるst(2)を取得する(ステップS1303)。ステップS1302からステップS1303までの時間は、操作側制御部12におけるサンプリング周期である20msである。
操作側制御部12は、操作部11から入力した操作信号をサンプリングする。操作側制御部12は、サンプリングによって、操作情報であるst(3)をサンプリングする(ステップS1304)。ステップS1303からステップS1304までの時間は、操作側制御部12におけるサンプリング周期である20msである。
操作側制御部12は、操作部11から入力した操作信号をサンプリングする。操作側制御部12は、サンプリングによって、操作情報であるst(4)をサンプリングする(ステップS1305)。ステップS1304からステップS1305までの時間は、操作側制御部12におけるサンプリング周期である20msである。
操作側制御部12は、サンプリングにより取得したst(1)と、st(2)と、st(3)と、st(4)とを含むパケットを生成する(ステップS1306)。操作側制御部12は、生成したパケットを操作側通信部13へ出力する。
操作側通信部13は、入力したパケットを、被操作装置2の建設機械側通信部21へ送信する(ステップS1307)。この図において、この送信はN番目の送信である。図示しないN−1番目の送信時刻からN番目の送信時刻までの時間である送信間隔時間は、固定送信間隔時間である80msである。
建設機械側通信部21は、操作装置1の操作側通信部13からパケットを受信する(ステップS1308)。この図において、この受信はN番目の受信である。建設機械側通信部21は、受信したパケットを建設機械側制御部22へ出力する。建設機械側制御部22は、建設機械側通信部21から入力したパケットに含まれる操作情報であるst(1)と、st(2)と、st(3)と、st(4)とを抽出する。また、建設機械側制御部22は、図示しないN−1番目の受信時刻からN番目の受信時刻までの時間である受信間隔時間を算出する(ステップS1309)。建設機械側制御部22は、算出した受信間隔時間が基準受信間隔時間範囲内に含まれる場合、補正時間を算出する。
建設機械側制御部22は、st(1)を、駆動部23へ出力する(ステップS1310)。
駆動部23は、建設機械側制御部22から入力したst(1)に基づいて、建設機械を駆動する(ステップS1311)。
建設機械側制御部22は、st2を、駆動部23へ出力する(ステップS1312)。ステップS1310からステップS1312までの時間は、操作側制御部12におけるサンプリング周期と同じく20msである。
駆動部23は、建設機械側制御部22から入力したst(2)に基づいて、建設機械を駆動する(ステップS1313)。
建設機械側制御部22は、st(3)を、駆動部23へ出力する(ステップS1314)。ステップS1312からステップS1314までの時間は、操作側制御部12におけるサンプリング周期と同じく20msである。
駆動部23は、建設機械側制御部22から入力したst(3)に基づいて、建設機械を駆動する(ステップS1315)。
建設機械側制御部22は、st(4)を、駆動部23へ出力する(ステップS1316)。ステップS1314からステップS1316までの時間は、操作側制御部12におけるサンプリング周期と同じく20msである。
駆動部23は、建設機械側制御部22から入力したst(4)に基づいて、建設機械を駆動する(ステップS1316)。
以上で、本実施形態における遠隔制御システムは、N番目の送信及び受信にかかる処理を終了する。
[操作側制御部の処理手順例]
図14は、操作側制御部12において、パケットを生成するための処理手順を示すフローチャートである。
処理の開始において、サンプリングクロック生成部121は、10msの周期のサンプリングクロックを生成する(ステップS1400)。以下では、サンプリングクロックをSCと記す。また、サンプリングクロックSCには0から7の番号を付す。例えば、一番目のサンプリングクロックは、サンプリングクロックSC0と表す。付した番号は、0から7まで数えた後、0に戻ってまた7まで数える。これを繰り返す。サンプリングクロック生成部121は、サンプリングクロックをサンプリング部122へ入力する。
次に、サンプリング部122は、サンプリング数を1とする(ステップS1401)。サンプリング数は、サンプリング部122が行ったサンプリングの回数を表す。
次に、サンプリング部122は、操作部11から入力した操作信号を、サンプリングクロックSC0でサンプリングする(ステップS1402)。サンプリング部122は、サンプリングにより、操作情報であるst(1)を取得する。
次に、サンプリング部122は、サンプリング数が4であるか否かを判定する(ステップS1403)。サンプリング数が4ではない場合(ステップS1403:No)、操作側制御部12は、ステップS1404へ処理を進める。サンプリング数が4である場合(ステップS1403:Yes)、操作側制御部12は、ステップS1405へ処理を進める。
ステップS1403においてNoの場合、サンプリング部122は、サンプリング数を1だけ増加させる(ステップS1405)。操作側制御部12は、ステップS1402に処理を戻す。
なお、ステップS1402からステップS1404までの処理は、サンプリング数が4になるまで繰り返される。このときのステップS1402の処理において、サンプリング数が2の場合、サンプリング部122は、サンプリングクロックSC2の立ち上がりにおいて、操作部11から入力した操作信号をサンプリングする。サンプリング部122は、このサンプリングにより、操作情報であるst(2)を取得する。また、サンプリング数が3の場合、サンプリング部122は、サンプリングクロックSC4の立ち上がりにおいて、操作部11から入力した操作信号をサンプリングする。サンプリング部122は、このサンプリングによって、操作情報であるst(3)を取得する。また、サンプリング数が4の場合、サンプリング部122は、サンプリングクロックSC6の立ち上がりにおいて、操作部11から入力した操作信号をサンプリングする。サンプリング部122は、このサンプリングによって、操作情報であるst(4)を取得する。
ステップS1403においてYesの場合、サンプリング部122は、サンプリングクロックSC7の立ち上がりにおいて、取得したst(1)と、st(2)と、st(3)と、st(4)とを、それぞれ、パケット生成部123へ出力する。また、パケット生成部123は、入力したst(1)と、st(2)と、st(3)と、st(4)とを含むパケットを生成する。さらに、サンプリング部122は、サンプリング数を0にする(ステップS1405)。
以上で、操作側制御部12は、処理を終了する。操作側制御部12は、必要に応じて上述の一連の処理を繰り返す。
なお、サンプリング部122は、st(1)と、st(2)と、st(3)と、st(4)とを、ステップS1405においてパケット生成部123へ出力しているが、ステップS1402において操作情報を取得するごとに出力しても構わない。
[建設機械側制御部の処理手順例]
図15は、建設機械側制御部22において、補正時間を算出するための処理手順を示すフローチャートである。
受信間隔時間検出の処理の開始において、受信間隔時間算出クロック生成部2211は、受信間隔時間算出クロックを生成する(ステップS1501)。なお、必ずしも受信間隔時間算出クロックを生成しなくてもよい。建設機械側制御部22は、受信間隔時間算出クロックとして、例えば、建設機械側制御部22が動作する被操作装置2のシステムクロックを用いてよい。
次に、受信間隔時間算出部2212は、建設機械側通信部21において受信が完了したか否かを判定する(ステップS1502)。建設機械側通信部21において受信が完了していない場合(ステップS1502:No)、建設機械側制御部22は処理をステップS1502へ戻す。建設機械側通信部21において受信が完了した場合(ステップS1502:Yes)、建設機械側制御部22は処理をステップS1503へ進める。
次に、受信間隔時間算出部2212は、受信間隔時間を算出する(ステップS1503)。受信間隔時間は、例えば、受信が完了したときのシステムクロックのカウント数と、その1つ前の受信が完了したときのシステムクロックのカウント数とに基づいて算出してよい。受信間隔時間算出部2212は、算出した受信間隔時間を補正時間算出部2214へ出力する。
次に、補正時間算出部2214は、入力した受信間隔時間が基準受信間隔時間範囲内に含まれるか否かを判定する(ステップS1504)。基準受信間隔時間範囲は、補正時間算出部2214が基準受信間隔時間設定部2213から入力する。受信間隔時間が基準受信間隔時間範囲内に含まれない場合(ステップS1504:No)、建設機械側制御部22は処理をステップS1502へ戻す。受信間隔時間が基準受信間隔時間範囲内に含まれる場合(ステップS1504:Yes)、建設機械側制御部22は処理をステップS1505へ進める。
次に、補正時間算出部2214は、補正時間を算出する(ステップS1505)。補正時間算出部2214は、上述した方法で算出された補正時間をST4出力時間管理部2241へ出力する。
次に、補正時間算出部2214は、補正時間処理フラグを立てる(ステップS1506)。
以上で、建設機械側制御部22は、処理を終了する。建設機械側制御部22は、次の受信間隔時間検出処理を待つ(ステップS1507)。
図16は、建設機械側制御部22において、抽出した操作情報を出力するための処理手順を示すフローチャートである。
まず、建設機械側制御部22は、定時割込みの処理を開始する(ステップS1600)。定時割込みは、定時割込みクロック生成部2221が生成した1ms周期の定時割込みクロックにしたがって、1msごとに行われる。
次に、建設機械側制御部22は、定時割込みカウンタ値が0であるか否かを判定する(ステップS1601)。定時割込みカウンタ値が0である場合(ステップS1601:Yes)、建設機械側制御部22は、ステップS1602へ処理を進める。定時割込みカウンタ値が0ではない場合(ステップS1601:No)、建設機械側制御部22は、ステップS1606へ処理を進める。
ステップS1601において定時割込みカウンタ値が0である場合、建設機械側制御部22は、パケットが更新されているか否かを判定する(ステップS1602)。パケットが更新されている場合(ステップS1602:Yes)、建設機械側制御部22は、ステップS1603へ処理を進める。パケットが更新されていない場合(ステップS1602:No)、建設機械側制御部22は、ステップS1618へ処理を進める。
ステップS1602においてパケットが更新されている場合、一時バッファ2232は、ST1バッファ2233へ操作情報であるst(1)を出力する(ステップS1603)。
次に、ST1バッファ2233は、入力したst(1)を駆動部23へ出力する(ステップS1604)。
次に、定時割込みカウンタ2222は、定時割込みカウンタ値を1だけ増加させる(ステップS1605)。その後、建設機械側制御部22は、ステップS1618へ処理を進める。
ステップS1601において定時割込みカウンタ値が0ではない場合、建設機械側制御部22は、定時割込みカウンタ値が20であるか否かを判定する(ステップS1606)。定時割込みカウンタ値が20である場合(ステップS1606:Yes)、建設機械側制御部22は、ステップS1607へ処理を進める。定時割込みカウンタ値が20ではない場合(ステップS1606:No)、建設機械側制御部22は、ステップS1610へ処理を進める。
ステップS1606において定時割込みカウンタ値が20である場合、一時バッファ2232は、ST2バッファ2234へ操作情報であるst(2)を出力する(ステップS1607)。
次に、ST2バッファ2234は、入力したst(2)を駆動部23へ出力する(ステップS1608)。
次に、定時割込みカウンタ2222は、定時割込みカウンタ値を1だけ増加させる(ステップS1605)。その後、建設機械側制御部22は、ステップS1618へ処理を進める。
ステップS1606において定時割込みカウンタ値が20ではない場合、建設機械側制御部22は、定時割込みカウンタ値が40であるか否かを判定する(ステップS1610)。定時割込みカウンタ値が40である場合(ステップS1610:Yes)、建設機械側制御部22は、ステップS1611へ処理を進める。定時割込みカウンタ値が40ではない場合(ステップS1610:No)、建設機械側制御部22は、ステップS1613へ処理を進める。
ステップS1610において定時割込みカウンタ値が40である場合、一時バッファ2232は、ST3バッファ2235へ操作情報であるst(3)を出力する(ステップS1611)。
次に、ST3バッファ2235は、入力したst(3)を駆動部23へ出力する(ステップS1612)。
次に、定時割込みカウンタ2222は、定時割込みカウンタ値を1だけ増加させる(ステップS1605)。その後、建設機械側制御部22は、ステップS1618へ処理を進める。
ステップS1610において定時割込みカウンタ値が40ではない場合、建設機械側制御部22は、定時割込みカウンタ値が60であるか否かを判定する(ステップS1613)。定時割込みカウンタ値が60である場合(ステップS1613:Yes)、建設機械側制御部22は、ステップS1614へ処理を進める。定時割込みカウンタ値が60ではない場合(ステップS1613:No)、建設機械側制御部22は、ステップS1616へ処理を進める。
ステップS1613において定時割込みカウンタ値が60である場合、一時バッファ2232は、ST4バッファ2236へ操作情報であるst(4)を出力する(ステップS1614)。
次に、ST4バッファ2236は、入力したst(4)を駆動部23へ出力する(ステップS1615)。
次に、定時割込みカウンタ2222は、定時割込みカウンタ値を1だけ増加させる(ステップS1605)。その後、建設機械側制御部22は、ステップS1618へ処理を進める。
ステップS1613において定時割込みカウンタ値が60ではない場合、建設機械側制御部22は、定時割込みカウンタ値が61以上であるか否かを判定する(ステップS1616)。定時割込みカウンタ値が61以上である場合(ステップS1616:Yes)、建設機械側制御部22は、ステップS1617へ処理を進め、ST4出力時間管理処理に移る。定時割込みカウンタ値が61より小さい場合(ステップS1616:No)、建設機械側制御部22は、ステップS1605へ処理を進める。
次に、定時割込みカウンタ2222は、定時割込みカウンタ値を1だけ増加させる(ステップS1605)。その後、建設機械側制御部22は、ステップS1618へ処理を進める。
以上で、建設機械側制御部22は、定時割込みの処理を終了する。建設機械側制御部22は、次の定時割込みの処理を待つ(ステップS1618)。
なお、上述のフローチャートの説明において、定時割込みクロックの時間周期を1msとしているが、これは、あくまでも一例である。定時割込みクロックの時間周期は、用いられる無線方式、建設機械、等に応じて任意に定めてよい。
同様に、上述のフローチャートの説明において、判定基準として示された定時割込みカウンタ値は、あくまでも一例である。判定基準となる定時割込みカウンタ値は、用いられる無線方式、建設機械、等に応じて任意に定めてよい。
図17は、建設機械側制御部22において、抽出した操作情報の出力タイミングを補正するための処理手順を示すフローチャートである。
まず、建設機械側制御部22は、ST4出力時間管理の処理を開始する(ステップS1701)。
次に、建設機械側制御部22は、補正時間算出部2214において、補正時間処理フラグが立っているか否かを判定する(ステップS1702)。補正時間処理フラグが立っている場合(ステップS1702:Yes)、建設機械側制御部22は、ステップS1703へ処理を進める。補正時間処理フラグが立っていない場合(ステップS1702:No)、建設機械側制御部22は、ステップS1709へ処理を進める。
ステップS1702において補正時間処理フラグが立っている場合、建設機械側制御部22は、定時割込みカウンタ値が100以下であるか否かを判定する(ステップS1703)。定時割込みカウンタ値が100以下である場合(ステップS1703:Yes)、建設機械側制御部22は、ステップS1704へ処理を進める。定時割込みカウンタ値が100より大きい場合(ステップS1703:No)、建設機械側制御部22は、ステップS1707へ処理を進める。
ステップS1703において定時割込みカウンタ値が100以下である場合、ST4出力時間管理部2241は、ST4出力管理レジスタ2242に補正カウント値を格納する(ステップS1704)。補正カウント値は、補正時間算出部2214が算出した補正時間を定時割込みクロックに応じたカウント値に変換した値である。
次に、ST4出力時間管理部2241は、補正時間算出部2214における補正時間処理フラグをリセットする(ステップS1705)。
次に、定時割込みカウンタ2222は、定時割込みカウンタ値を1だけ増加させる(ステップS1706)。その後、建設機械側制御部22は、ステップS1712へ処理を進める。
ステップS1703において定時割込みカウンタ値が100より大きい場合、ST4出力時間管理部2241は、ST4出力管理レジスタ2242に値として100を格納する(ステップS1707)。
次に、ST4出力時間管理部2241は、補正時間算出部2214における補正時間処理フラグをリセットする(ステップS1708)。その後、建設機械側制御部22は、ステップS1712へ処理を進める。
ステップS1702において補正時間処理フラグが立っていない場合、ST4出力時間管理部2241は、定時割込みカウンタ値がST4出力管理レジスタの格納する値以上か否かを判定する(ステップS1709)。定時割込みカウンタ値がST4出力管理レジスタの格納する値以上である場合(ステップS1709:Yes)、建設機械側制御部22は、ステップS1710へ処理を進める。定時割込みカウンタ値がST4出力管理レジスタの格納する値より小さい場合(ステップS1709:No)、建設機械側制御部22は、ステップS1706へ処理を進める。
ステップS1709において定時割込みカウンタ値がST4出力管理レジスタの格納する値以上である場合、ST4出力時間管理部2241は、ST4出力管理レジスタ2242に値として79を格納する(ステップS1710)。
次に、ST4出力時間管理部2241は、定時割込みカウンタ2222をリセットする(ステップS1711)。つまり、ST4出力時間管理部2241は、定時割込みカウンタ値を0にする。その後、建設機械側制御部22は、ステップS1712へ処理を進める。
ステップS1709において、定時割込みカウンタ値がST4出力管理レジスタの格納する値より小さい場合、定時割込みカウンタ2222は、定時割込みカウンタ値を1だけ増加させる(ステップS1706)。その後、建設機械側制御部22は、ステップS1712へ処理を進める。
以上で、建設機械側制御部22は、ST4出力時間管理の処理を終了する。建設機械側制御部22は、次の定時割込みの処理を待つ(ステップS1712)。
以上のように、本実施形態によれば、遠隔制御システム3は、操作装置1と、被操作装置2とを含んで構成される。操作装置1は、操作部11と、操作側制御部12と、操作側通信部13とを含んで構成される。操作側制御部12は、固定送信間隔時間(第2の時間)である80msより短い20msのサンプリング周期(第1の時間)で操作信号をサンプリングする。操作側制御部12は、サンプリングにより、操作情報を取得する。操作側制御部12は、時間的に連続した4つの操作情報を含む、1つのパケットを生成する。操作側制御部12は、生成したパケットを80msの固定送信間隔時間ごとに操作側通信部13に送信させる。これにより、遠隔制御システム3において、操作装置1は、固定送信間隔時間より短い周期で取得した、時間的に連続した複数の操作情報を被操作装置2へ送信できる。
また、被操作装置2は、建設機械側通信部21と、建設機械側制御部22と、駆動部23とを含んで構成される。建設機械側制御部22は、建設機械側通信部21が受信したパケットに含まれる操作情報を抽出する。建設機械側制御部22は、80msの固定送信間隔時間より短い周期で、サンプリングによって取得した時系列にしたがって、抽出した操作情報を駆動部23に出力する。より具体的には、建設機械側制御部22は、操作装置1におけるサンプリング周期と同じ20msの周期で、操作装置1においてサンプリングにより取得した時系列にしたがって、抽出した操作情報を駆動部23に出力する。これにより、建設機械側制御部22は、固定送信間隔時間である80msより短い20msの周期で取得した、時間的に連続した複数の操作情報に基づいて、駆動部23に建設機械を制御させることができる。つまり、建設機械側制御部22は、80msごとに間欠的に取得した操作情報ではなく、それより短い周期で取得した操作情報に基づいて、駆動部23に建設機械を制御させることができる。
すなわち、遠隔制御システム3において、被操作装置2は、80msごとに間欠的に取得した操作情報ではなく、それより短い時間間隔である20msごとに取得された操作情報に基づいて建設機械を制御できる。
また、抽出された操作情報は、建設機械側制御部22によって、操作装置1におけるサンプリング周期と同じ周期で、操作装置1においてサンプリングによって取得された時系列にしたがって、駆動部23に出力される。したがって、建設機械側制御部22は、操作装置1における操作部11で行われた操作と同じ操作で、駆動部23に建設機械を制御させることができる。
すなわち、遠隔制御システム3において、被操作装置2は、操作装置1において行われた操作と同じ操作で、建設機械を制御できる。また、これにより、建設機械側制御部22は、受信間隔時間のばらつきによらず、駆動部23に建設機械を制御させることができる。つまり、遠隔制御システム3において、被操作装置2は、受信間隔時間のばらつきによらず、建設機械を制御することができる。
ところで、操作装置1と被操作装置2とは、それぞれ独立した装置である。操作装置1における時間は、操作装置1が有するシステムクロック等により計測される。同様に、被操作装置2における時間は、被操作装置2が有するシステムクロック等により計測される。 ここで、規格上、操作装置1が有するシステムクロックの周期と、被操作装置2が有するシステムクロックの周期とが同じであっても、各システムクロックを生成する装置の精度が異なる場合もある。つまり、操作装置1が有するシステムクロックと、被操作装置2が有するシステムクロックとは、時間周期が完全に同一であるとは限らない。つまり、操作装置1において計測される時間と、被操作装置2において計測される時間とは、同一ではない場合もある。このような場合、長時間にわたって操作装置1及び被操作装置2が稼働している場合、操作装置1において計測される時間と被操作装置2において計測される時間との差が蓄積される。この蓄積された時間差により、被操作装置2の建設機械側制御部22において、再生した操作情報を正しく出力できなくなる場合もある。
それに対して、本実施形態における建設機械側制御部22は、受信間隔時間が基準受信間隔時間範囲内に含まれると判定した場合、その時に受信したパケットから抽出された操作情報の出力タイミングを補正する。基準受信間隔時間範囲は、被操作装置2が操作装置1から受信する際の受信間隔時間における最頻値に基づいて、受信間隔時間の最頻値を含んで設定される時間である。つまり、建設機械側制御部22は、再生した操作情報の出力タイミングを、被操作装置2の受信完了時刻を起点として出力待機時間を経過した時刻へと頻繁に補正する。これにより、被操作装置2における操作情報の出力タイミングが操作装置1における操作情報のサンプリング周期とゆるやかに同期する作用が生じる。なお、抽出した操作情報の出力タイミングを建設機械側制御部22が補正した場合においては、前回の操作情報の出力からその操作情報の出力までの時間は、サンプリング周期とは異なる時間となる。しかしながら、抽出した操作情報の出力タイミングを建設機械側制御部22が補正するのは、受信間隔時間が基準受信間隔時間内に含まれる場合である。つまり、この補正による操作情報の出力タイミングのずれは、高々限定された時間である。一方で、受信間隔時間が基準受信間隔時間範囲内に含まれない場合においては、建設機械側制御部22は、抽出した操作情報の出力タイミングを補正しない。しかしながら、基準受信間隔時間範囲は、受信間隔時間の最頻値を含む範囲である。つまり、その後の被操作装置2におけるパケットの受信において、受信間隔時間が基準受信間隔時間範囲内に含まれる可能性は高い。したがって、被操作装置2における操作情報の出力タイミングは、遅かれ早かれ、操作装置1における操作情報のサンプリング周期とゆるやかに同期する。操作装置1において計測された時間と被操作装置2において計測された時間との差は、固定送信間隔時間である80msでは無視できる。これらのことから、建設機械側制御部22は、操作装置1において計測された時間と被操作装置2において計測された時間との差による影響を受けずに、駆動部23に建設機械を制御させることができる。すなわち、遠隔制御システム3において、被操作装置2は、操作装置1において計測された時間と被操作装置2において計測された時間との差による影響を受けずに、建設機械を制御できる。
また、実際の建設機械の遠隔制御においては、建設機械の油圧系での動作遅延等により、操作体の操作から建設機械の動作までに100ms乃至200ms程度のタイムラグがある。これに対して、本実施形態における遠隔制御システム3においては、操作装置1は80msの固定送信間隔時間ごとにパケットを送信する。これにより、被操作装置2におけるパケットの受信間隔時間のばらつきは80msを中心として15msとなる。15msのばらつきは、100ms乃至200ms程度のタイムラグより十分小さい。さらに、遠隔制御システム3においては、被操作装置2は、抽出した操作情報の出力タイミングを、被操作装置2の受信完了時刻を起点として出力待機時間を経過した時刻へと頻繁に補正する。これらにより、被操作装置2は、受信間隔時間のばらつきによらず、建設機械を制御できる。
すなわち、本実施形態における遠隔制御システム3において、建設機械は、受信間隔時間のばらつきにかかわらず、オペレータの意図した動作を行うことができる。
なお、本実施形態では、遠隔制御システム3は、ARIB STD−T108を適用する920MHz帯特定小電力無線を用いているが、例えば、2.4GHz帯特定小電力無線、429MHz帯特定小電力無線、等の無線を用いても構わない。また、操作装置1の送信間隔時間は、本実施形態においては80msに固定しているが、これに限るものではない。送信間隔時間は、80ms以外の時間であっても構わない。送信時間間隔は、用いる無線方式に応じて定めることが望ましい。
なお、上述した装置の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を実現するようにしてもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、端末装置で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて端末装置で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に端末装置で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。