[59호]SLAM, Navigation을 활용한 방사능 측정 자율 로봇에 대한 연구
2019 ICT 융합 프로젝트 공모전 참가상
SLAM, Navigation을 활용한
방사능 측정 자율 로봇에 대한 연구
글 | 동서대학교 고성현, 김대성, 김윤정, 황혜랑
1. 심사평
칩센 방사능 측정을 로봇을 이용하여 진행한다는 최종 용도의 차이는 있지만, 주요한 내용은 최근에 많은 부분에 적용되고 있는 in-door navigation 관련 사항이 아닌가 합니다. 유사한 형태로 우리가 가장 쉽게 볼수 있는 것이 로봇 청소기가 아닐까 하고, navigation mapping 기술들도 구현의 방안이나, 방식은 다르더라도 최종 목표는 동일한 것으로 보입니다. 보고서와 결과물에 있어 navigation 기능에 대한 타 솔루션에 비해 개선되거나 장점이 좀 더 부각되었다면 좋을 것으로 보이고, 결과적으로도 가장 핵심 내용은 이 내용이 되어야 하지 않을까 합니다. 최종 결과물에 대하여 볼수 있는 자료가 부족하다는 것도 아쉬움으로 남습니다.
뉴티씨 동일본대지진 당시에 핵발전소에 문제가 생겨도 실제로 바로 투입할 수 있는 일본의 로봇이 없었다는 사실에 일본 국민들이 적잖게 당황했고, 로봇기술에 대한 자존심에도 많이 손상을 입었습니다. 이후 해외의 로봇들이 들어와서, 현장에 투입되었고, 이 이후로 이번 작품과 같은 시도들이 많이 이루어졌었고, 레스큐로봇콘테스트도 강화되었습니다. 앞으로 이러한 부분들에 대한 지원이 우리나라에서도 많이 이루어져서 그러한 연구가 활발히 진행되기를 바래봅니다.
위드로봇 SLAM 및 ROS에 대한 정리는 훌륭합니다. 그런데 직접 수행한 부분에 대한 설명은 상대적으로 너무 적어 전체 완성도를 파악하기가 어렵습니다.
펌테크 기존의 로봇기술에 내비게이션 Algorithm이 적용된 아이디어와 실용성이 우수한 작품이라고 판단되어지며 여러 형태의 지형지물에 적용이 가능해야 하는 특수 로봇인 점을 감안한다면 관절이 있는 형태로 구현되는 것이 더욱 효율적이지 않았을까 하는 점과 원격 컨트롤 등의 추가적인 기능이 부가되었다면 더욱더 완성도가 높지 않았을까 생각해 보았습니다. 단 제출된 보고서상에서는 전체 로봇의 외관 구성은 일부 확인하였으나 Algorithm 이 적용된 동작 영상을 확인할 수 없었으며 제출된 문서를 감안하여 볼 때 최종 완성은 되지 않은 것으로 판단됩니다.
2. 작품설명 및 배경
후쿠시마 원자력 발전소 사고, 국내 원자력 발전소 안전에 대한 우려 제기, 아파트 등 건축물의 세슘 방사능 방출에 대한 사회적 이슈가 제기되고 있다. 방사능에 대한 정밀한 측정이 요구되며 측정 방식(사람에게 무해한 측정방식)에 대한 기술적 접근이 필요한 상황이다. 이 같은 배경을 토대로 본 연구회는 SLAM, Navigation 기술을 활용한 방사능 측정 자율로봇에 대하여 연구하였다.
2.1. 방사능 측정에 대한 아이디어 구성
사람이 직접 이온화 방사능을 측정하기엔 인체에 방사능의 악영향을 미칠 수도 있고, 히로시마 원전폭격 때와 같이 방사능에 피폭당한 도심에는 사람의 발길이 닫기 힘들기에 로봇에 G.M 계수기를 설치해 사람이 직접 가서 측정하지 않아도 되는 장점이 있다.
G.M 계수기는 이온화 방사능을 측정하는 가장 대표적인 휴대용 방사선 측정기이고, 전원, 고전압 발생 장치, G.M Tube, 그리고 프로세서와 디스플레이로 구성된다.
G.M Counter은 사용함에 따라 G.M Tube 내부의 가스가 소멸하고, 방사선의 수만 알 수 있고 에너지에 관한 정보는 알 수 없다는 단점이 있지만, 사람이 직접 측정하였을 때 인체에 악영향을 미치면서까지 측정 하는 방법 보다 G.M 계수기를 설치하여 로봇이 측정하는 방법이 더 효율적이고 정밀도가 높다.
2.2. GM계수기의 구조
G.M계수기에는 G.M Tube 부품이 사용되는데, G.M Tube는 양극과 음극, 충전가스, 그리고 방전 소거 가스로 구성된다. 여기와 전리에 의한 2차 전자사태를 방지하기 위해 불활성 가스를 사용한다. G.M관에 사용되는 혼합가스에서 펄스를 출력시키기 위해서는 최소한의 E/P 비가 필요하고, E의 값을 작게 하기 위해 충전가스의 기압을 1이하로 유지해야 한다.
일반적인 G.M 계수관의 기압은 Ar 90torr, ethanol 10torr 이다. 방전 소거를 통해 G.M 계측관 내부의 지속적인 펄스를 제거하고, 후속 방사선 입자의 계측을 가능하게 한다.
G.M계수기와 설계된 방사능 측정 회로도를 제작하고 SLAM, Navigation을 접목한 로봇에 방사능 측정 장치를 부착시킨다. 이렇게 개발된 장비를 바탕으로 사람이 접근할 수 없는 방사능 피폭지역에 로봇을 통한 방사능 수치를 정밀 측정할 수 있도록 설계하였다.
3. 주요 동작 및 특징
3.1. 로봇에 적용할 ROS 운영체제
ROS를 사용 가능한 운영체제를 가졌으며, ROS는 로봇 시스템의 운영체제이며 ROS를 사용 가능한 운영체제(OS)로는 Ubuntu, OS X, 등이 있지만, 본 연구팀에서는 Ubuntu에 접목시켜 사용하였다. 다음으로 로봇 운영체제에서 사용된 ROS 특징을 살펴보자.
첫째, 통신 인프라가 가능하다. 노드 간 데이터 통신을 제공하며, 통상적 미들웨어로 지칭되는 메시지 전달 인터페이스 지원, 메시지 파싱 기능, 메시지의 기록 및 재생 가능, 메시지 사용으로 인한 다양한 프로그래밍 언어 사용 가능하고 분산 매개 변수 시스템이다.
둘째, 로봇에 대한 표준 메시지가 정의되고, 로봇, 센서 등의 상대적 좌표를 트리화 시키는 TF 제공뿐만 아니라 로봇의 물리적 특성을 설명하는 XML 문서 기술, 로봇의 상태를 한눈에 파악할 수 있는 진단 시스템을 제공 받을 수 있으며, 센서 드라이버, 센싱/인식 레벨의 라이브러리를 제공하고, 지도 작성에 필요한 SLAM, 작성된 지도 내에서 목적지를 찾아가는Navigation 라이브러리를 구현할 수 있다.
셋째, 로봇 개발에 필요한 다양한 개발 도구를 제공하며, 로봇 개발의 효율성을 향상시킬 수 있다. 소프트웨어 프레임워크를 사용하고 있으며, 로봇 소프트웨어 프레임워크 특징은 노드간에 메시지 교환 방법으로 복잡한 프로그램을 잘게 나눠 공동 개발이 가능하며, 명령어 도구, 시각화 도구 Rviz, GUI 도구 모음 rpt, 3차원 시뮬레이터 Gazebo 지원이 가능하다.
여기서 사용하는 ROS의 목적은 로보틱스 소프트웨어 개발을 전 세계 레벨에서 공동 작업 가능하도록 생태계를 구축하는 것이며, 곧 메타운영체제이다. (메타운영체제는 어플리케이션과 분산 컴퓨팅 자원간의 가상화 레이어로 분산 컴퓨팅 자원을 활용하여, 스케줄링 및 로드, 감시, 에러 처리 등을 실행하는 시스템)
로봇 소프트웨어 프레임워크를 기반으로 다양한 목적의 응용 프로그램을 개발, 관리, 제공하고 있으며 유저들이 개발한 패키지 또한 유통하는 생태계를 갖추고 있다.
3.2. 로봇에 적용할 SLAM 기술
본 연구는 지도 작성에 필요한 슬램(SLAM)기술을 적용하였고, 여기서 SLAM(Simultaneous Localization and Mapping)은 ‘슬램’ (동시적 위치 추정 및 지도 작성)이라고 읽는다. 즉, 로봇이 미지의 환경을 탐색하면서 로봇에 장착된 센서만으로 로봇 스스로 자신의 위치를 추정하는 동시에 미지 환경의 지도를 작성하는 것을 의미한다. 이는 내비게이션의 자율 주행을 위한 핵심 기술로서 위치 추정에 사용되는 엔코더(Encoder)와 관성 센서(IMU, Inertial Measurement Unit)를 병행하여 구현한다. 엔코더는 구동부인 바퀴의 회전량을 측정하여 추측 항법(dead reckoning)을 통해 로봇의 위치를 근삿값으로 계산한다. 이 부분에서 오차가 꽤 발생하는데, 관성 센서에서 측정한 관성 정보가 위치 정보의 오차를 보상해준다. 목적에 따라서는 엔코더 없이 관성 센서만으로 위치를 추정하기도 한다. 이러한 위치 추정은 지도를 작성할 때 사용되는 거리 센서나 카메라를 통해 얻은 주변 환경의 정보를 기반으로 다시 한 번 위치를 바로잡는다. 이 위치 추정 방법론으로는 칼만 필터(Kalman Filter), 마르코프 위치 추정(Markov Localization), 파티클 필터(Particle Filter)를 이용한 몬테카를로 위치추정(Monte Carlo Localization) 등이 있다.
장애물 지형 등의 지도 작성에는 거리 센서를 사용한다. 거리 센서 이외에 카메라를 이용하기도 하는데 스테레오 카메라를 이용한 거리 측정으로 거리 센서처럼 이용하거나 일반 카메라를 이용한 비주얼 SLAM도 있다. 그리고 환경에 표시물(Marker)을 붙여서 인식하는 방식도 제안되고 있다. 예를 들어, 천장에 표시물을 장착하여 카메라로 표시물을 구별하는 방법이다. 최근에는 카메라를 사용하여 거리 센서의 결과물에 준하는 거리 값을 추출하는 Depth camera(Kinect, Xtion 등)가 보급되어서 이들을 이용하는 방법도 많이 연구되고 있다.
3.3. Navigation 맵핑 기술
내비게이션은 주어진 환경에서 로봇이 현재 위치부터 지정한 목적지까지 이동하는 것이다. 이를 위해서는 주어진 환경의 가구, 물체, 벽 등의 기하학적인 정보(Geometry, geo-: 토지, metry: 측정)가 담긴 지도가 필요하다. 앞서 설명한 SLAM 기술을 이용하여 로봇이 자신의 위치 정보와 센서로부터 얻은 거리 정보에서 지도를 얻을 수 있었다. 내비게이션은 이 지도와 로봇의 엔코더, 관성 센서, 거리 센서 등을 이용하여 현재 위치부터 지도상에 지정된 목적지까지 이동하게 된다.
➊ 센싱(Sensing)지도상에서 로봇은 엔코더와 관성 센서(IMU 센서) 등으로 자신의 오도메트리(Odometry) 정보를 갱신하면서 거리 센서가 장착된 위치부터 장애물(벽, 물체, 가구 등)과의 거리를 계측한다.
➋ 위치 추정(Localization / Pose Estimation)엔코더로부터 바퀴 회전량, 관성 센서로부터 관성 정보, 거리 센서로부터 장애물과의 거리 정보 등을 기반으로 기존에 작성해 둔 지도상에 로봇이 현재 어디에 있는지 위치를 추정(Localization / Pose Estimation)하게 된다.
➌ 모션 계획(Motion Planning)이동 경로 계획(Path Planning)이라고도 불린다. 현재 위치에서부터 지도상에 지정받은 목표 지점까지 이동 궤적(Trajectory)을 생성한다. 지도 전체상의 전역 이동 경로 계획(Global Path Planning)과 로봇 중심으로 일부 지역을 대상으로 한 국부 이동 경로 계획(Local Path Planning)으로 나누어 로봇의 이동 경로를 만든다.
➍ 이동/장애물 회피(Move / Collision Avoidance)모션 계획에서 작성된 이동 궤적을 따라서 로봇에 속도 명령을 내리면 로봇은 그 이동 궤적을 따라 목적지까지 이동한다.
4. 전체시스템 구성
본 연구팀은 OpenCR, Raspberry Pi 3, HLS-LFCD2와 기타 부품들을 이용하여 삼층 구조의 로봇을 완성하였다. 사용자가 원하는 부품을 넣고 뺄 수 있도록 여유 공간을 많이 두었고 MicroSD카드에 Raspberry Pi 3 패키지 등을 설치하고 ROS 개발환경 구축을 하였다. 개발환경을 구축해야 ROS 운영체제를 사용할 수 있고 사용자가 원하는 프로그램을 코딩할 수 있기 때문이다. 다음으로는 동작 테스트를 하여 제대로 환경이 구축되었는지 확인 하였고 하나의 컴퓨터로 코딩을 하기 위하여 OpenCR과 라즈베리 파일을 ip주소로 연결시켰다.
다음으로는 센서 관련 패키지를 적용하고. 패키지 설정 후 마스터를 실행 하고 로봇 및 센서를 구동하고 RViz, 로봇의 원격조종, 지도 작성을 실행하여 지도 작성이 정확히 구현되었는지 확인을 하였다. 지도 작성이 완료되면 완성된 지도는 3가지 색상(① 흰색 ② 흑색 ③ 회색)으로 나타났다. 3가지 색상들로는 로봇의 상태를 알 수 있는데 ‘① 흰색 = 로봇이 이동 가능한 자유영역 ② 흑색 = 로봇이 이동 불가능한 점유 영역 ③ 회색 = 확인되지 않는 미지영역‘ 이렇게 구분된다.
지도가 완성되어지면 SLAM 관련 노드들의 처리과정은 다음과 같이 나타낼 수 있다. ① Sensor-node ② Robot_teleop ③ Robot_core ④ Gmapping ⑤ Map_server 이러한 과정을 그림으로 나타내면 아래와 같이 프로그램이 나오게 된다.
내비게이션을 사용하기 위해 위치추정 필터를 사용해야한다. 위치추청 필터는 대표적인 ① 칼만 필터(Kalman Filter), ② 파티클 필터(Particle Filter)를 사용한다.
칼만 필터(Kalman Filter)는 잡음이 포함되어 있는 선형 시스템에서 대상체의 상태를 추적하는 재귀 필터이다. 이 필터는 베이스 확률을 기반으로 하는데 예측(Prediction)과 보정(update)을 계속하게 된다. 여기서 예측(Prediction)이란, 모델의 상정하고 이 모델을 이용하여 이전 상태로부터 현재 시점의 상태를 예측하는 의미를 가지고, 보정(update)이란 앞 단계의 예측 값과 외부 계측기로 얻은 실제 측정 값 간의 오차를 이용하여 더욱 정확한 상태의 상태 값을 추정하는 걸 보정이라고 한다. 그림을 살펴보면 쉽게 알 수 있다.
로봇에 사용한 파티클 필터(Particle Filter)는 시행착오(try-and-error)법을 기반으로 한 시뮬레이션을 통하여 예측하는 기술로 대상 시스템에 확률 분포로 임의로 생성된 추정 값을 파티클(입자)형태로 나타낸다. 수행하는 순서로는 ① 초기화(Initialization) ② 예측(Prediction) ③ 보정(Update) ④ 위치 추정(Pose estimation) ⑤ 재추출(Resampling)을 실행한다.
내비게이션을 실행하기 위해 마스터를 실행하고 로봇 및 센서를 구동 하고 RViz, 로봇 원격 조종, 내비게이션을 실행하였다.
로봇에서 사용하는 내비게이션이란 Dynamic Window Approach(DWA)라고 하는데 로봇의 속도 탐색 영역(velocity searxh space)에서 로봇과 충돌 가능한 장애물을 회피하면서 목표점까지 빠르게 다다를 수 있는 속도를 선택하는 방법이다. 그림을 보면 쉽게 이해할 수 있다.
위 그림에서처럼 로봇은 위치로 생각하는 것이 아니라 속도로 생각하여 병진속도로는 몇 m/s, 회전수는 몇 번이라 수치를 매기고 가장 알맞은 속도를 찾아내 목표점으로 도달할 수 있도록 하였다. 이러한 DWA 기술은 ROS에서 사용되는 대부분의 로봇들이 적용한다.
시스템을 SLAM기술을 적용한 로봇을 완성한 후 방사능 측정을 하기 위하여 G.M 계수기(G.M Tube)를 장착하였다. 방사능 측정에 대한 정밀도를 높이기 위하여 사전에 방사능 측정 실험을 진행하였고, 이를 통해 방사능 성분이 대기 중에 분포되어 있음을 파악하는 실험을 하였다.
5. 개발환경
로봇 기술의 발전은 미래에 인간의 삶을 더 풍요롭고 삶의 질을 높이는 결과를 기대할 수 있다. 집에서 사용하는 로봇 청소기, 음료를 만들어주는 로봇 등 많은 종류의 로봇들을 살펴보면 로봇이 활용되는 분야는 넓어지고 있고, 우리의 삶 속에 차지하는 비중은 커져 가고 있다는 것을 알 수 있다. 하지만 로봇의 개발로 인한 장점만 있는 것은 아니다. 로봇의 개발을 할수록 사람의 일자리, 직업의 다양성이 사라지고 있다는 단점도 생겨났다. 이렇듯 로봇에 대한 사회적, 기술적, 환경적 장단점 파악을 통해 인류에 이바지할 수 있는 로봇에 대한 연구가 필요하다.
인간이 직접 일을 수행하기에는 위험성이 있는 재난현장에는 로봇을 투입하여 필요한 데이터 값을 측정할 수 있다. 예를 들어 2011년 일본 후쿠시마에는 지진으로 인하여 원자로가 폭발한 사고가 발생하였다. 몇 년이라는 시간이 흐른 지금도 후쿠시마 원전 주변은 방사능 수치가 높아서 사람이 가까이 가기에는 피폭의 위험이 있다. 하지만 이 로봇을 활용한다면 현재 원전 주변의 지도와 방사능 농도를 사람이 가지 않고도 정확한 데이터 값을 측정할 수 있다. 이렇게 인류가 발전하면서 생기는 새로운 문제들을 로봇들을 통해 효율적으로 대응을 할 수 있다. 이 로봇의 가장 큰 장점은 작은 크기의 모듈형 구조 로봇이라는 점이다. 손쉽게 조립, 유지 보수가 가능하며 상황에 따라서 다양한 센서와 모터 등을 착용할 수 있기 때문에 높은 확장성을 가지고 있다. 또한 오픈소스 소프트웨어를 제공하는 ROS를 기반으로 하고있다. 오픈소스를 가져다 사용할 수도 있기 때문에 개발 과정에 어려움은 다른 로봇보다 적을 것이라고 생각한다.
인간이 하기 어렵고, 위험이 도사리는 일을 로봇으로 대신하여 인간의 삶의 질을 높이는 결과를 기대할 수 있을 것이다.
5.1 ROS 구현환경
ROS개발 환경을 구축한다. 설치는 아래와 같이 그림을 참고하여 입력을 하여 구현한다. 기본적인 ROS 설치와 몇 가지 ROS 설정을 포함한 Unix 명령을 사용한다.
수동 설치 방법은 먼저 ROS를 설치를 한 후, 다음으로 사용할 운영체제를 선택한다. 위 연구팀은 우분투를 사용하였고, 우분투에 들어가서 순서대로 작업을 한다. 다음으로 ROS 개발환경을 구축하는 방법을 통하여 안정적인 로봇의 개발환경을 완성한다.
다음으로 ROS 환경 설정에 대하여 적용하도록 한다.
그림과 같이 Unix 명령을 통한 ROS 환경 설치를 완료하고 ROS 테스트를 통하여 ROS 횐경에 대하여 검증한다. 참고로 ROS 정상동작 검증순서는 아래와 같이 진행하였다.
① 확인을 하기 위해서 터미널 창에 roscore를 입력한다.
② 다른 터미널 창을 열어서 rosrun turtlesim turtlesim_node를 입력한다.
③ 입력 후 파란색 거북이가 뜬 창을 확인할 수 있다.
④ 새로운 터미널 창에 rosrun turtlseim turtle_teleop_key를 입력을 하고 키보드 화살표를 이용하여 거북이를 움직일 수 있다. (그림 11 참고)
그림 11은 ROS에서 사용하는 통합개발환경 (IDE)이다. 본 연구팀이 사용한 방법은 Qtcreator + QtCreator Plugin for ROS이다. 설치 방법은 sudo apt-get install qtcreator을 입력하면 된다. Qtcreator + Qt Creator Plugin for ROS는 CmakeLists.txt을 그대로 사용하며 rqt플러그인 및 GUI(graphical user interface)개발하기 쉽다는 장점을 가지고 있다.
6. 단계별 제작 과정
6.1. 프로그램 설치
6.1.1. ROS 설치
아래의 설치 Code를 통하여 ROS를 설치한다.
· $wget http://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/
· master/install_ros_kinetic.sh&&chomod 755./install_ros_kinetic.sh&&bash./
· install_ros_kinetic.sh
6.1.2. ROS 환경설정
· $ifconfig 소스코드를 사용하여 자신의 컴퓨터 ip 주소를 찾고
· $gedit~/.bashrc 소스코드 입력 시 나오는 메모장에 아래와 같이 작성한다
· $export ROS_HOSTNAME= 자신의 인터넷 ip
· $export ROS_MASTER_URI=http://자신의 ip:11311
6.1.3. ROS 동작테스트
터미널 창을 2개 열어 ROS의 노드들이 메시지를 잘 주고받는지 확인한다.
6.2 ROS 도구 설치 (설치 소스코드는 6장 기타 소스코드 참고)
6.2.1. RViz (ROS Visualisation Tool) slam 기술을 사용하기 위해 아래와 같은 순서로 설치한다. 또한 Rvis는 다음과 같은 성능을 지니고 있다.
· 센서의 데이터 시각화
· 레이저 거리센서(LDS)센서의 거리 데이터
· IMU센서의 관성 데이터
· 로봇 외형의 표시와 계획된 동작을 표현
· 지도 표시, 내비게이션, 목적지 지정 등의 역할을 함
6.2.2. RQT설치 및 실행 – GUI형태로 ROS를 이용하기 위함이다.
6.2.3. 기본 설치 패키지(Gazebo를 이용하기 위한 준비)
Gazebo
· 물리 엔진을 탑재한 3차원 시뮬레이터로서 로봇을 가상으로 구동하는 역할을 한다.
· ROS와 호완성이 좋아 기본 시뮬레이터로 사용
· DARPA Challenge에서 선정한 공식 시뮬레이터
6.3 Gmapping + Robot 필요한 준비
설치의 목적은 Gmapping을 사용하기 위함이며 Gmapping의 특징은 Rao – Blackwellized 파티클 필터, 파티클 수 감소, 그리드 맵을 구동시킬 수 있다. 설치의 순서는 아래와 같다.
1) 소프트웨어 준비
2) 패키지 설치
3) 마스터 실행(remote PC)
4) 로봇 및 센서 구동(SBC)
5) RViz, 로봇 원격 조종, 지도 작성(remote PC)
6.4 내비게이션: Navigation + Robot에 개발 동작 순서
내비게이션이란 로봇의 속도 탐색 영역(velocity search space)에서 로봇과 충돌 가능한 장애물을 회피하면서 목표점까지 빠르게 다다를 수 있는 속도를 선택하는 방법이다. 개발 동작순서는 아래와 같다.
1) 마스터 실행(remote PC)
2) 로봇 및 센서 구동(SBC)
3) RViz, 로봇 원격 조종, 지도 작성(remote PC)
6.5 로봇 제작
6.6 로봇에 G.M 계수기 탑재
· 로봇에 G.M 계수기(방사능 계측기)를 달아 방사능 측정.
· 디스플레이로 방사능 측정
· SLAM, Navigation을 이용하여 장애물을 스스로 피하며 사람들이 다니지 못하는 방사능에 오염된 곳을 G.M 계수기로 측정하여 방사능 검출
여기서 G.M계수기란 이온화 방사능을 측정하는 가장 대표적인 휴대용 방사선 측정기이다. G.M 계수기는 ‘G.M계수기의 특성‘ 설명과 같이 G.M Tube 부품이 사용되는데, G.M Tube는 양극과 음극, 충전가스, 그리고 방전 소거 가스로 구성된다. 여기와 전리에 의한 2차 전자사태를 방지하기 위해 불활성 가스를 사용한다. GM관에 사용되는 혼합가스에서 펄스를 출력시키기 위해서는 최소한의 E/P 비가 필요하고, E의 값을 작게 하기 위해 충전가스의 기압을 1이하로 유지해야 한다.
일반적인 GM 계수관의 기압은 Ar 90torr, ethanol 10torr 이다. 방전소거를 통해 G.M 계측관 내부의 지속적인 펄스를 제거하고, 후속 방사선 입자의 계측을 가능하게 한다.
G.M계수기와 설계된 방사능 측정 회로도를 제작하고 SLAM, Navigation을 접목한 로봇에 방사능 측정 장치를 부착시킨다. 이러한 개발된 장비를 바탕으로 사람이 접근할 수 없는 방사능 피폭지역에 로봇을 통한 방사능 수치를 정밀 측정할 수 있도록 설계하였다.
7. 소스코드
7.7.1. ROS 설치
1. $wget http://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/
master/install_ros_kinetic.sh&&chomod 755./install_ros_kinetic.sh&&bash./
install_ros_kineticsh
2. 기본 설치 패키지(Gazebo를 이용하기 위한 준비)
$sudo apt-get install ros-kinetic-joy ros-kinetic-teleop-twist-joy
ros-kinetic-teleop-twist-keyboard ros-kinetic-laser-proc
Ros-kinetic-rgbd-launch
ros-kinetic-depthimage-to-laserscan ros-kinetic-rosserial-arduino
ros-kinetic-rosserial-python ros-kinetic-rosserial-server
ros-kinetic-rosserial-client
ros-kinetic-rosserial-msgs ros-kinetic-amcl ros-kinetic-map-server
ros-kinetic-move-base ros-kinetic-urdf ros-kinetic-xacro ros-kinetic-compressed-image-transport ros-kinetic-rat-image-view
ros-kinetic-gmapping ros-kinetic-navigation ros-kinetic-interactive-markers
$ cd /catkin_ws/src/
$ git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
$ git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
$ git clone https://github.com/ROBOTIS-GIT/turtlebot3.simulationsgit
cd /catkin_ws && catkin_make
7.7.2. ROS 환경설정
$gedit~/.bashrc
# Set ROS Indigo
source /opt/ros/kinetic/setup.bash
source ~/catkin_ws/devel/setup.bash
# Set ROS Network
export ROS_HOSTNAME= 자신의 인터넷 ip
export ROS_MASTER_URI=http://자신의 ip:11311
# Set ROS alias command
alias cw=’cd ~/catkin_ws’
alias cs=’cd ~/catkin_ws/src’
alias cm=’cd ~/catkin_ws && catkin_make’
자신의 컴퓨터 ip를 확인하는 명령어 $ifconfig
7.7.3. ROS 동작 테스트
$roscore
$rosrun turtlesim turtlesim_node
$rosrun turtlesim turtle_teleop_key
$rosrun rqt_graph rqt_graph
7.7.4. ROS 도구 설치
1. RVis (ROS Visualisation Tool)
· $sudo apt-get install ros-kinetic-rviz
$rosrun rviz rviz
2. RQT설치 및 실행
· $sudo apt-get install ros-kinetic-rqt ros-kinetic-rqt-common-plugins
$rqt
8. 결론
후쿠시마 원자력 발전소 사고, 국내 원자력 발전소 안전에 대한 우려 제기, 아파트 등 건축물의 세슘 방사능 방출에 대한 사회적 이슈가 제기됨에 따라 방사능에 대한 정밀한 측정이 요구되며 측정 방식(사람에게 무해한 측정방식)에 대한 기술적 접근이 필요한 상황이다. 이러한 배경을 토대로 SLAM, Navigation 기술을 활용한 방사능 측정 자율로봇에 대한 연구를 진행하였고 그에 맞는 작품을 제작하였다.