作業対象物に対して作業する作業部と、前記作業部の動作を制御する制御部とを備え、前記制御部は、前記作業部の3次元位置と前記作業対象物の3次元位置とを通る進路を決定し、前記作業部を当該進路中において移動させ、前記進路中における障害物を検出する検出部をさらに備え、前記作業部の移動中に前記障害物が検出された場合、前記制御部が、前記作業部と前記障害物との接触を回避するように、前記作業部の動作を制御することを特徴とする、作業部動作制御装置。前記作業部の移動中に前記障害物が検出された場合、前記制御部が、前記作業部の移動を停止させることを特徴とする、請求項1に記載の作業部動作制御装置。前記作業部の移動中に前記障害物が検出された場合、前記制御部が、前記作業部を前記進路とは直交する方向に移動させることを特徴とする、請求項1または2に記載の作業部動作制御装置。前記制御部が、前記進路とは直交する方向に移動した前記作業部の3次元位置と、前記作業対象物の3次元位置とを通る修正進路を決定し、前記作業部を当該修正進路中において移動させることを特徴とする、請求項3に記載の作業部動作制御装置。前記作業部の移動中に前記障害物が検出された場合、前記制御部が、前記作業部の前記作業対象物に対する進入角度を変更させることを特徴とする、請求項1~4のいずれかに記載の作業部動作制御装置。前記検出部は、前記障害物の3次元位置を検出し、前記制御部が、前記障害物の3次元位置に基づいて、前記作業部と前記障害物との接触を回避するように、前記作業部の動作を制御することを特徴とする、請求項1~5のいずれかに記載の作業部動作制御装置。前記検出部が、前記作業部に取り付けられることを特徴とする、請求項1~6のいずれかに記載の作業部動作制御装置。前記作業対象物の少なくとも3次元位置を測定する測定部をさらに備え、前記制御部が、前記作業部の3次元位置と、前記測定部において測定した前記作業対象物の3次元位置とを通る進路を決定し、前記作業部を当該進路中において移動させることを特徴とする、請求項1~7のいずれかに記載の作業部動作制御装置。前記測定部が、前記作業部に取り付けられることを特徴とする、請求項8に記載の作業部動作制御装置。前記測定部は、前記作業部が前記作業対象物の3次元位置近傍に到達した場合、さらに前記作業対象物の3次元位置および姿勢を測定し、前記制御部が、前記作業対象物の3次元位置および姿勢に基づいて、前記作業部に前記作業対象物に対して作業させることを特徴とする、請求項9に記載の作業部動作制御装置。作業対象物に対して作業する作業部の動作を制御する、作業部動作制御装置において、a前記作業部の3次元位置から前記作業対象物の3次元位置に到達する進路を決定する工程と、b前記作業部を当該進路中において移動させる工程と、c前記進路中における障害物を検出する工程と、d前記工程cにおいて前記障害物が検出された場合、前記作業部と前記障害物との接触を回避するように、前記作業部の動作を制御する工程とを備えることを特徴とする、作業部動作制御方法。コンピュータにインストールされて実行されることにより、前記作業部を前記コンピュータによって制御する装置を、請求項1~10のいずれかに記載の作業部動作制御装置として機能させることを特徴とする、作業部動作制御プログラム。上記のような装置においては、アーム部を作業対象物に向かって移動させる前に、作業対象物の画像認識を一度行うと、作業対象物の3次元位置まで移動し、その作業対象物をピッキング等するまで、その情報すなわち作業対象物の3次元位置の情報に基づいてアーム部の動作を制御することになる。よって、この移動の間に、アーム部と作業対象物とを通る進路中に障害物が生じた場合であっても、アーム部の動作は修正されず、障害物とアーム部とが接触してしまい作業が妨害されてしまうおそれがあった。本発明は、上記のような問題を解決するためになされたものであり、作業部が作業対象物近傍に到達するまでの進路中に障害物が存在する場合にも、適切に対処し作業可能な作業部動作制御装置および、その方法、プログラムの提供を目的とする。請求項1の発明である作業部動作制御装置は、作業対象物に対して作業する作業部と、前記作業部の動作を制御する制御部とを備え、前記制御部は、前記作業部の3次元位置と前記作業対象物の3次元位置とを通る進路を決定し、前記作業部を当該進路中において移動させ、前記進路中における障害物を検出する検出部をさらに備え、前記作業部の移動中に前記障害物が検出された場合、前記制御部が、前記作業部と前記障害物との接触を回避するように、前記作業部の動作を制御することを特徴とする。請求項2の発明は、請求項1に記載の作業部動作制御装置であって、前記作業部の移動中に前記障害物が検出された場合、前記制御部が、前記作業部の移動を停止させることを特徴とする。請求項3の発明は、請求項1または2に記載の作業部動作制御装置であって、前記作業部の移動中に前記障害物が検出された場合、前記制御部が、前記作業部を前記進路とは直交する方向に移動させることを特徴とする。請求項4の発明は、請求項3に記載の作業部動作制御装置であって、前記制御部が、前記進路とは直交する方向に移動した前記作業部の3次元位置と、前記作業対象物の3次元位置とを通る修正進路を決定し、前記作業部を当該修正進路中において移動させることを特徴とする。請求項5の発明は、請求項1~4のいずれかに記載の作業部動作制御装置であって、前記作業部の移動中に前記障害物が検出された場合、前記制御部が、前記作業部の前記作業対象物に対する進入角度を変更させることを特徴とする。請求項6の発明は、請求項1~5のいずれかに記載の作業部動作制御装置であって、前記検出部は、前記障害物の3次元位置を検出し、前記制御部が、前記障害物の3次元位置に基づいて、前記作業部と前記障害物との接触を回避するように、前記作業部の動作を制御することを特徴とする。請求項7の発明は、請求項1~6のいずれかに記載の作業部動作制御装置であって、前記検出部が、前記作業部に取り付けられることを特徴とする。請求項8の発明は、請求項1~7のいずれかに記載の作業部動作制御装置であって、前記作業対象物の少なくとも3次元位置を測定する測定部をさらに備え、前記制御部が、前記作業部の3次元位置と、前記測定部において測定した前記作業対象物の3次元位置とを通る進路を決定し、前記作業部を当該進路中において移動させることを特徴とする。請求項9の発明は、請求項8に記載の作業部動作制御装置であって、前記測定部が、前記作業部に取り付けられることを特徴とする。請求項10の発明は、請求項9に記載の作業部動作制御装置であって、前記測定部は、前記作業部が前記作業対象物の3次元位置近傍に到達した場合、さらに前記作業対象物の3次元位置および姿勢を測定し、前記制御部が、前記作業対象物の3次元位置および姿勢に基づいて、前記作業部に前記作業対象物に対して作業させることを特徴とする。また、請求項11の発明は、作業部動作制御方法であって、作業対象物に対して作業する作業部の動作を制御する、作業部動作制御装置において、a前記作業部の3次元位置と前記作業対象物の3次元位置とを通る進路を決定する工程と、b前記作業部を当該進路中において移動させる工程と、c前記進路中における障害物を検出する工程と、d前記工程cにおいて前記障害物が検出された場合、前記作業部と前記障害物との接触を回避するように、前記作業部の動作を制御する工程とを備えることを特徴とする。また、請求項12の発明は、作業部動作制御プログラムであって、コンピュータにインストールされて実行されることにより、前記作業部を前記コンピュータによって制御する装置を、請求項1~10のいずれかに記載の作業部動作制御装置として機能させることを特徴とする。請求項1~10の発明によれば、作業対象物に対して作業する作業部と、作業部の動作を制御する制御部とを備え、制御部は、作業部を進路中において移動させ、進路中における障害物を検出する検出部をさらに備え、制御部が、作業部と障害物との接触を回避するように、作業部の動作を制御することにより、作業部が移動を開始したあとに障害物を検出した場合であっても、作業部と障害物との接触を回避し、作業対象物に接近することができる。特に請求項2~5の発明によれば、作業部の移動を停止する、または障害物を迂回する、または作業対象物への進入角度の変更させることにより、作業部と障害物との接触を回避することができる。<A.第1実施形態><A-1.構成>図1は、本実施形態にかかる作業部動作制御装置の構成を概念的に示すものである。図1に示すように作業部動作制御装置は、作業対象物100に対しピッキング等の作業を行う作業部1例えばロボットのアーム部等と、作業部1と作業対象物100とを通る進路中において、障害物を検出する検出部3と、作業部1の動作を制御する制御部2とを備える。また、作業対象物100の少なくとも3次元位置、望ましくは3次元位置および姿勢を測定可能な測定部4を備えることができるが、測定部4は、作業部動作制御装置に備えられていてもよいし、作業部動作制御装置の外部に備えられ、作業対象物100の3次元位置および姿勢を測定した結果を、制御部2に与えるものであってもよい。検出部3および測定部4は、撮像装置とすることができる。撮像装置である場合、例えばステレオカメラ等であれば、作業対象物100の3次元位置および姿勢を、ステレオ画像認識により求めることができる。さらに、3次元位置があらかじめ設定された点群である3次元モデルを用いて、作業対象物100の3次元位置および姿勢を求めることもできる。画像認識によるものに限られず、センサー等を用いたものであってもよい。検出部3および測定部4は備えられる位置が特に限定されることはないが、そのうちの少なくとも一方が作業部1に取り付けられていてもよい。具体的には、作業部1がロボットのアーム部である場合、アーム部の先端部分図2参照に取り付けられることで、より作業対象物100に近い視点から作業対象物100を捉えることができ、より精度の高い3次元位置および姿勢の認識が可能となる。また、作業対象物100までの進路を決定する際にも好ましく、当該進路中に障害物が生じているか否かの判断も容易となる。図2は、本実施形態にかかる作業部動作制御装置のハードウェア構造の例を示すものである。図2に示すように作業部動作制御装置は、作業対象物100部品等に対しピッキング等の作業を行う作業部1ロボットのアーム部1R、アーム部1Lに対応と、作業対象物100までの進路200中において、障害物101を検出する検出部3アーム部に備えられたカメラ102に対応と、作業部1の動作を制御する制御部2CPU103に対応とを備える。ここで、図2において作業対象物100は複数の部品の集合として示しているが、単一の部品を示す場合であってもよい。また、複数の部品の集合としての作業対象物100への進路を決定する場合には、例えば複数の部品の中心座標等を算出し、その3次元位置までの進路を決定することができる。図2においては、作業部動作制御装置として双腕のロボットを示しているが、単腕のロボットであってもよい。また、アーム部1Rと作業対象物100とを通る進路200は鉛直方向として示しているが、水平方向に形成された進路であってもよい。また、作業対象物100の3次元位置および姿勢を測定可能な測定部4を、アーム部1Rに備えられたカメラ102が兼ねることができる。<A-2.動作>次に、図3および図4を用いて、本実施形態にかかる作業部動作制御装置の動作を説明する。図3a~cは、作業対象物100に徐々に接近していくアーム部1Rの様子を示すものであり、図3aの状態から図3b、さらに図3cの状態へと推移する。まず、測定部4としてのカメラ102を用いて、作業対象物100のステレオ画像認識を行う。これにより、作業対象物100の少なくとも3次元位置を測定する例えば図3a参照。測定の際、カメラ102が静止している状態である方が、より精度の高い測定を実現できるが、適切に補正等を行うことで所定の精度の3次元位置の測定ができるのであれば、カメラ102、すなわちこの場合はアーム部1Rが移動中であっても、作業対象物100の3次元位置測定は可能である。この段階で作業対象物100の3次元姿勢まで精度よく測定することも可能であるが、ピッキング等の精密な作業のための3次元位置および姿勢認識は、作業対象物100の3次元位置近傍までアーム部1Rを移動させてから行う方が、より高い精度で測定でき望ましいので、必ずしも現段階でそのような精度の高い測定をする必要はない。作業対象物100の3次元位置が測定できたら、現段階でのアーム部1Rの3次元位置と作業対象物100の3次元位置とを通る進路200を決定する図4のステップS1。アーム部1Rおよび作業対象物100の3次元位置は、例えばそれぞれの中心座標または重心位置とすることができる。また、決定する進路200は、アーム部1Rと作業対象物100とを結ぶ直線であることが望ましいが、必ずしも直線である必要はなく、途中進行方向を変える曲線等であってもよい。次に、制御部2が、作業対象物100の3次元位置及び姿勢に到達する進路200に沿って、図3aから図3bに示すようにアーム部1Rを移動させる図4のステップS2。一方、作業対象物100の3次元位置及び姿勢に到達する進路200をアーム部1Rが移動している間に、検出部3としてのカメラ102を用いて、進路200中の障害物101の検出を行う図4のステップS3。図3bのように障害物101が検出できた場合はステップS4へ、検出できない場合はステップS5へそれぞれ進む。なお、アーム部1Rが移動している間とは、アーム部1Rが作業対象物100へ向かって進路200上の移動を開始してから、作業対象物100の3次元位置近傍に到達するまでの間を示すものであり、必ずしもアーム部1Rが現実に移動している間に限られるものではない。ここで、障害物101とは、進路200中をアーム部1Rが移動する際に接触し得る物例えば、ある時刻に、移動するアーム部1Rからの距離が所定の範囲内となる物等で、アーム部1Rが移動している間に進路200中に生じた物だけでなく、アーム部1Rが作業対象物100に対して移動を始める前から進路200中に存在していた物も含むものとする。具体的には、侵入してきた動物、作業していた人の手、倒れてきた部材等が想定できる。障害物101の検出については、カメラ102を用いて前述のような3次元位置の測定を行うことが望ましいが、作業効率を高めるために画像認識のみで判断したり、所定時間前に撮像した進路上の画像との差異が一定以上となった場合に、障害物101が生じたものと判断したりしてもよい。また検出動作は常に行っていてもよいが、アーム部1Rが一定距離移動する毎に行ってもよいし、一定時間が経過する毎に行ってもよい。また、進路200中に複数の障害物101が検出できる場合には、全て検出してもよいし、例えばアーム部1Rから最も近い距離に位置する障害物101について検出してもよい。次にステップS4において、制御部2としてのCPU103は、障害物101との接触を避けるための動作制御を、アーム部1Rに対して行う。具体的には、アーム部1Rの移動を停止し、所定時間その場で待機させる。そして所定時間が経過した後、再びステップS3に戻り、障害物101の検出を行う。なお、アーム部1Rの移動を停止しなくとも、アーム部1Rの先端に位置する把持部を稼動させて、把持部の作業対象物100に対する進入角度を変更することで、結果的に障害物101との接触が回避できる場合には、CPU103でそのような動作制御をすることにより接触を回避してもよい。具体的には、把持部の、作業対象物100を把持できる進入角度範囲のうち、例えば現時点での把持部の進入角度からの変化が最も少ない角度へ変更することができる。進入角度を3次元極座標で定義する場合、例えば天頂角が等しいままで、偏角が異なる進入角度へ変更することができる。所定の回数ステップS3に戻って停止動作を繰り返しても、障害物101が検出され続けるような場合には、オペレーターコール等の警告を行って動作を終了し、障害物101の除去を促すことも可能である。また、移動方向を進路200とは直交する方向201に変更することで、障害物101との接触を回避することも可能である図5参照。すなわち、アーム部1Rの移動方向を進路200とは直交する方向201に変更し、所定距離移動したところで、再びステップS1に戻る。そして移動したアーム部1Rの3次元位置と作業対象物100の3次元位置とを通る進路修正進路202を決定する。進路修正進路202を決定したら進路修正進路202中の移動を開始する一方でステップS2、障害物101の検出を行うステップS3。この修正進路202上でも未だ障害物101が検出される場合には、さらに同様の動作ステップS4を繰り返し、新たな修正進路上で移動を開始すればよい。この場合、進路200とは直交する方向201にカメラ102を向ける等の動作により、その方向、すなわち進路200とは直交する方向201にも、障害物となるものが存在しないことを確認することが望ましい。なお、修正進路202を用いる当該動作を繰り返し行った場合でも、障害物101が検出され続ける場合には、オペレーターコール等の警告を行って動作を終了し、障害物101の除去を促すことも可能である。上記の動作においては、進路200と直交する方向201のみに移動することによって障害物101を迂回し、アーム部1Rと障害物101との接触を避けているが、迂回するために移動する方向は、進路200と直交する方向201の成分が含まれればよく、進行方向を適切に変更するものであればよい。また、進路200と直交する方向201は、進路200と直交する面に放射状に無数に存在するが、これらのうちの1つに限定されるものではない。ただし、ロボットのアーム部等を用いて当該動作を行う場合には、安全性の観点から、鉛直上方向や作業領域の外側に向かう方向等、望ましい移動方向が存在する。そのような場合に、移動可能な直交する方向201のうち、例えば鉛直上方向や作業領域外側方向を基準として、それらの方向に近い方向を選択するようにすることも可能である。次にステップS5においては、アーム部1Rを作業対象物100近傍に到達させる図3c参照。そして、ピッキング等の動作を行うために、再度、測定部4としてのカメラ102を用いて、作業対象物100の3次元位置および姿勢の測定を行う。ここで、ステップS1において、十分な精度で作業対象物100の3次元位置および姿勢が測定されている場合には、再度測定を行うことを省略することも可能である。作業対象物100の3次元位置および姿勢の測定は、アーム部1Rに備えられたカメラ102を用いて行うことが望ましく、さらに測定の精度を高めるため、アーム部1Rを静止させて行うことが望ましい。ただし、補正等により所定の精度を満たす測定ができるのであれば、静止しなくともよい。また、作業対象物100への進路200を決定する際ステップS1の際に用いたカメラとは異なるカメラで作業対象物100の3次元位置および姿勢を測定してもよい。すなわち、検出部3と測定部4とを、異なる手段で実現することも可能である。次にステップS6において、アーム部1Rが作業対象物100に対してピッキング等の作業を行えるようにピッキング情報を生成し、当該ピッキング情報に基づいてCPU103はアーム部1Rの動作を制御する。ピッキング情報には、作業対象物100の3次元位置および姿勢の情報、アーム部1Rの進入角度の情報等が含まれる。ここで、作業対象物100の3次元位置が、アーム部1Rの移動中に変化した場合における動作について以下の図6に示す。図3と同様の内容であるものについては、同一の符合を付して示している。図6はaの状態からbへ推移する様子を示すものである。図6aおよびbに示すように、作業対象物100の3次元位置が、アーム部1Rの移動中に変化した場合、すなわち作業対象物100が移動した場合にも、図4のフローチャートに示す動作で適宜対応し、作業対象物100に対し適切に作業することができる。すなわち、作業対象物100の移動量が比較的小さい場合、図4のステップS5において、作業対象物100の3次元位置ステップS1において既に測定した3次元位置近傍に到達してから作業対象物100の3次元位置および姿勢を認識する際に、当該小さな移動量を包含して再測定することができる。また、作業対象物100の移動量が比較的大きい場合にも、障害物101検出のため再度進路を決定する必要がある場合にはその際に、移動した後の作業対象物100の3次元位置を測定し、その3次元位置へ到達する進路を再度決定すればよい。なお上記の実施形態では、作業対象物100に接近中の障害物101を検出する場合についてのみ示しているが、同様の方法で作業対象物100からロボットのアーム部1R収納位置までの進路を決定し、当該進路中を移動中に障害物101が検出される場合についても応用することができる。<A-3.効果>本発明にかかる実施形態によれば、作業部動作制御装置において、作業対象物100に対して作業するアーム部1Rと、アーム部1Rの動作を制御する制御部2とを備え、制御部2は、アーム部1Rを進路200中において移動させ、進路200中における障害物101を検出する検出部3をさらに備え、制御部2が、アーム部1Rと障害物101との接触を回避するように、アーム部1Rの動作を制御することで、アーム部1Rが移動を開始したあとに障害物101を検出した場合であっても、アーム部1Rと障害物101との接触を回避し、作業対象物100に接近することができる。また、本発明にかかる実施形態によれば、作業部動作制御装置において、アーム部1Rの移動中に障害物101が検出された場合、制御部2が、アーム部1Rの移動を停止させることで、障害物101が排除されるまで待つことができ、アーム部1Rと障害物101との接触を回避することができる。また、本発明にかかる実施形態によれば、作業部動作制御装置において、アーム部1Rの移動中に障害物101が検出された場合、制御部2が、アーム部1Rを進路200とは直交する方向201に移動させることで、進路中に生じた障害物101を迂回し、作業対象物100に接近することができる。また、本発明にかかる実施形態によれば、作業部動作制御装置において、制御部2が、進路200とは直交する方向201に移動したアーム部1Rの3次元位置と、作業対象物100の3次元位置とを通る修正進路202を決定し、アーム部1Rを当該修正進路202中において移動させることで、進路中に障害物101が検出された場合であっても、他の進路から作業対象物100に接近することができる。また、本発明にかかる実施形態によれば、作業部動作制御装置において、アーム部1Rの移動中に障害物101が検出された場合、制御部2が、アーム部1Rの作業対象物100に対する進入角度を変更させることで、結果的に障害物101との接触を回避することができる場合がある。このように対応すれば、アーム部1Rの移動を停止しなくとも、アーム部1Rと障害物101との接触を回避することができる。