Journal Search Engine
Search Advanced Search Adode Reader(link)
Download PDF Export Citaion korean bibliography PMC previewer
ISSN : 1229-3431(Print)
ISSN : 2287-3341(Online)
Journal of the Korean Society of Marine Environment and Safety Vol.28 No.2 pp.370-376
DOI : https://doi.org/10.7837/kosomes.2022.28.2.370

Study on the Shortest Path finding of Engine Room Patrol Robots Using the A* Algorithm

Seon-Deok Kim*
*PhD Student, Division of Marine Engineering, Mokpo National Maritime University, Mokpo 58628, Korea
ttlrilo@mmu.ac.kr, 061-240-7232
January 27, 2022 March 10, 2022 April 27, 2022

Abstract


Smart ships related studies are being conducted in various fields owing to the development of technology, and an engine room patrol robot that can patrol the unmanned engine room is one such study. A patrol robot moves around the engine room based on the information learned through artificial intelligence and checks the machine normality and occurrence of abnormalities such as water leakage, oil leakage, and fire. Study on engine room patrol robots is mainly conducted on machine detection using artificial intelligence, however study on movement and control is insufficient. This causes a problem in that even if a patrol robot detects an object, there is no way to move to the detected object. To secure maneuverability to quickly identify the presence of abnormality in the engine room, this study experimented with whether a patrol robot can determine the shortest path by applying the A* algorithm. Data were obtained by driving a small car equipped with LiDAR in the ship engine room and creating a map by mapping the obtained data with SLAM(Simultaneous Localization And Mapping). The starting point and arrival point of the patrol robot were set on the map, and the A* algorithm was applied to determine whether the shortest path from the starting point to the arrival point was found. Simulation confirmed that the shortest route was well searched while avoiding obstacles from the starting point to the arrival point on the map. Applying this to the engine room patrol robot is believed to help improve ship safety.



A* 알고리즘을 이용한 기관실 순찰로봇의 최단 경로 탐색에 관한 연구

김 선덕*
*목포해양대학교 기관시스템공학부 박사과정

초록


기술의 발전으로 스마트 선박과 관련된 다양한 연구가 진행되고 있으며, 기관실을 무인으로 순찰할 수 있는 기관실 순찰 로봇 도 이러한 연구 중의 하나이다. 순찰로봇은 인공지능을 통해 학습된 정보를 기반으로 기관실을 이동하며 기기 정상 유무 및 누수, 누유, 화재 등의 이상 유무를 파악한다. 기관실 순찰로봇에 관한 연구는 인공지능을 이용한 객체 검출에 관한 연구가 주로 진행되고 있으나, 순 찰로봇의 이동 및 제어에 관한 연구는 부족한 상황이다. 이는 순찰로봇이 객체를 검출하더라도 검출한 객체까지 이동할 방법이 없다는 문제를 야기한다. 이에 본 논문에서는 기관실 이상상황 발생 시 빠르게 이상 유무를 파악할 수 있는 기동성을 확보하기 위해, A* 알고리 즘을 적용하여 순찰로봇이 최단경로를 탐색할 수 있는지를 확인하였다. 라이다를 장착한 소형차를 이용하여 선박 기관실을 주행하며 데 이터를 얻어, SLAM으로 매핑하여 지도를 만들었다. 매핑한 지도에서 순찰로봇의 출발 지점과 목표 지점을 설정하고, A* 알고리즘을 적용 하여 출발 지점부터 목표 지점까지 최단 경로를 탐색하는지를 확인하였다. 시뮬레이션 결과 매핑된 지도에서 출발 지점부터 목표 지점까 지의 장애물을 회피하며 최단 경로를 잘 탐색함을 확인 할 수 있었으며, 기관실 순찰로봇에 적용하면 선박안전에 도움이 될 것으로 사료 된다.



    1. 서 론

    대한민국의 해양수산부는 해양수산 스마트화 전략을 수 립하여 해양수산 분야에 4차 산업혁명 기술인 빅데이터, 사 물인터넷, 인공지능 등을 집중적으로 도입하여, 해양수산 분 야의 성장을 도모하고 있다(Kim et al., 2021). 자율운항선박, 자율 접안, 기계 예비 정비 등의 스마트 선박과 관련된 다양 한 연구가 진행되고 있으며, 기관실을 무인으로 순찰할 수 있는 순찰로봇 또한 이러한 연구 중의 하나이다. 기관실 순 찰로봇은 딥러닝을 통해 학습된 정보를 기반으로 기관실을 이동하며 기기 정상 작동 유무 및 누수, 누유, 화재 등의 이 상 유무를 파악한다. 기관실 순찰로봇은 기관실 무인화를 위해 사용될 기술 중 하나이다(Park, 2021).

    기관실 순찰로봇에 관한 연구로는 전이학습을 이용하여 보일러 버너, 엔진, 히터 등의 기관실 기기 분류에 관한 연 구(Park, 2021), 딥러닝 모델을 이용한 기관실 보조 기기를 검 출하는 연구(Qi et al., 2021), 향상된 SSD를 기반으로 기관실 보조기기를 검출하는 연구(Qi et al., 2022) 등 머신러닝을 이 용하여 기관실의 기기들을 검출 하는 연구를 진행하였으며, 연구결과 높은 기관실 기기 검출율을 보여준다. 하지만 이 연구들은 순찰로봇의 시각적 정보를 이용한 객체검출(기관 실 기기들)에만 연구 중점이 맞춰져 있어서 순찰로봇을 검 출한 객체로 움직일 이동이나 제어에 관한 연구가 없는 한계 가 있다. 이는 순찰로봇이 기관실 객체검출 성능이 좋더라 도, 검출된 또는 검출할 객체까지 어떻게 이동할지에 대한 방법이 없다는 문제를 야기하였다. 순찰로봇의 이동은 로봇 의 효율성, 경제성, 기동성등과 연관되는 중요한 요소이다.

    지상의 순찰로봇 분야에서는 순찰로봇의 이동과 제어에 관한 다양한 연구가 진행되고 있다. 그 중에서도 순찰로봇 의 기동성 측면에서 출발 지점부터 목표 지점까지 장해물을 피해 최단거리를 찾아 이동하는 방법에 대한 연구가 활발히 진행되고 있다. 최단 이동경로 탐색을 위한 주요 알고리즘 으로는 Breadth-First Search(BFS) 알고리즘, 다익스트라 알고 리즘, A* 알고리즘(A Star Algorithm)등이 있다. BFS나 다익스 트라 알고리즘은 시작 노드 기준으로 모든 노드의 최단 경 로를 구하는 방법이기 때문에 연산량이 증가하고 탐색 속도 가 느린 한계가 있다. 이에 비하여 A* 알고리즘은 시작 노드 부터 목표 노드까지의 최단 경로만 구하기 때문에 연산량이 적고 탐색 속도가 빠르다. 그래서 A* 알고리즘은 다른 알고 리즘보다 최단경로 탐색 연구에 많이 이용되고 있다(Jeon et al., 2021;Seo et al., 2020;Cho and Lee, 2021).

    기관실 순찰로봇의 이동은 크게 두 가지로 나눌 수 있다. 첫 번째는 평상 시 순찰을 위한 일반적인 이동 방법, 두 번 째는 기관실 이상 감지 시 신속한 이동을 위한 방법이다. 신 속한 기관실 이상 감지는 이상상황에 빠른 초기 대응을 가 능하게 하며, 재산과 생명에 막대한 손실을 주는 대형사고 로 확대되는 것을 예방할 수 있어 선박의 안전을 위한 중요 한 요소가 된다. 이에 순찰로봇이 선박안전을 위해 이상 감 지 시 신속히 이동하여 이상 유무를 파악 할 수 있도록 순찰 로봇의 기동성에 중점을 두어 최단 이동경로 탐색에 관한 연구를 하였다.

    본 논문은 기관실 무인화를 위한 순찰로봇을 이용하여 선 박의 안전을 확보하기 위해 기관실 이상 유무를 빠르게 파 악할 수 있도록 순찰로봇이 현 위치에서부터 이상 발생 지 점까지 신속히 이동할 수 있는 최단 이동경로 탐색을 하고 자 한다. 먼저 기관실을 라이다를 이용하여 슬램으로 매핑하 였다. 매핑된 맵에 A* 알고리즘을 적용하여 기관실을 이동 하는 순찰로봇이 출발 지점부터 목표 지점까지 장애물이나 기기들을 피하여 최단 경로를 탐색하는지 평가하였다.

    2. 연구 방법

    연구에 사용된 연구 방법은 Fig. 1과 같다. 라이다를 장착 한 소형차로 기관실을 주행하며 얻은 데이터를 SLAM으로 매핑하였다. 매핑된 맵에 순찰로봇의 출발지점과 도착지점 을 선택하고 A* 알고리즘을 통하여 출발지점부터 도착지점 까지의 최단 경로를 계산한다.

    2.1 슬램

    슬램(Durrant-Whyte and Bailey, 2006;Bailey and Durrant-Whyte, 2006)은 기계가 미지의 환경을 탐색하면서 기계에 장착된 카 메라나 라이다와 같은 센서만으로 스스로 자신의 위치를 추 정하는 동시에 미지 환경의 지도를 작성하는 것을 말한다.

    슬램에서 가장 중요한 두 가지 요소는 위치 추정(Localization) 과 지도 작성(Mapping)이다. 지도 작성은 크게 카메라를 이 용한 방법과 라이다 또는 레이다를 이용한 방법으로 나누는 데, 본 논문은 라이다를 이용한 방식을 선택하였다. 라이다 는 카메라보다는 정밀하고, 레이다보다는 작은 물체를 파악 하기 쉬우며 정확한 거리를 파악할 수 있다. 지도 작성은 라 이다를 통해 얻은 포인트 클라우드 데이터의 특징점을 각 장면마다 매칭하고 서로 같은 최소 3개의 특징을 찾아 매칭 하고, 이를 좌표변환행렬로 계산하여 한 좌표계로 정합한다. 이 과정을 반복하여 지도를 작성한다.

    위치 추정은 동작하고자 하는 기계가 지도 중에서 어디에 있는지를 파악하는 것으로, 이를 위해 사용되는 센서는 엔 코더(Encoder)나 관성센서(Inertial Measurement Unit; IMU)가 있 다. 엔코더는 구동부인 바퀴의 회전량을 측정하여 기계가 움직인 거리를 계산하여 기계의 위치를 나타낸다. 엔코더만 사용하였을 경우에는 기계가 움직일 때 발생하는 슬립에 의 해 오차가 발생하는데 이를 보정하기 위하여 관성센서를 이 용하고 관성정보를 통하여 오차를 보상해준다.

    위치 추정은 센서를 통해 얻은 주변 환경의 정보를 기반 으로 위치 정보를 다시 한번 보정한다. 위치 추정 방법론으 로는 대표적으로 칼만필터(Kalman filter), 마르코프 위치추정 (Markov location), 파티클 필터(Particle Filter) 등이 있다(Pyo, 2015;Thrun et al., 2006).

    본 논문에서는 파티클 필터를 사용하였으며, 파티클 필터 의 알고리즘은 Fig. 2와 같다. 초기화는 전체의 맵에 많은 입 자(Particle)을 흩뿌리는데 이 입자들이 각각 하나의 기계가 된다. 각각의 입자들과 특정 좌표와의 거리를 측정한 뒤, 실 제 센서에서 측정된 거리와 비교하며 기계의 위치를 예측한 다. 흩뿌려진 입자들과 센서에 의해 측정된 거리 정보가 유 사할수록 높은 가중치를 주고 차이가 많이 날수록 낮은 가 중치로 보정해 준다. 재추출 단계에서는 새로운 입자를 생 성하는 단계로 가중치가 작은 입자를 없애고 가중치 높은 입자들 주위로 기존 입자를 위치 정보를 물려받은 입자를 생성한다. 이때 총 입자수는 초기화 단계에 흩뿌린 입자수 와 같다. 알고리즘에서 예측부터 재추출 단계를 반복 수행 하며 최종적으로 기계의 위치를 추정하게 된다.

    2.2 A* 알고리즘

    A* 알고리즘은 가장 최소의 비용으로 목표지점까지 도달 하는 경로를 탐색하는 알고리즘이다. A* 알고리즘의 핵심 방정식은 식(1)과 같다.

    F ( n ) = G ( n ) + H ( n )
    (1)

    시작 노드부터 현재 노드까지의 비용을 G(n), 현재 노드에 서 목표 노드까지의 예상 비용을 H(n)이라고 할 때, 두 값을 더한 F(n)이 최소가 되는 노드를 다음 탐색 노드로 선정한 다. 이 작업을 계속적으로 반복하여 최종 목표지점까지 최 단 경로를 탐색한다. 이 때 가장 작은 F(n)을 찾기 위해 우선 순위 큐를 사용한다.

    Fig. 3은 격자지도에서 시작 노드를 기준으로 G(n), H(n), F(n)을 계산하였다. 그림에서 각 격자의 사이즈는 10×10으로 직선은 한 칸당 10, 대각선은 약 14로 계산하였다. 화살표는 기계가 진행할 방향을 나타낸다. 그림에서 F(n)이 가장 작은 노란색 노드가 다음 탐색 노드로 선정된다.

    다음 탐색 노드가 선정되면 선택된 노드에서 다시 총거리 F(n)을 계산한다. 이때 만약에 앞서 계산된 노드와 중복되는 노드가 존재한다면 F(n)의 비용을 비교하여 현재 위치에서 계산한 비용이 더 적다면 노드의 F(n)과 방향을 갱신하고 그 렇지 않다면 이전 값과 방향을 그대로 사용한다. 그리고 다 시 F(n)이 최소가 되는 노드를 다음 탐색 노드로 선택하고 목표 노드에 도착할 때까지 반복 수행한다.

    Fig. 4은 목표 노드에 도착하기까지 F(n), G(n), H(n) 값과 방향을 나타내고 있다. 목표 노드에 도달하면 목표 노드로 부터 노드에 기록된 방향을 따라서 시작 노드까지 따라가면 이것이 최단 경로가 된다. Fig. 4에서 빨간색 화살표가 최단 경로를 나타내고 있다.

    3. 실 험

    3.1 실험 환경 및 장비

    A* 알고리즘에 사용할 지도는 A선박의 기관실 2nd deck 와 floor deck를 라이다로 매핑하였다. 모든 실험은 리눅스 환경에서 Robot Operating System(ROS)을 사용하여 SLAM 및 A* 알고리즘을 수행하였다. 실험 환경 및 장비는 Table 1과 같다.

    실험용 자동차의 컨트롤러는 Jetson TX2이며, BLDC 모터, 라이다 및 IMU 센서가 장착되어 있다. 자동차의 BLDC 모터 는 VESC를 이용해 전진, 후진 및 속도 제어를 하며, 좌 & 우 방향전환은 조향장치를 통해 가능하다. 자동차는 ROS의 joy_teleop 패키지를 이용하여 무선 조이스틱으로 동작이 되 며, 무선 조이스틱은 USB 타입의 나노 수신기를 통하여 Jetson TX2와 연결된다. 소형차의 사양은 Table 2와 같다. Fig 5(a)는 자동차의 정면 모습이며 (b)는 측면 모습니다. (a) 와 (b) 상부의 빨간 표시된 부분이 라이다이다.

    3.2 실험 데이터

    최단 경로 탐색을 위해서는 탐색할 지도가 필요하다. 지 도는 A선박 기관실을 소형차 모형에 부착한 라이다로 매핑 을 하여 획득했다. Fig. 6(a)는 기관실을 주행하는 라이다 가 부착된 소형차이며 (b) 기관실 주행 후 모니터를 연결하 여 매핑된 맵을 확인하는 이미지를 보여주고 있다. 소형차 를 무선 조이스틱으로 동작하여 기관실의 2nd deck과 Floor deck를 주행하며 라이다를 통하여 데이터를 획득하고, 얻어 진 데이터는 ROS에서 SLAM을 통해 매핑된다.

    Fig. 7는 매핑된 기관실의 모습을 나타낸다. 이미지에서 녹색선은 라이다를 장착한 자동차가 매핑을 위해 기관실에 서 움직인 경로를 나타낸다. (a)는 기관실 2nd deck의 도면이 며 (b)는 매핑된 기관실 2nd deck이다. 그림에서 검은 선은 벽 이나 장애물의 윤곽을 나타낸다. (b)에서 노란색 네모가 Main Egine(M/E)이며, 상부의 하늘색은 air tank를 나타낸다. 벽 부분 중에 회색 직선이 많이 뻗어 나간 보라색은 다른 구 획으로 이동할 수 있는 통로로서 막혀있지 않아 빛이 투과 됨을 확인할 수 있다. 그림 (c)는 기관실 Floor deck의 도면이 며 그림 (d)는 매핑된 기관실 Floor deck이다. (d)에서 노란색 은 M/E을 나타내며, 하늘색은 보일러를 드럼, 보라색은 다른 구획으로의 통로를 나타낸다. 도면과 매핑된 지도를 비교하 였을 때 유사함을 확인 할 수 있었다.

    3.3 실험 결과

    라이다와 SLAM을 통해 얻은 기관실의 맵에 순찰로봇의 출발 지점과 도착 지점을 선택하고, 맵에 있는 장애물을 피 해 출발 지점부터 도착 지점까지의 최단 경로 탐색 여부를 확인하였다.

    Fig. 8은 기관실 2nd deck에서 최단 경로를 찾는 이미지를 나타낸다. 그림에서 파란색 원은 출발 지점을 빨간색 원은 목표 지점을 나타낸다. 연한 회색선은 탐색한 최단 경로를 나타낸다. 시뮬레이션에서 출발 지점과 목표 지점을 지정하 고 로봇이 향하는 이동방향을 설정하면 초기에는 (a)와 같이 임의의 경로가 설정된다. 임의로 설정된 경로는 목적지까지 크게 돌아가는 모습을 보인다. A* 알고리즘을 적용하여 시 작지점으로부터 탐색을 시작하여 F(n)이 작은 노드를 다음 탐색 노드로 선택하는 방식으로 계속 연산하면 최종적으로 (b)와 같은 최단 경로가 선택된다. (b)의 경로와 (a)의 경로를 비교하였을 때 (b)가 벽이나 장애물에 붙어서 이동함을 확인 할 수 있다.

    Fig. 9은 기관실 2nd deck에서 출발 지점과 목표 지점을 재 지정 하고 경로를 탐색한 그림들이다. (a)는 좌측에서 우측 으로 이동하는 모습을 나타내며, (b)는 Fig. 8과 출발 지점과 목표 지점은 비슷하나 로봇이 향하는 이동방향을 반대로 설 정한 경우이다. 로봇의 이동방향에 따라 경로가 전혀 다르 게 선택됨을 확인 할 수 있다.

    Fig. 10은 기관실 Floor deck 맵을 이용한 실험 이미지이다. 순찰로봇의 출발 지점과 목표 지점을 다양하게 설정하고 최 단 경로를 탐색하는지 확인하였다. (a)는 좌상단에서 우하단 으로 M/E과 펌프들을 피해서 이동하는 모습이며, (b)는 우중 간에서 좌상단으로 기계들과 M/E을 피해서 이동하는 모습 니다. (c)와 (d)도 각각의 출발 지점부터 목표 지점까지 장애 물을 회피하며 이동함을 확인 할 수 있다.

    모든 실험에서 출발 지점에서 목표 지점까지 장애물을 피 해서 최단 경로를 탐색함을 확인 할 수 있다.

    4. 결 론

    기관실 순찰로봇은 기관실을 이동하며 기관실의 기기이 상, 이상상황 발생 등을 파악하기 위한 장치이다. 기존의 순 찰로봇에 관한 연구는 시각적 이미지를 이용하여 기관실 객체를 검출 및 분류하는 연구에 국한되었다. 이는 기관실 순찰로봇이 기관실 객체검출 성능이 좋더라도, 순찰로봇이 검출된 또는 검출할 객체까지 어떻게 이동할지에 대한 방 법이 없다는 문제를 야기하였다. 순찰 로봇의 이동은 로봇 의 효율성, 경제성, 기동성의 측면에서 매우 중요한 요소이 다. 그래서 본 논문에서는 이를 개선하기 순찰로봇의 이동 에 관한 연구를 진행하였는데, 순찰로봇이 기관실의 이상상 황을 빠르게 파악할 수 있도록 기동성에 중점을 두고 연구 를 진행하였다. 실험은 SLAM을 이용하여 기관실을 매핑하 여 지도를 작성하고, 지도에 출발 지점과 목표 지점을 설정 하여 A* 알고리즘을 통해 최단 이동경로를 탐색할 수 있는 지를 확인하였다. 실험결과 A* 알고리즘을 적용하면 기관 실 순찰로봇이 기관실에 있는 벽이나 장애물들을 회피하여 출발 지점부터 목표 지점까지의 최단 이동경로의 탐색이 가능함을 확인하였다. 이 결과는 순찰로봇이 기관실에 이상 상황 발생 시 이상 지점까지 최단 이동경로를 탐색하여 빠 르게 이동하여 이상 유무를 파악할 수 있으며, 초기 대응을 가능하게 하여 대형사고로 이어지는 것을 예방할 수 있을 것이다.

    논문에서는 매핑된 지도를 이용하여 최단 경로를 탐색하 였기에 실제 순찰로봇에 적용하였을 경우 새로 생성된 장애 물 등을 고려하여 경로를 변경하기 힘들다. 이를 위해 시각 적으로 바로 확인하고 회피 할 수 있도록 카메라를 이용한 장애물 회피 알고리즘이 연구가 필요하다. 또한, 순찰로봇에 적용하기 위해 탐색된 최단경로에 따라 순찰로봇이 움직일 수 있는 순찰로봇 구동부 제어 알고리즘에 관한 연구도 추 가로 진행할 예정이다.

    Figure

    KOSOMES-28-2-370_F1.gif

    Methodology of Study.

    KOSOMES-28-2-370_F2.gif

    Algorithm of Particle Filter.

    KOSOMES-28-2-370_F3.gif

    A* Algorithm Path Finding Method Ⅰ.

    KOSOMES-28-2-370_F4.gif

    A* Algorithm Path Finding Method Ⅱ.

    KOSOMES-28-2-370_F5.gif

    Car Image.

    KOSOMES-28-2-370_F6.gif

    Mapping Method.

    KOSOMES-28-2-370_F7.gif

    Engine Room Map.

    KOSOMES-28-2-370_F8.gif

    2nd Deck Path Finding Ⅰ.

    KOSOMES-28-2-370_F9.gif

    2nd Deck Path Finding Ⅱ.

    KOSOMES-28-2-370_F10.gif

    Floor Deck Path Finding.

    Table

    Implementation Environment & Equipment

    Car Specification

    Reference

    1. Bailey, T. and H. Durrant-Whyte (2006), Simultaneous localization and mapping (SLAM): part II. IEEE Robotics & Automation Magazine, 13(3), pp. 108-117.
    2. Cho, M. W. and B. W. Lee (2021), Comparison of A* algorithm and reinforcement learning for finding optimal paths with dynamic change of an obstacle position in a GridWorld environment, The Institute of Electronics and Information Engineers, pp. 1592-1594.
    3. Durrant-Whyte, H. and T. Bailey (2006), Simultaneous localization and mapping: part I, IEEE Robotics & Automation Magazine, 13(2), pp. 99-110.
    4. Jeon, S. W. , D. W. Shin, S. H. Yu, J. Y. Lee, and H. K. Jung (2021), Guide to evacuation based on A* algorithm for the shortest route search in case of fire system, The Korea Institute of Information and Communication Engineering, pp. 260-262.
    5. Kim, S. H. , J. M. Sim, Y. S. Park, and D. H. Jung (2021), LiDAR-Based Smart Logistics Robot, Proceedings of Symposiuym of the Korean Institute of communications and Information Sciences, pp. 995-996.
    6. Park, K. M. (2021), Machine Classification in Ship Engine Rooms Using Transfer Learning, The Korean Society of Machine Environment & Safety, Vol. 27(2), pp. 363-368.
    7. Pyo, Y. S. (2015), ROS Robot Programming, Ruby Paper, ISBN: 979-11-951492-7-8, pp. 311-316.
    8. Qi, J. , J. Zhang, and Q. Meng (2021), Auxiliary Equipment Detection in Marine Engine Rooms Based on Deep Learing Model. Journal of Marine Science and Engineering.
    9. Qi, J. , J. Zhang, Q. Meng, J. Ju, and H. Jiang (2022), Detection of Auxiliary Equipment in Engine Room Based on Improved SSD, Journal of Physics: Conference Series, Volume 2173, 3rd International Conference on Modeling, Simulation, Optimization and Algorithm (ICMSOA 2021).
    10. Seo, C. H. , Y. J. Noh, and Misganaw Abebe Baye (2020), Ship Collision Avoidance with Improved A* Algorithm, pp. 1262-1263.
    11. Thrun, S. , W. Burgard, and D. Fox (2006), Probabilistic Robotics, Acorn, ISBN: 979-11-6175-407-9, pp. 140-160.