RaspberryPi4 HALCON・Baslerの導入テスト

2021/06/02 (水)


始めに

 RaspberryPi4(略ラズパイ)とHALCONを使用し、画像処理能力がどこまでできるのかテストを行ってみました。
今回は、導入部分と実行部分の2回に分けてやっていきます。
導入に関してですが、Linuxはやはり初期設定の部分がとても時間がかかってしましました。
これを忘れないためにも備忘録風で紹介します(URLで参照するものは逐次いれています)。

まず初めに、今回使用したラズパイとHALCONの構成は以下になります。

構成

- RaspberryPi4 B+ MEM :4GB
- OS :2021-03-04-raspios-buster-armhf.img(32bit版)
- SD :32GB
- HALCON:halcon-18.11.3.0-linux.tar(stadia版)
     参照:HALCONダウンロードサイト-LINX
- Pylon : pylon-5.1.0.12682-armhf.tar
     参照:Pylonダウンロードサイト-BASLER
- HALCONドングル codemeter_7.20.4407.502_i386.deb(下記にダウンロードサイトを記載します)
     参照:HALCONUSB認識ドライバ-Wibu-Systems
- HALCON参考ガイド - 「installation_guide.pdf」

1.HALCON・Baslerの導入

初めにOSの導入や起動までの手順は、以下のサイトを参考にしてください。
Raspberry Pi OS (Raspbian)のインストール – 公式Imager対応

ラズパイの初回起動時、初めにこのコマンドを打ち、

--------------------------------------------------------------------------------------------------------------
sudo apt-get -y update
sudo apt-get -y upgrade
--------------------------------------------------------------------------------------------------------------

ラズパイ全体のアップデートを行います。
 次に、HALCON実行で必要になるファイルをインストールしていきます。
(お勧めはWindowsで必要なものをダウンロードし、USBで転送する方法)
HALCON・USBドライバ・Pylonのlinux32bit版を任意の場所(今回は/home/pi/直下)に入れておきます。
(下図参照)


[ダウンロード先の図]

これでHALCONのインストール準備が完了しました。

HALCONのインストール

HALCONのインストールを行っていきます。
HALCONの解凍先の場所を作成し、そこに解凍させます。

--------------------------------------------------------------------------------------------------------------
sudo mkdir halcon-18.11
sudo tar xvfz halcon-18.11.3.0-linux.tar.gz -C /home/pi/halcon-18.11
cd halcon-18.11
sudo sh install-linux.sh
--------------------------------------------------------------------------------------------------------------

実行するとインストール画面が出るので、「Enter」「Space」で改行していき、
入力を求められる箇所で以下の赤文字様にします。

--------------------------------------------------------------------------------------------------------------
Type in "I agree" to accept the terms of the Software License Agreement
for HALCON.  You must accept this License Agreement to install HALCON.
Do you agree?  I agree
Which directory would you like to install HALCON in?

/opt/halcon
/opt/halcon does not exist.
Would you like it to be created (Y/n)? Y
Please choose the type of setup you prefer:
1) Compact  [no examples and only limited documentation]
2) Custom
3) Full
4) Runtime
Your choice [3] 3
Installing HALCON (full) into /opt/halcon
Copying HALCON runtime files...
Copying HALCON development files...
Copying HALCON example files...
The HALCON operator reference is available in three languages.
Which language should be used for the HALCON operator reference?
1) English (en_US)
2) German (de_DE)
3) Japanese (ja_JP)
Your choice [3]3
--------------------------------------------------------------------------------------------------------------



2.環境変数の設定

 一度初期選択時のファイルに戻り、[nano]を使用し、.bashrcに環境変数を書き込みます。

--------------------------------------------------------------------------------------------------------------
sudo nano .bashrc

----以降記入又はコピーしてください----

# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# HALCON
export HALCONARCH=armv7a-linux
export HALCONROOT=/opt/halcon
export HALCONEXAMPLES=/opt/halcon/examples
export HALCONIMAGES=/opt/halcon/images
export PATH=${PATH}:${HALCONROOT}/bin/${HALCONARCH}
export LD_LIBRARY_PATH=${HALCONROOT}/lib/${HALCONARCH}
--------------------------------------------------------------------------------------------------------------

「.bashrc」に書き込みが完了したら、

--------------------------------------------------------------------------------------------------------------
source .bashrc
--------------------------------------------------------------------------------------------------------------

のコードを打ち、環境設定を完了させます。
成功の場合エラーが出ないのでエラーの有無で合否を判断してください。

次に、ルールのコピーをおこないます。この作業をしないとHALCONUSBが認識しません。

--------------------------------------------------------------------------------------------------------------
sudo cp /opt/halcon/misc/linux/udev/rules.d/59-halcon-codemeter.rules /etc/udev/rules.d/
--------------------------------------------------------------------------------------------------------------

最後に、ライセンス情報(license.dat)を「/opt/halcon/licence」の中に入れておきます。
WebからHALCONドングルの認識ドライバを任意の場所(/home/pi/)に入れたのちに、

--------------------------------------------------------------------------------------------------------------
sudo apt install ./codemeter-lite_7.20.4407.502_armhf.deb
--------------------------------------------------------------------------------------------------------------

でインストールします。

例題の実行

 HALCONが入ったか確認するため、「opt/halcon/examples」に入っているarm-linuxをデスクトップにコピーし、実際に起動できるか確認を行います。

--------------------------------------------------------------------------------------------------------------
cd ~/Desktop/arm-linux
make
--------------------------------------------------------------------------------------------------------------
  makeが始まるとコンパイル作業が始まり、処理が開始されます。
その時に、下図のようなエラー文が出力されたら以下のコマンドを入力してください。



[Make失敗例]

こうなった場合は、

--------------------------------------------------------------------------------------------------------------
sudo apt -y install libx11-dev
--------------------------------------------------------------------------------------------------------------

libx11をインストール後もう一度makeを行いエラーが発生しないかやってみてください。
パッケージが足りない場合は、赤文字になった部分の#include以降の文字をコピーし、検索してみてください。
そして無事makeが完了したら、HALCONドングルを刺し、

--------------------------------------------------------------------------------------------------------------
./bin/armv7a-linux/datacode
--------------------------------------------------------------------------------------------------------------

このコマンドで無事にウィンドウが出現し、画面が動いていたらHALCONの導入は成功となります。

3.Pylonのインストール

 Pylonを以下のコマンドでインストール処理を行います。

--------------------------------------------------------------------------------------------------------------
sudo tar -C /opt -xzf pylonSDK-5.1.0.12682-armhf.tar.gz
./setup-usb.sh
--------------------------------------------------------------------------------------------------------------

インストールが終わったら、次に「.bashrc」の最終行にpylonの環境変数を設定します。

--------------------------------------------------------------------------------------------------------------
#Pylon
export PYLON_ROOT=/opt/pylon5
export PYLON_CAMEMU=2
export GENICAM_GENTL32_PATH=/opt/pylon5/lib/gentlproducer/gtl
export LD_LIBRARY_PATH=/opt/pylon5/lib:${LD_LIBRARY_PATH}
export PATH=${HALCONROOT}/bin/${HALCONARCH}:${PATH}
--------------------------------------------------------------------------------------------------------------
また、先ほど同様環境設定の更新を行い、pylonのファイル内にあるrulesをコピーします

--------------------------------------------------------------------------------------------------------------
source .bashrc
sudo cp 69-basler-cameras.rules  /etc/udev/rules.d/
--------------------------------------------------------------------------------------------------------------

USB3.0にBaslerのカメラを差し込み、

--------------------------------------------------------------------------------------------------------------
/opt/pylon5/bin/PylonViewerApp
--------------------------------------------------------------------------------------------------------------

を実行し、カメラが認識されていることを確認できたらBaslerの導入は成功となります。

次回はこのラズパイを使って実際にプログラムを動かしていこうと思います。

PAGE TOP