• 江戸を学び、江戸で遊ぼう


     前回の第1回目では、「RPAって何?」という初歩中の初歩に関して説明してきました。RPAとは「物理的なロボットではなく、パソコン上で動くロボット」だということはお解り頂けたと思います。今回は、RPAがどのようにパソコン上の画面を見て、どのように動かしているかを説明していきます。今回のテーマを理解すると、RPAが出来る事、出来ない事の区別がハッキリ付くようになります。従って、会社でも注目を集める機会が増えることは確実です。それでは、第2回目も頑張って行きましょう。

    ※なお、今回は、ちょっと長いな〜と思う方は、補足を読み飛ばして頂いて結構です。


    RPAはどうやって画面を認識しているの?


     前回からずっと、RPAは「パソコンの画面上で動くロボット」と説明していますが、RPAは、一体「どうやって画面を認識しているの?」でしょうか。
     人間だと自分の目で、パソコンの画面や操作するマウスやキーボードの動きを追っかけています。でもRPAは実体がないので、目がありません。しかし、RPAはその代わりとなるものを持っています。ここでは、代表的なものを3種類ほど挙げて説明していきます。


    1.座標指定方式
     この方式の場合、RPAは、画面の中の画像を認識している訳ではなく、座標により操作する場所を認識します。
     どのようなパソコンでも、画面を拡大してみると、小さな四角の集まりで出来ていることがわかります。その一つ一つの四角をピクセルと言います。例えば、横が1024個、縦が728個のピクセルで構成された画面があったとします。その場合、中央辺りは、左上を起点として、右に512ピクセル、下に364ピクセルの座標位置ということになります。このような方法で、操作する場所を認識する方式を「座標指定方式」と言います。



    ※補足
     この方式は、簡単で上手くいきそうですが、安定して認識させることは、意外と難しいので、一般的に、あまり推奨されていません。なぜなら、アプリケーションの画面の表示は、必ずいつも同じ位置にされる訳でないからです。むしろ、その都度、位置が変わることが多いように思えますよね。また、パソコンやディスプレイにより画面の大きさや細かさ(解像度)が変わります。従って、こっちのパソコンで上手く動いても、他のパソコンでは動かないなんてことが、よくあります。


    2.画像識別方式
     この方式は、画像を認識する方式です。ただ、人間だと、「赤の四角がある場所の少し下辺りです。」といった表現を使って位置を指定来ますが、RPAの場合は同じように認識させることは出来ません。あらかじめ、その画像を覚えさせておき、同じものを画面から探させるのです。「座標指定方式」と比較すると、表示位置が変わっても大丈夫なので、安定しそうですね。



    ※補足
     ところが、この方式もなかなか難しい面があります。パソコンのアプリケーションは、選択した場所の色を反転させたり、ボタンをクリックした時にヘコんだ画像にしたりと人間にとってわかりやすいよう工夫されているものが殆どです。この人間のための自然でわかりやすい表現が、RPAにとっては障害となります。なぜなら、選択後やクリック時に同じ画像でなくなるからです。また、「座標指定方式」と同じく解像度により、画像の大きさも変わってしまいます。そして、全く同じ形、色の物が複数ある場合、どうするのかという根本的な問題もあります。(この場合、画像と座標指定のハイブリッドで解決している場合もありますが、なかなか難しいです。)
     ただ、最近では、拡大率を追従したりとか、ある程度違いがあっても同一と見なすよう工夫されているRPAも登場し、精度は上がり始めています。


    3.オブジェクト識別方式
     3つの方式で、一番安定しているのが、この「オブジェクト識別方式」です。パソコンで動作するアプリケーションは、下地になるの画面、入力ボックス、選択ボックス、チェックボックス、実行ボタン、そしてメニューなどにより構成されています。実は、これらの部品はアプリケーションでコントロール出来るようこっそり名前が付いているのです(勿論、表側からは見えないようになっていますが…)。オブジェクト選択方式では、この名前を使って直接アプローチする方式です。


    RPA入門4


    ※補足

     このように明確に名指ししますので、一番安定しています。ただ、少し問題点もあります。それは、アプリケーションにより、明確な名前が付けられてなく、実行都度変わってしまうことがあります。このような場合は、名指しが難しくなります。また、あるRPAはWebブラウザのChromeが読めるが、別のRPAは読めないというようにRPAにより得意、不得意なアプリケーションがあります。その他、リモート接続の場合は、名前を取得できないというどのRPAでも共通する根本的な問題もあります。ただ、これらの問題を回避出来さえすれば、3つの方式の中でも、最も一番安定した方式です。


    RPAはどうやって画面を操作しているの?


     今度は見るだけではなく、RPAに操作させる際の方式に関して、理解を進めていきたいと思います。こちらは主に2つの方式があります。


    1.キー操作方式
     皆さんは、キーボードを使う場合、画面を見ていますか?それともキーボードと画面を行ったり来たりしながら、打ち込んでいますか?キーボードを見ずに入力することをタッチタイピングとかブラインドタッチとか言いますよね。
     このタッチタイピングのような操作をRPAにやらせることを「キー操作方式」といいます。前節の通り、RPAは、なんらかの方式で、入力ボックスや実行ボタンなどの場所を認識済みです。その特定された場所に対し、入力ボックスであれば、選択してコピー操作をしたり、実行ボタンであれば、Enterキーを押したり、マウスクリックしたりします。
     この方式は、コピぺなどのショートカットキーを使った操作なども含め人間がやっていることをそのままやらせるので、理解し易いため、RPAへの命令も組み易いというメリットがあります。ただ、1マス分入力エリアがズレていたなんて、人間がブラインドタッチした時に起こすようなミスをすることがあります。従って、精度という点では注意が必要です。


    2.オブジェクト直接操作方式
     原理は、「オブジェクト識別方式」と同じです。オブジェクトの名前を指定して、値を直接セットします。従って、まず間違えようがなく、精度はほぼ100%です。また、キーボード操作をエミュレートしていませんので、スピードもキー入力と比較し格段に向上します。なるべく、この方式で、RPAに実行させたいところです。ただ、問題点としては、「オブジェクト識別方式」と同じで、都度名前が変わるものへの対応が難しいこと、RPAにより不得手なアプリケーションがあることです。

    RPA入門3


    まとめ


     今回は、RPAの目、RPAの手に関して、解説してきました。目としては、「座標」「画像」「オブジェクト指定」で解決する3つの方式、手としては「キー操作」「オブジェクト操作」の2つの方式がありました。RPAではこれらを上手く組み合わせ、自動操作を実現して行きます。この「上手く組み合わせ」というところが結構難しく、エンジニアにとっては腕の見せ所となります。もし、上手く作ったエンジニアがいたら、「これは凄いね〜。苦労しただろう。」などと賞賛したり、上手く行かない場合も「RPAってクセがあって大変だよね。」などとフォローすれば、「オッ、コイツ、解ってるな。」と仲良くなるキッカケになるかも知れませんね。


     特集「RPA入門
     第1回:RPAって何?
     第2回:RPAの目、RPAの手
     第3回:あなたの会社に適したRPAは?


     


    コメントを残す

    メールアドレスが公開されることはありません。

    Translate »