Development of a drive control system of a hull cleaning robot reflecting operator’s convenience
Fuel consumption in a vessel can be reduced by a hull cleaning which has been performed by the industrial robot. It is most important to attach safely and travel on the hull surface for a hull cleaning robot. In this study, therefore, we have developed a drive control system of the hull cleaning robot that enables a stable drive. In addition, operator’s conveniences were reflected on the drive control system for comfort robot operation. Through a drive control experiments conducted at a hull test-bed, we demonstrated the drive control performance and conveniences of the developed drive control system.
초록
선체 청소를 통해 선박에서 소비되는 연료량을 감소시킬 수 있으며 최근에는 이러한 작업을 산업용 로봇을 사용하여 수행한다. 선체를 청소하는 로봇에 있어서 안정적으로 선체에 부착되어 주행하는 것이 가장 중요하므로 본 연구에서는 안정적으로 선체 청소로봇을 구동할 수 있는 주행 제어시스템을 개발하였다. 이와 더불어 보다 편리하게 로봇을 운용할 수 있도록 주행 제어시스템에 작업자의 편의를 반영하여 주행 제어시스템을 구성하였다. 개발된 주행 제어시스템의 주행 제어성능과 편의성은 선체와 동일하게 제작된 구조물에서 실험을 통해 입증하였다.
Keywords:
Hull Cleaning Robot, Operator Convenience, Drive Control, Skid Steering, 선체 청소로봇, 작업자 편의, 주행 제어, 미끄럼 조향1. 서 론
전 세계적으로 유가상승으로 인한 영향으로 선박의 운영비용이 점차 증가하고 있다. 이로 인해 다양한 측면에서 선박의 운용 효율을 높여 항해 중에 소비되는 연료소비를 최소화하기위한 방법을 찾고 있으며, 일반적으로 프로펠러 세척 및 연마, 선체 코팅, 변속 운항, 선체 청소와 같은 방법이 연료비 절감을 위해 적극적으로 활용되고 있다. 특히, 선체 청소는 선박의 추진저항과 엔진의 연료소비에 직접적으로 영향을 미치기 때문에 많은 관심을 받고 있다[1][2].
선박에서 선체는 바다에 직접적으로 노출되어 있기 때문에 필연적으로 표면에 해양생물이 증식하여 자라게 된다. 이러한 생물부착(biofouling)은 선체의 추진저항을 증가시킬 뿐만 아니라 해양 생물들을 이동시켜 해양생태계를 파괴하는 원인이 되고 있다[2]. 비록 생물부착 방지를 위하여 다양한 방법들이 사용되고 있지만 근본적인 생물부착 문제를 해결하지는 못하며, 선박의 운용효율을 높이기 위해서는 지속적으로 선체 표면을 청소할 수밖에 없다. 가장 보편적으로 사용되고 있는 선체 청소방법은 작업자들이 직접 청소용 툴(tool)을 사용하여 건조도크(dry dock)에서 선체를 청소하는 방법이다. 하지만 이러한 방법은 작업자들이 분진과 같은 유해물질에 노출되어 있고, 고소작업(high place work)이 많이 때문에 작업 안전상에 많은 문제가 있다[2]. 따라서 이와 같은 문제점들을 해결하기 위하여 산업용 로봇을 도입하여 작업자의 업무를 대체하는 방법이 연구되고 있다.
산업용 로봇을 사용하여 선체를 청소하기 위해서는 로봇이 선박의 표면에 달라붙어 주행할 수 있어야 하는데 이를 위해서 진공흡착 방식, 자력 방식, 레일 가이드 방식, 생체모방 방식 등의 부착 방법들이 연구되어 왔다[3]-[8]. 특히, 선체와 같은 금속 표면에 부착하기 위해서 진공흡착 방식[3][5]과 자력 방식[6]-[8]이 주로 사용되어 왔다. 효과적인 선체 청소작업을 위해서는 주행 제어능력이 가장 중요하며, 이와 함께 로봇을 사용하는 작업자의 편의성 또한 반드시 고려되어야 한다. 따라서 본 연구에서는 선체 청소로봇을 구동하는데 있어서 안정적으로 주행이 가능하면서 작업자의 입장에서 보다 편리하게 로봇을 운용할 수 있도록 하는 주행 제어시스템을 개발하고자 한다.
2. 선체 청소로봇 시스템
2.1 선체 청소로봇 구조
본 연구에서 사용된 선체 청소로봇은 진공흡착 방식으로 Figure 1과 같이 중심부에 흡착 패드(adhesive pad)를 가지고 있다. 따라서 선체 청소로봇은 흡착 패드와 선체 표면사이에 진공압력을 생성하여 선체에 부착될 수 있다. 또한, 로봇은 좌측과 우측의 차륜(wheel)이 각각 체인에 의해 서로 연결된 구조로 되어 있으며, 두 대의 전동기(motor)로 구동된다. 이밖에도 선체 청소 툴(hull cleaning tool)은 흡착 패드 위에 설치되어 주행 제어와는 독립적으로 구동된다.
이러한 구조의 선체 청소로봇은 선체 표면 위를 일정한 속도로 주행하면서 선체 청소 툴을 사용하여 청소작업을 수행한다. 본 연구에서 사용된 선체 청소로봇은 상세한 사양은 Table 1과 같다.
2.2 전체 시스템 구성
선체 청소로봇 시스템은 Figure 2에 도식화된 것과 같이 선체에 부착되어 청소작업을 수행하는 선체 청소로봇, 진공을 발생시켜 로봇을 선체에 부착시키는 진공 지원 유닛(vacuum support unit), 선체 청소를 위한 블라스팅 지원 유닛(blasting support unit) 그리고 로봇의 주행을 제어하고 운용 상태를 감시하는 제어·감시 유닛(control & monitoring unit)로 구성되어 있다. 본 연구에서는 주행 제어시스템을 개발하는 것이 목적이므로 선체 청소로봇과 제어·감시 유닛만을 중점적으로 다룬다. 참고로 진공 지원 유닛은 릴리프 밸브(relief valve)에 의해 일정한 진공압력을 유지하도록 설정하였다.
3. 주행 제어시스템
3.1 주행 제어환경 분석
선체 청소로봇은 운용 시 진공생성을 위한 호스(hose), 선체 청소를 위한 블라스팅 호스, 전력공급을 위한 전력선, 데이터 전달을 위한 통신선 등이 연결되어 함께 주행하게 된다. 따라서 선체 청소로봇이 안정적으로 선체 표면을 청소하기 위해서는 로봇에 연결된 장치들로부터 작용하는 외력에 상관없이 일정한 속력으로 주행할 수 있어야 한다. 이러한 이유로 선체 청소로봇은 주행을 위해 일반적인 경우보다 더 큰 동력을 필요로 한다. 가장 큰 출력을 필요로 하는 수직면을 오르는 주행에서 전동기에 필요한 최소 토크(Tw)는 식 (1)로부터 계산할 수 있다.
여기서, Fg, Fl, Fr은 각각 로봇의 무게, 호스와 전력선 등과 같이 로봇에 연결된 장치의 무게, 청소작업에 사용되는 연마재(grit)와 잔여물의 무게를 의미하며, Rw와 Nm은 로봇 차륜의 반지름과 전동기 수를 나타낸다. 또한, Rg와 S는 감속기어의 감속비와 안전율을 의미한다. 이러한 최소 토크 계산을 통해 주행에 적합한 전동기를 산정한다. 추가적으로, 선체 청소로봇은 지상의 작업자가 제어하는 제어·감시 유닛으로부터 약 50m 정도의 거리에서도 운용되어야 하기 때문에 주행 제어시스템은 원거리 데이터 전송이 가능해야 하며, 산업현장에서 발생하는 잡음(noise)에 강해야 한다.
3.2 미끄럼 조향
선체 청소로봇은 좌·우측 차륜이 서로 연결된 구조이며 두 대의 전동기로 구동된다. 따라서 차륜의 회전속도 차이를 이용하여 이동방향을 전환하는 미끄럼 조향(skid steering)을 사용하여 주행한다. 미끄럼 조향을 사용하면 다양한 방향으로 주행할 수 있지만 선체 청소작업에는 단순한 주행만 필요하므로 Figure 3과 같이 3가지 주행방법만을 사용한다. 특히, Figure 3-(c)와 같은 주행방법은 선체 청소로봇이 곡률변화가 큰 선체 표면을 주행할 때 직선 주행과 방향 전환만으로는 원활히 주행할 수 없을 때 유용하게 사용된다.
미끄럼 조향을 사용하여 선체 청소로봇을 원하는 위치로 정확하게 이동시키기 위해서는 좌·우측 차륜의 회전속도에 따른 로봇의 위치변화를 알아야 한다. 선체 청소작업은 대부분 평면 또는 완만한 곡률의 선체 표면에서 운용되므로 이러한 위치변화는 평면 위를 주행할 때를 기준으로 산정할 수 있으며, 순간회전중심(ICR, Instantaneous Center of Rotation)을 사용하여 계산할 수 있다. 순간회전중심을 사용하여 선체 청소로봇의 위치를 계산하기 위한 기구학 모델은 Figure 4와 같다.
기구학 모델에서 차륜과 선체 표면사이에 vLFy, vRFy, vLBy, vRBy 방향으로의 미끄러짐이 없다면 식 (2)와 같은 관계가 성립하며, 이로부터 기구학 모델이 단순화 될 수 있다[9].
여기서, vL과 vR은 각각 로봇의 좌·우측 차륜의 이동속도를 의미하며, vF와 vB는 전·후방 차륜의 축 방향 이동속도를 의미한다. 이로부터 로봇의 초기위치 C(Cx, Cy)에 대한 이동위치 C′(C′x, C′y)은 식 (3)과 같이 계산할 수 있다. 여기서, θ와 θ′은 이동 전·후 로봇의 방향을 의미하고, δθ와 R은 순간회전중심에 대한 회전각과 회전반경을 의미한다. 이러한 회전각(δθ)과 회전반경(R)은 식 (4)와 식 (5)와 같이 차륜의 속도, 로봇의 너비(L), 주행시간(t)을 사용하여 계산할 수 있다.
3.3 주행 제어시스템 구성
선체 청소로봇의 주행 제어시스템은 Figure 5와 같이 선체 청소로봇에 설치되어 직접적으로 주행을 제어하는 로봇 주행 장치와 지상에 설치되어 사용자에 의해 제어명령을 생성하는 주행 제어 장치로 구성된다. 로봇 주행 장치와 주행 제어 장치는 전력선과 통신선으로 연결되어 있으며, 주행 제어 장치에서 생성한 명령을 로봇 주행 장치에서 실시간으로 수신하여 로봇의 주행을 제어한다.
3.3.1 로봇 주행 장치
로봇 주행 장치는 로봇에 설치되어 주행을 제어하는 장치로서 서보 모터, 서보 드라이브, 통신 변환장치로 구성된다. 정밀한 주행제어를 위하여 서보 모터와 서보 드라이브가 사용되었으며, 이들은 주행 제어환경 분석결과를 바탕으로 선정되었다. 적용된 서보모터와 드라이브의 사양은 Table 2와 같다. 서보 드라이브는 RS-232 통신에서 Modbus RTU 프로토콜을 사용하여 구동되어야 하지만 RS-232 통신은 원거리 통신에 적합하지 않으므로 CAN(Controller Area Network) 통신을 사용하여 지상의 제어·감시 유닛으로부터 제어명령을 전달받아 로봇에서 RS-232 통신으로 제어명령을 변환하여 주행 제어를 수행할 수 있도록 구현하였다. 이를 위해 CAN/RS-232 통신 변환장치가 개발되었으며, 개발된 통신 변환장치는 Figure 6과 같다.
3.3.2 주행 제어 장치
주행 제어 장치는 선체 청소로봇의 주행제어를 위해 컨트롤러(controller)에서 생성된 제어명령을 CAN 통신에 담아 로봇 주행 장치로 전송한다. 그러므로 주행 제어 장치는 컨트롤러, RS-485 통신모듈, CAN 통신모듈로 구성되어 있다. 특히, 컨트롤러는 Figure 7과 같이 작업자가 조이스틱(joystick)만을 사용하여 간편하게 로봇의 주행을 제어할 수 있도록 고안된 장치이다. 컨트롤러는 내부의 MCU(Micro Controller Unit)를 통해 작업자가 조작한 조이스틱의 방향과 크기를 인식하여 로봇의 주행방향과 속력을 결정하고, 이를 RS-485 통신 명령으로 변환하여 제어·감시 유닛으로 전달한다. PC를 기반의 제어·감시 유닛은 컨트롤러로부터 전달받은 제어명령을 CAN 통신으로 변환하고, CAN 통신모듈(NI USB-8473)을 사용하여 로봇에 설치된 로봇 주행 장치에 제어명령을 전송한다.
4. 상태 감시시스템
4.1 필요성
선체 청소로봇의 안정적인 운용을 위하여 작업자는 로봇에 작용하는 진공압력을 인식하면서 주행제어를 수행해야 한다. 흡착 패드 내부에 형성되는 진공압력은 로봇이 주행하는 선체의 곡률, 선체 표면의 요철 등에 의해 변화하기 때문에 실시간으로 이를 확인할 필요가 있다. 만약, 진공압력에 대한 인식 없이 무리하게 로봇을 운용하면 진공압력이 급격히 저하되어 로봇이 선체에서 떨어질 수 있다. 이와 더불어 로봇이 지상의 작업자로부터 멀리 떨어진 곳에서 청소작업을 수행하거나 고소지역에서 운용되는 경우에는 지상의 작업자가 선체 표면 상태를 확인할 수 없다. 따라서 작업자의 편의를 위해 로봇에 카메라를 설치하여 로봇 주위의 선체 표면 상태를 지상에서 실시간으로 확인하면서 로봇을 운용할 필요가 있다.
5. 주행 제어실험
5.1 주행 제어성능
선체 청소로봇의 프로토타입(prototype)은 로봇 프레임 위에 주행 장치를 박스 형태로 추가하여 제작되었다. 주행제어 시스템의 주행 기능을 확인하고 문제점을 보완하기 위하여 우선 Figure 10과 같이 선체와 동일한 재질로 구성된 소형 구조물에 로봇을 부착하여 주행 제어기능을 실험하였다.
소형 구조물에서의 반복실험을 통해 주행제어에 대한 신뢰성을 확보한 이후에 Figure 11과 같이 선체와 동일한 형태로 제작된 구조물에서 주행 제어성능을 실험하였다. 주행 제어정확도를 알아보기 위하여 구조물 벽면에서 5m 거리를 주행하도록 제어명령을 준 이후에 실제 주행한 거리를 측정하였다. 실험결과는 Figure 12와 같으며, 선체의 수직면을 오르는 주행 시 중력의 영향으로 선체와 차륜 사이에 미끄러짐이 많이 발생하여 위치정확도가 낮게 나타났다. 반면에 수평으로 주행할 때는 차륜의 미끄러짐이 감소하여 상대적으로 정확한 주행제어가 가능하였다. 이와 더불어, 반복실험을 통해 로봇의 제자리 방향 전환에 대한 제어 정확도를 실험하였으며, 그 결과 Figure 13과 같이 비교적 정확하게 방향전환이 가능함을 알 수 있었다.
5.2 작업자 편의성
주행 제어실험에서 선체 청소로봇을 운용하는 작업자는 Figure 14와 같은 제어·감시 유닛의 화면을 통해 진공압력과 로봇 전·후방의 영상을 실시간으로 확인하면서 주행제어를 수행할 수 있었으며, 그 결과 로봇 운용 중에 무리한 주행제어로 인한 진공압력 저하를 사전에 방지할 수 있었다. 특히, 선체 청소로봇이 용접선이나 곡면을 주행할 때 Figure 15와 같이 로봇에 작용하는 진공압력이 감소한다는 것을 직관적으로 파악 할 수 있었으며, 이로 인해 안전하게 로봇을 제어할 수 있었다. 또한, 제어·감시 유닛의 카메라 영상을 통해 로봇이 고소지역에서 운용될 때 작업자가 고개를 들지 않고 영상을 보며 로봇의 주행 제어를 할 수 있어 작업 피로를 감소시킬 수 있었다.
6. 결 론
본 연구에서는 진공흡착 방식의 선체 청소로봇의 주행을 안정적으로 제어할 수 있는 동시에 작업자가 편리하게 로봇을 운용할 수 있도록 도와주는 주행 제어시스템을 개발하였다. 안정적인 주행제어를 위하여 선체 청소로봇의 주행환경 분석결과를 반영하여 제어시스템을 구성하였으며, 보다 편리하게 주행제어를 수행할 수 있도록 상태 감시시스템을 개발하여 적용하였다. 개발된 주행 제어시스템은 선체 구조물에서 테스트 되었고 이를 통해 주행 제어시스템의 주행 제어정확도를 검증하였다. 실험결과로부터 중력에 의해 수직방향 주행 시 차륜의 미끄러짐에 의해 주행 제어성능이 저하된다는 것을 알 수 있었으며, 이를 보완하기 위해서는 미끄러짐에 영향을 받지 않고 이동변위를 측정할 수 있는 센서모듈을 적용하여 엔코더에 의존하는 제어체계를 보완해야 한다. 이와 더불어, 로봇의 압력변화와 전·후방 영상을 실시간으로 확인하면서 로봇을 운용한 결과 사용자의 입장에서 보다 편리하게 주행 제어를 수행할 수 있었다. 이러한 연구결과를 바탕으로 개발된 주행 제어시스템을 선체 청소뿐만 아니라 플랜트 구조물, 대형 탱크 등의 청소작업에도 적용 할 예정이며, 추가적인 연구를 통해 위치추정 기능과 경로생성 기능을 적용하여 자동으로 청소작업을 수행할 수 있는 시스템으로 개발 할 계획이다.
Acknowledgments
본 논문은 중소기업청의 중소기업 기술혁신개발사업 미래선도과제(SA113528)의 지원과 국토해양부의 해양에너지 전문인력 양성사업의 지원을 받아 수행되었으며, 이에 감사드립니다.
References
- M. Narewski, “HISMAR-underwater hull inspection and cleaning system as a tool for ship propulsion system performance increase”, Journal of Polish CIMAC, 4(2), p227-234, (2009).
- N. Tunawattana, R. Norman, and A. P. Roskilly, “Design of an underwater positioning sensor for crawling ship hull maintenance robots”, Proceedings-Institution of Mechanical Engineers Part M Journal of Engineering For the Maritime Environment, 224(2), p115-126, (2010). [https://doi.org/10.1243/14750902JEME180]
- X. Gao, and K. Kikuchi, “Study on a kind of wall cleaning robot”, Proceedings of the IEEE International Conference on Robotics and Biomimetics, p391-394, (2004).
- B. S. Chu, K. M. Jung, C. S. Han, and D. H. Hong, “A survey of climbing robots: locomotion and adhesion”, International Journal of Precision Engineering and Manufacturing, 11(4), p633-647, (2010). [https://doi.org/10.1007/s12541-010-0075-3]
- W. H. Ko, J. S. Park, Y. I. Sohn, W. B. Kim, S. H. Lee, and S. H. Kim, “Characteristics of the path tracking control of a wall-climbing robot based on multiple optical laser sensors and an inclinometer”, Proceedings of the Korean Society of Mechanical Engineers Conference, 2007(10), p107-112, (2007), (in Korean).
- J. H. Kim, W. J. Chung, H. G. Kim, S. H. Kim, and S. H. Kim, “Development of electromagnet wheel for vertical wall-climbing mobile robot”, Proceedings of Korean Society for Precision Engineering, 2005(10), p746-749, (2005), (in Korean).
- S. J. Go, J. S. Park, Y. S. Jang, and M. H. Choi, “Study on design of surveillance robot system for a ship”, Proceedings of the Korean Society of Mechanical Engineers Conference, 2008(5), p152-157, (2008).
- E. Y. Kim, D. H. Lee, and H. K. Kim, “Development of a hull-plate moving robot with permanent magnets”, Proceedings of the Korean Society of Mechanical Engineers Conference, 2008(11), p990-995, (2008).
- K. Koszlowski, and D. Pazderski, “Modeling and control of a 4-wheel skid steering mobile robot”, International journal of applied mathematics and computer science, 14(4), p477-496, (2004).