미래의 하이엔드 옷장 CLOTHES TOWER를 소개한다.
최근 소프트웨어 기술이 발달하면서 우리 생활 속에도 다양한 분야에 스며들고 적용되고 있다. 그 중에서도 우리는 가구 분야에 집중했다. 기존의 가구업체는 물론이고 IT기업까지 스마트 가구시장에 뛰어들며 이를 둘러싼 기술 경쟁이 가속화되는 분위기다. 사물인터넷(IoT)과 인공지능(AI) 기술이 발달하며 스마트 가구는 날로 진화하고 있다. 우리는 LG 시그니쳐 가구에 영감을 받고 이를 옷장에 접목하여 새로운 하드웨어를 제시하고 소프트웨어가 적용될 방향에 대해 제시한다.
3D 모델링 프로그램을 통해 간략하게 옷장의 하드웨어의 모양과 원리에 대해 설명한다.
좌측의 서랍형 옷장과 우측의 행거형 옷장의 결합형이다. 각 옷장은 독립하여 기능하지만 외관상으로는 하나의 옷장처럼 보이도록 디자인했다.
정면에서 바라보았을 때 서랍의 개수는 가로, 세로, 높이가 각각 1, 2, 3개로 정했다. 서랍의 출입은 하단부를 통해 이루어진다.
주차타워의 수직순환식 구조에서 아이디어를 채용했다. 서랍도 이와 마찬가지로 원형의 형태로 순환하며 모든 서랍은 하나의 레일로 연결되어 있다.
구성은 옷장(옷의 저장공간), 칸막이, 카메라, 환풍기, 스타일러, 디스플레이로 이루어져 있다.
주차타워의 승강기식 구조에서 아이디어를 채용했다. 지정된 공간에 따라 품목을 출입하였을 때 빈 공간으로 들어가도록 기획했다.
이미지에서 보이듯이 레일은 크게 보았을 때 출입구부터 저장공간까지 'U'자형을 띄고 있으며 각 저장공간은 나무의 가지처럼 개별적으로 나뉘어져있다.
저장공간마다 구분을 할 수 있는 칸막이를 설치하여 옷을 붙여서 보관할 때 발생할 수 있는 이염, 먼지발생, 정전기 등을 사전에 차단한다.
행거형 옷장 출입부분의 좌상단에 위치해있다. 카메라의 기능은 사용자가 옷을 넣고 문을 닫았을 때 사진을 찍어 옷에 대한 정보를 기억한다.
행거형 옷장 공간 아래에 위치하며 옷장을 환기시키는 기능을 한다. 출입구와 저장공간이 분리되어 있어 저장공간 내의 공기가 정적으로 머무를 수 있다고 판단했다. 따라서 옷장의 냄새를 옷에 배지 않도록 설치했다.
옷의 출입구 부분에 위치하고 있다. 사용자에게 옷을 최적의 상태로 전달할 수 있도록 기능한다. 어플을 통해 미리 설정해놓으면 사용자가 원하는 시간에 옷을 준비하도록 설계했다.
행거형 옷장의 출입문에 설치되어있다. 어플리케이션과 동일한 기능을 수행하고 사용자가 핸드폰 없이도 옷장을 작동시킬 수 있도록 기획했다.
옷장은 어플리케이션과 인공지능 스피커를 통해 기능한다.
화면 | 설명 |
---|---|
![]() | 스플래시 화면으로 서비스의 시작을 표시한다. |
화면 | 설명 |
---|---|
![]() | 각 서랍에 대해 접근할 수 있도록 항목을 리스트뷰로 보여준다. |
화면 | 설명 |
---|---|
![]() | 옷을 추가하면 이미지를 통해 리스트뷰로 보여준다. |
화면 | 설명 |
---|---|
![]() | 사용자가 직접 일정을 추가하여 어떤 옷을 입어야할지에 대해 생각할 수 있도록 도와준다. 또한 날씨에 대한 정보를 제공하여 선택의 고민을 줄일 수 있도록 한다. |
화면 | 설명 |
---|---|
![]() | 옷의 종류(상의/하의/기타), 색상, 소재, 행거번호로 나뉘며 스크롤 형태로 한 페이지 내에서 정보들을 선택하고 저장할 수 있다. |
화면 | 설명 |
---|---|
![]() |
행거형 옷장 페이지의 리스트에서 사용자가 옷장에 등록한 옷들을 출입하거나 삭제할 수 있다. |
화면 | 설명 |
---|---|
![]() | 사용자가 저장한 정보를 바탕으로 옷을 검색할 수 있다. |
① 옷의 종류에 따라 상의/하의/기타를 선택한다.
② 옷의 길이(상의-긴팔/반팔, 하의-긴바지/반바지, 기타-목도리/모자)를 선택한다.
③ 옷의 색상을 선택한다.
④ 옷의 소재를 선택한다.
⑤ 사용자가 지정할 행거번호를 선택한다.
⑥ 모든 선택을 마치면 아래의 '추가하기' 버튼을 누른다.
⑦ 옷을 저장하는지에 대한 팝업 메세지가 뜨면 '예' 버튼을 누른다.
⑧ 저장이 완료되었다는 팝업 메세지와 함께 데이터를 데이터베이스에 정보를 저장한다.
① 사용자는 “옷장 문 열어줘”를 이야기한다.
② 스피커는 “Clothes Tower를 실행합니다.”, “옷장 문이 열렸습니다.”를 이야기한다.
③ 사용자는 추가 하려는 옷을 옷장 내 옷걸이에 걸어둔다.
④ 사용자는 옷을 걸은 뒤에 “옷장 문 닫아줘”를 이야기한다.
⑤ 스피커는 “옷이 인식되었습니다.”, “옷장 문을 닫습니다.”, “Clothes Tower를 종료합니다.”를 이야기한다.
⑥ 그 후 행거형 옷장의 U자형 레일을 따라 저장공간으로 옷을 이동시킨다.
① 리스트뷰에서 삭제하고자 하는 옷을 클릭한다.
② 출입/삭제 팝업메세지가 나오면 '삭제'버튼을 누른다.
③ 삭제에 대한 팝업메세지가 뜨면 '예'버튼을 누른다.
④ 삭제가 되었다는 메세지가 출력되고 데이터가 삭제된다.
① 행거형 옷장 페이지에서 오른쪽 상단에 있는 ‘돋보기’ 아이콘을 클릭한다.
② 사용자가 등록한 옷의 정보를 바탕으로 선호하는 기준에 따라 리스트를 정렬해준다.
③ 원하는 옷의 정보를 선택한 후에 하단에 있는 ‘검색하기’ 버튼을 누르면 검색이 이루어진다.
① 행거형 페이지/서랍형 페이지에서 꺼내고 싶은 항목을 어플리케이션 내에서 선택을 한다.
② 출입을 원하는지에 대한 확인 메시지가 출력된다.
③ ‘예’ 버튼을 누르면 옷/서랍을 출입한다는 팝업메세지를 띄운다. ‘아니오’ 버튼을 누르면 어떠한 이벤트도 발생하지 않는다.
화면 | 설명 |
---|---|
![]() |
서랍 출입 요청 시 서랍형 옷장의 레일 이동 모습 |
![]() |
옷 출입 요청 시 행거형 옷장의 레일 이동 모습 |
각 서랍은 냉장고의 서랍시스템처럼 온도와 습도 조절이 가능하다. 따라서 의류의 소재에 따라 사용자가 온도와 습도를 맞춰 옷의 컨디션을 최상으로 유지하고 수명을 늘린다.
① 서랍형 옷장 페이지에서 각 서랍마다 있는 ‘온도’ 버튼 혹은 ‘습도’ 버튼을 누른다.
② 서랍 내 옷의 종류 및 컨디션에 따라 서랍의 온도/습도를 조절하고 '확인' 버튼을 누른다.
③ 온도/습도를 설정한다는 팝업메세지가 출력된다.
① 사용자는 “옷 보여줘”를 이야기한다.
② 스피커는 “Clothes Tower를 실행합니다.”, “옷장 문이 열렸습니다.”를 이야기한다.
③ 사용자는 원하는 분류에 따라 요청할 수 있다. 예를 들어 “색상 별로 보여줘”를 이야기 할 수 있다.
④ 스피커는 “어떤 색상으로 보여드릴까요?”를 이야기한다.
⑤ 사용자는 “빨간색으로 보여줘”를 이야기한다.
⑥ 스피커는 “빨간색 옷 분류 중입니다.”를 이야기한다.
⑦ 분류가 끝나면 해당하는 옷들을 U자형 레일을 따라 저장공간에서 출입구로 이동시키고 스피커는 “완료되었습니다.”를 이야기한다.
⑧ 사용자는 원하는 옷을 꺼낸 후에 “옷장문 닫아줘”를 이야기한다.
⑨ 스피커는 “옷장 문을 닫습니다.” “Clothes Tower를 종료합니다.”를 이야기한다.
① 사용자는 “날씨 알려줘”를 이야기한다.
② 스피커는 날씨에 대한 정보를 말한 뒤에 어떤 옷이 좋은지 간단하게 추천하고 실행 의사를 묻는다. 예를 들어 “날씨는 8도입니다.”, “긴 옷을 추천드립니다.”, “Clothes Tower를 실행할까요?”를 이야기한다.
③ 이후 내용은 출입 시나리오와 동일하다.
① 사용자는 “정리해야할 옷 알려줘”를 이야기한다.
② 스피커는 날씨에 대한 정보를 바탕으로 어떤 계절이 다가왔는지 정보를 전달한다. 예를 들어 “봄이 다가왔습니다.”, “겨울 옷을 정리하시겠습니까?”를 이야기한다.
③ 사용자는 “겨울 옷 정리해줘”를 이야기한다.
④ 스피커는 “겨울 옷을 꺼냅니다.”를 이야기한다. 그 뒤에 옷장은 옷장 문을 열고 해당 정보에 부응하는 옷들을 U자형 레일을 통해 출입구로 내보낸다.
⑤ 사용자는 옷들을 꺼내서 정리한 후에 “옷장 문 닫아줘”를 이야기한다.
⑥ 스피커는 “옷장 문을 닫습니다.”, “Clothes Tower를 종료합니다.”를 이야기한다.
다만, 2번째 순서에서 계절 변화에 대한 기준을 부합하지 않을 경우 다음의 시나리오를 진행한다.
① 스피커는 “환절기입니다.”, “여러 종류의 옷을 구비해 두시는게 좋을 것 같네요.”, “그래도 옷장을 정리하시겠습니까?”를 이야기한다.
② 사용자가 “예”라는 응답으로 수락할 경우 스피커는 “Clothes Tower를 실행합니다.”, “옷장 문이 열렸습니다.”를 이야기한다. 사용자는 위의 시나리오 ③번부터 실행하면 된다. “아니오”라는 응답으로 거부할 경우 스피커는 “네, 알겠습니다.”를 이야기하고 실행을 종료한다.
① 행거형 옷장 페이지에서 오른쪽 상단에 있는 환풍시스템을 누른다.
② 환풍시스템을 원하는지에 대한 확인 메시지가 출력된다. ‘예’ 버튼을 누른다.
③ 환풍시스템을 실행한다는 팝업메세지를 띄운다. 행거형 옷장 하단에 있는 환풍기가 돌아가기 시작한다. 공기 질 상태를 확인하고 옷장 내에서 충분히 환기가 이루어졌다고 판단되면 환풍기는 자동으로 실행을 멈춘다.
① 행거형 옷장 페이지에서 원하는 옷을 선택한 다음, 오른쪽 상단에 있는 스타일러 아이콘을 누른다.
② 스타일러 화면에서 하단의 '스타일러' 버튼을 누른다.
③ 어플리케이션이 달력 화면을 띄우면 사용자는 원하는 날짜를 선택하고 시간을 입력한다.
④ 스타일러를 실행하겠냐는 팝업메시지에 뜨고 난 후 ‘예’버튼을 누른다.
⑤ 스타일러를 실행한다는 팝업메세지를 띄운다. 옷장은 스타일러가 작동하는 시간을 고려하여 옷장에서 출입구까지 옷을 미리 이동시킨다.
① 캘린더 화면에서 사용자가 달력 내에서 원하는 날짜를 선택하고 아래에 있는 ‘일정등록’ 버튼을 누른다.
② 팝업 메시지내에 일정에 대한 내용을 입력하고 '예' 버튼을 누른다.
③ 일정이 등록되었다는 팝업메시지를 띄운다.
① 캘린더 화면 아래에 있는 '날씨' 버튼을 누른다.
② 해당 아이콘은 기상청 페이지로 연결된다.
옷의 정보를 정수로 나타내는 데이터프레임을 임의로 생성했다.
def get_test_data() :
#0 = Top, 1 = Bottom, 2 = Others
toboot = random.randint(0,2)
#0 = Short, 1 = Long
length = random.randint(0,1)
color_r = random.randint(1,255)
color_g = random.randint(1,255)
color_b = random.randint(1,255)
#기모 = 1, 나일론 = 2, 데님 = 3, 면 = 4, 스웨이드 = 5, 폴리 = 6
#린넨 = 7, 울 = 8, 아크릴 = 9, 캐시미어 = 10, 기타 = 11
material = random.randint(1,11)
each_Data = [toboot, length, color_r, color_g, color_b, material]
return each_Data
데이터프레임 | 설명 |
---|---|
| 1000개의 더미데이터를 임의로 생성했다. |
데이터의 조작을 옷의 색상별로 하기로 결정했다.
그래프 | 설명 |
---|---|
![]() | 색상데이터 RGB값의 경우의 수와 K군집의 개수를 모두 고려하여 8개로 정했다. |
알고리즘을 적용한 결과
그래프 | 설명 |
---|---|
![]() | 색상데이터 RGB값을 이용해 3차원의 그래프로 8개의 군집을 나타냈다. |
색상별 데이터프레임 | 설명 |
---|---|
| 색상데이터 RGB값이 유의미하게 분리되고 비슷한 색상별로 옷이 정리되었다. |
군집화 평균 RGB 색상값 | 설명 |
---|---|
| 검정색 |
민트색 | |
파랑색 | |
초록색 | |
빨간색 | |
흰색 | |
바이올렛색 | |
노란색 |
우리 서비스의 구조는 세 가지 모듈로 구성되어 있습니다.
첫 번째 모듈인 Front End에서는 자바와 안드로이드 스튜디오를 사용했습니다. 프런트 엔드는 사용자의 요청을 수신하여 서버로 전달하고, 사용자로부터 수신된 응답을 처리합니다. 서버 및 사용자에게 보기 쉬운 양식을 제공합니다. 사용자는 UI를 통해 서랍형과 행거형 옷장에 대한 접근을 쉽게 할 수 있습니다. 또한, 사용자는 전면의 직관적인 색상과 아이콘 디자인으로 자신의 옷에 대한 정보를 쉽게 입력할 수 있습니다. 게다가, 달력과 날씨 UI를 추가하여 사용자에게 옷장 관리 이상의 부가적인 기능을 제공합니다.
두 번째 모듈인 Back End에서는 파이썬과 파이썬의 프레임워크인 플라스크를 사용했습니다. 서버는 다음으로부터 요청을 수신합니다. 사용자의 정보 및 적절한 응답을 제공합니다. 또한 이 프로세스에서 데이터베이스와 상호 작용하여 데이터를 찾고, 만들고, 업데이트하고, 파기합니다.
마지막 모듈은 AI speaker입니다. 여러가지 API를 이용하여 사용자에게 옷장 이용에 대한 편리한 기능을 제공합니다. 마찬가지로 정보에 대한 저장과 서버와의 통신을 통해 간단한 데이터베이스 상호작용 작업을 수행할 수 있습니다.
우리의 프로젝트는 처음부터 끝까지 새로운 아이디어를 바탕으로 기획했다. 따라서 여러 크고 작은 문제를 많이 직면할 수 밖에 없었다.
비록, 위와 같은 문제들이 있었지만 최근 발전하고 있는 스마트 가구들에 대해 많은 생각을 해보고 물리적인 하드웨어와 기능적인 소프트웨어 간의 적용할 수 있는 방안에 대해 고찰할 수 있었다. 따라서 우리의 프로젝트가 앞서 목표했던 방향성을 달성하고 많은 기능들을 넣은 기획으로써 현재로서는 실현하기에 많은 문제점들이 있겠지만 빠른 시일 내에 도달가능한 목표일 것이라 예측된다.