일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 자료구조
- 코테 문제
- 초소형머신러닝
- dfs
- 포스코 교육
- 삼성코테
- 딥러닝
- 그리디
- 임베디드 딥러닝
- 삼성코딩테스트
- 영상처리
- 코딩테스트
- BFS
- 컴퓨팅사고
- DP문제
- 코테
- TensorFlow Lite
- 포스코 AI교육
- sort
- bfs문제
- 다이나믹프로그래밍
- 알고리즘
- DP
- tinyml
- 삼성역테
- 삼성역량테스트
- dfs문제
- MCU 딥러닝
- 포스코 ai 교육
- tflite
- Today
- Total
코딩뚠뚠
[대학활동] 2018 한이음공모전 본문
2학년때 진행했던 프로젝트로 동상인 한국공학교육인증원장상을 수상했다.
속했던 동아리에서는 1년에 1회이상 프로젝트를 진행해야됐고 학기중에 바로 진행하려면 겨울방학때부터 아이템을 고민해야 됐다.
2018년 겨울에는 평창올림픽이 열렸었고 드론퍼포먼스를 보게되었다. 이는 군집로봇 제어를 이용한 것으로, 군집로봇이 군사적인, 상업적인 용도 뿐만아닌 엔터테인먼트 적으로 이용되는 것도 가치가 높을 수 있다고 생각했다.
https://www.youtube.com/watch?v=IG_9s3fZq_E
대회소개 :
한이음 ICT 멘토링 사업의 최종 결과물을 내는 공모전
한이음 ICT멘토링 사업 : 대학생 멘티가 ICT 기업전문가 멘토와 팀을 이루어 프로젝트를 수행하는 멘토링 프로그램
주최 : 과학기술정보통신부
주관 : 정보통신기획평가원, 한국정보산업연합회
주제 :
군집제어로봇을 이용한 핸디홈시어터
Swarming robots for handy home theater
- 다채널 홈시어터 설치에는 스피커의 위치가 입체음향에 중요한 역할을 한다. 이에 Master 로봇이 Mapping 을 통해 Map을 작성하고 목표지점을 찾아 여러 로봇이 목표지점으로 이동하여 소리를 출력하여 자동으로 홈시어터를 구성하는 작품이다.
방법 :
ROS 로봇운영체제와 Linux 환경에서 구현하였으며 BeagleBone Blue와 Lidar 등의 부품을 주로 이용하였다. 홈시어터 시스템 구성으로는 최대 6개의 로봇을 이용하여 2.1ch 3.1ch 5.1ch 를 구현하였다.
구분 |
기능 |
설명 |
S/W |
Mapping |
odometry 정보가 필요없는 ROS를 이용한 hector- mapping 으로 주변 정보를 mapping한다. |
Map 변환 |
작성된 Map은 pgm과 yaml 파일로 저장된다. Navigation을 실행하기 위해 저장된 Map의 pgm 파일을 txt 파일로 변환한다. |
|
psd 이용한 상대위치 파악 |
psd를 이용하여 6개 로봇 각각의 상대위치를 파악하여 각각에 대한 토큰값을 부여한다. 이로써 navigation 구동준비를 완료한다. |
|
Navigation |
변환한 txt map에서 목표지점을 지정하여 Navigation을 실행한다. 목표지점까지 이동하는 동안 장애물을 회피한다. |
|
Wifi 통신 |
Wifi연결을 기반하여 tcp/ip 통신을 통해 각 로봇끼리 정보를 주고받을 수 있다. |
|
H/W |
전 방향 이동 |
3wd Omni-Wheel을 이용해 전 방향 이동이 가능하게 한다. |
스피커 (구매H/W) |
목표지점에 다다른 후에는 스피커를 틀어 다채널 스피커를 구성한다. (음원분리 후 우퍼까지 구성하여 완벽한 다채널 스피커를 구성하려 했지만 이는 음향 회사에서도 중요기술로 다루는 핵심기술로써 구현할 수 없었다. 또한 군집, 다중로봇 제어에 중요한 부분이 아니라고 생각하고 주요 기술을 집중 개발하였다.) |
|
본체 |
3D Printer 로 제작중인 본체는 각종 센서와 보드 배터리 스피커를 내장한다. 다수의 모듈 모두 이와 같이 제작한다. |
역할 :
팀장 / ROS-LiDAR Mapping / PSD-sensing
팀장으로서 프로젝트 기간에 맞춰 팀원들에게 계획에 따라 개발 내용을 분배하고 조절하였다. 멘토님과 미팅 전 많은 내용을 효율적으로 전달하기 위해 개발 중 문제발생 내용을 정리하고 전달하였고 이에 맞는 피드백을 Trello 에 정리해놓음으로써 팀을 체계적으로 이끌어 갈 수 있었다.
Mapping에 필요한 Lidar센서를 사용하기 위해 ROS운영체제를 이해하고 open source인 hector-mapping을 프로젝트에 맞게 가공하여 사용하였다. 이로써 알맞은 축척의 Map을 얻을 수 있었다.
로봇 6대가 움직이기 전 각각 자신의 전후좌우가 빈 상태인지 로봇이 있는지 센싱하여 자신이 어떤 위치에 있는지 파악하게 된다. 이를 위해 각 로봇마다 4개의 PSD 센서를 달아 비글본 블루로 센서값을 보낼 수 있게 하였다. 또한 이 센서들은 움직일 때에 주변을 감지하여 장애물이 있으면 회피기동을 할 수 있다. PSD 끼리의 간섭을 방지하기 위해 센서의 높이를 조금씩 다르게 하였다.
결과 :
https://youtu.be/hK4jm6tOYkg
로봇 6대를 이용해 자동으로 홈시어터를 구현할 수 있었다.
결과적으로 한이음공모전 동상을 수상할 수 있었고, 엔터테인먼트적 가치를 어느정도 실현했다고 생각한다.
기대효과 :
● 공간 활용 :
기존의 홈시어터가 가지는 공간차지, 설치위치 변경 등의 여러 제약 요소들을 해소할 수 있다.
● 보편성 :
각 스피커가 알맞은 자리에 스스로 위치함으로써 음향에 대한 전문지식이 없는 사람들도 쉽게 다채널을 구성한 음향 서비스를 이용할 수 있다.
● 활용성 :
향후 모듈형태로 제작하여 스피커뿐만이 아닌 다른 장비를 장착하여 여러 분야에 있어 활용성이 뛰어날 것으로 기대된다.
● 발전가능성 :
군집로봇 중 구현하기 위해 목표를 잡은 프로젝트는 화물차의 군집주행, 꽃가루 수분하는 벌 군집로봇, 수중 물고기 군집로봇 등 많은 종류가 있다 그 중 현실화 된 것은 없다. 이에 필요한 드론은 비행 제한구역, 군집주행은 자율주행의 일부분이기 때문에 법적인 문제에 제한을 받는다. 또한 인명을 다룰 수 있기 때문에 고도의 기술력이 필요하다. 아직 갖춰지지 않은 기술력에 문제가 있을 수 있기 때문이다. 엔터테인먼트 분야인 이 로봇은 인명의 피해가 없을 것이고 이에 따른 부가적인 기술력이 덜 중요시되기 때문에 상용화가 빠를 것이다. 따라서 이를 상용화시키고 공통적인 핵심 기술을 발전시킨다면 다른 고도의 기술력을 요하는 부문의 개발에도 도움이 될 것이다.
개발과정 중 어려웠던점과 해결
● ROS를 처음 접한 것에 대한 문제점
ROBOTIS OpenSourceTeam youtube계정의 ROS강의를 들으며 개념을 다지고 parameter 값을 로봇에 알맞게 수정하며 hector-mapping을 수행하였다. 알맞은 축척의 Map을 얻을 수 있었다.
● 부품 구매 자료 수집의 문제점
호환되는 부품구매를 위해, 최선의 성능을 가지는 로봇을 만들기 위해 보드, 센서 등의 부문을 나눠 ppt로 발표 후 결정하였다.
● Beaglebone Blue (SBC) 에 관한 자료가 많이 없음
Beagleboard.org / wiki 등에도 자료가 없었으나 git에서 관련 자료를 찾아 내장된 센서, 모터 드라이버 등의 정보를 알 수 있었다.
● OS 문제
Debian에서는 ROS가 올라가지 않고 Ubuntu에서는 모터가 돌지 않는 문제를 멘토링 후 패키지에 내용이 하나 빠져 있는 것을 발견 새로운 패키지를 다운받아 사용 할 수 있었다. 패키지 역시 Debian기반이지만 경로 설정 등을 Ubuntu에 맞춰 제약이 없이 코딩이 가능한 환경을 구축하였다.
● Beaglebone Blue에 HDMI 포트가 없어 직관적인 개발이 불가
SSH 연결 후에 VNC 이용하여 직관적인 개발. 파일 트리 등을 GUI로 볼 수 있었다. 하지만 VNC 사용에 있어서 ROS 상의 rviz에서 Map을 직접 볼 순 없어 Map을 볼 땐 PC를 이용해야만 했다.
● Mapping 시 Map 크기가 너무 작은 문제점
RPLidar_Hector_SLAM / hector_slam / hector_slam_launch 의 launch 파일을 에디터로 열어 parameter 값 중에 arg name=”map_size” default를 50과 픽셀당 크기를 0.0650m로 조정하여 픽셀과 축척을 줄여 필요 없는 공간을 줄였다.
● 3wd Omni Wheel 구동시 duty가 낮을 경우 무게를 못 이기는 현상
1안 : 모터를 새로 구매. -> 가격적 측면에서 거의 불가한 상황
2안 : 전체적으로 높은 duty를 부여한 상태에서 제어 -> 높은 duty유지와 동시에 제어해야하고 mapping시 Map의 정확도가 떨어질 수 있어 전반적인 수정`이 불가피해 정밀도 높은 제어를 위해 상당한 시간이 걸릴것으로 예상.
3안 : 3개의 모터 사용의 의미가 많이 줄어들지만 무게 감당에 3개의 동력이 필요하므로 옴니휠의 의미가 줄어들지만 전방향 이동이 아닌 방향전환을 주어 바퀴들을 제어하면 이동에 제약은 없음.
→ 2안으로 진행
대회날 찍은사진들
수상자여서 발표를 진행하고 질의응답을 했다 / 축하공연 가수로는 홍진영이왔다 ㅋㅋ
이렇게 발표도 하고
부스운영도 하고 무슨무슨 장관님도 오셨다 아마 주최 기관 장관님이셨겠거니..
끝
'대학 활동' 카테고리의 다른 글
[대학활동] 2018 교내 포트폴리오 경진대회 (0) | 2020.12.25 |
---|---|
[대학활동] 2018 ESW (0) | 2020.12.25 |
[대학활동] 2018 전공연계 유럽탐방 (0) | 2020.12.25 |
[대학활동] 2018 3D 프린터 교육 이수 (0) | 2020.12.25 |
[대학활동] 2015 공학입문설계 (0) | 2020.12.25 |