본문 바로가기

설계 노트

설계 노트4. 코딩으로 최적화한 베개, 레이시보

베개에서 가장 중요한 요소는 무엇일까요?

 

정답이 있는 건 아니지만, 레이시보의 생각은 이렇습니다.

크기, 높이, 소재, 각도

개발자로서 베개를 설계할 때 중요하게 봐야 하는 네 가지 요소에요.

 

1. 크기

베개의 크기는 수면의 자유도를 결정합니다. 베개 사이즈가 너무 작으면 자면서 조금만 뒤척여도 베개 밖으로 머리가 빠져나가기 쉽죠. 반대로 너무 크면 침대에서 차지하는 공간이 커지고, 오히려 수면 공간이 좁아질 수 있어요. 그래서 베개의 크기는 단순히 "크면 좋다"가 아니라, 얼마나 자유롭게 움직이면서 잘 수 있는지를 고려해야 한다고 생각해요.

 

2. 높이

베개의 높이는 수면 자세와 목의 지지 방식을 결정합니다. 너무 낮으면 목을 충분히 받쳐주기 어렵고, 반대로 너무 높으면 목과 머리의 자연스러운 위치가 달라질 수 있어요. 특히 사람마다 목의 깊이와 어깨 너비, 체형이 다르기 때문에 모두에게 똑같은 높이가 적합하다고 보기도 어렵습니다. 그래서 레이시보를 개발하면서 가장 먼저 고민했던 것도 바로 "높이를 어떻게 정할 것인가?"였던것 같아요.

 

3. 소재

source: gemini

소재는 촉감과 지지감을 결정합니다. 너무 부드러운 소재는 처음 누웠을 때는 편안하게 느껴질 수 있지만, 체중이 실리면서 높이가 쉽게 변할 수 있어요. 반대로 너무 단단한 소재는 안정적인 지지감을 줄 수 있지만, 누웠을 때 편안한 느낌을 만들기 어려울 수 있습니다. 그래서 레이시보는 겉에서는 부드러운 느낌을 주면서도 내부에서는 탄탄하게 지지할 수 있도록 서로 다른 특성을 가진 이중 구조를 적용했어요.

 

4. 각도

마지막은 각도입니다. 앞의 세 가지 조건이 잘 맞더라도 목을 받쳐주는 부분의 각도가 지나치게 급하거나 완만하다면 누웠을 때 편안한 느낌을 만들기 어려워요. 결국 베개는 단순히 높이 하나만 정한다고 끝나는 제품이 아니었습니다. 크기, 높이, 소재, 각도. 이 네 가지가 서로 맞물려야 한다고 생각했어요.

​

그래서 레이시보는 어떻게 만들었을까요?

레이시보는 이 네 가지 요소를 최대한 합리적으로 설계하기 위해 한국인 인체 데이터를 바탕으로 설계 조건을 만들고, 이를 코딩과 시뮬레이션에 적용했어요. 오늘은 그중에서도 가장 먼저 고민했던 "베개 높이는 어떻게 결정했는가?" 에 대해 이야기해보려고 해요.

​

사실 베개 높이를 정하는 방법은 생각보다 단순하지 않습니다. 예를 들어 베개 높이를 6cm로 만들었다고 해볼게요. 누군가에게는 편안한 높이일 수 있지만, 다른 사람에게는 낮게 느껴질 수 있죠. 반대로 10cm짜리 베개가 어떤 사람에게는 잘 맞더라도 다른 사람에게는 높게 느껴질 수 있습니다. 그렇다면 이런 질문이 생기는데요. "사람마다 조금씩 다른 조건을 가지고 있다면, 우리가 설정한 설계 조건을 가장 많은 사람에게서 만족시키는 높이는 어느 정도일까?" 저는 이 문제를 감으로 결정하고 싶지 않았습니다. 그래서 컴퓨터로 직접 시뮬레이션을 만들었어요.

베개 높이를 1mm씩 바꿔보면 어떨까?

먼저 목의 조건이 사람마다 조금씩 다르다고 가정했죠. 사이즈코리아 인체 데이터의 통계적 특성을 바탕으로 다양한 가상의 조건을 만들어줍니다. 저는 시뮬레이션에서는 1000만 개의 가상 조건을 생성했어요. 그다음 베개의 목 부분 높이를 하나씩 바꿔가며 각각의 조건에서 얼마나 적합한지를 계산했습니다. 쉽게 말하면 이런거에요.

​

40mm는 어떨까?

41mm는?

42mm는?

...

100mm는?

​

이런 식으로 베개 높이를 1mm 단위로 바꿔가면서 비교하는 것입니다. 실제로 사용한 코드는 다음과 같습니다.

import numpy as np

def find_only_fit_height():
    n_simulations = 10000000
    
    # 1. 사이즈 코리아 데이터 삽입 N, 표준편차 std)
    user_neck_depth = np.random.normal(N, std, n_simulations)
    
    # 2. 탐색 범위
    # 3cm ~ 12cm
    neck_candidates = np.arange(30, 121, 1)

    best_score = -1
    best_neck = 0

    print("simulation start...")

    for p_neck in neck_candidates:

        # 1. 실제 베개 높이
        real_p_neck = p_neck
        
        # 베개 높이와 사용자 목 공간의 차이
        gap = real_p_neck - user_neck_depth
        
        # 설정한 범위 안에 들어오는 경우를 Fit으로 판단
        # 여기서 설정한 Fit 범위는 레이시보의 초기 설계를 위해 설정한 하나의 설계 조건입니다.
        is_fit = (gap >= 0.0) & (gap <= 20.0)
        
        # 전체 조건 중 Fit 비율
        score = np.mean(is_fit) * 100

        # 가장 높은 점수 갱신
        if score > best_score:
            best_score = score
            best_neck = p_neck

    print("\n" + "="*40)
    print("최종 결론")
    print("="*40)
    print(f"최적 목 높이: {best_neck} mm")
    print(f"Fit Score: {best_score:.2f}%")
    print("="*40) 

# 실행
find_only_fit_height()

코드만 보면 조금 복잡해 보일 수 있는데요. 하지만 원리는 간단합니다. 사이즈 코리아 인체 데이터를 바탕으로 1천만개의 가상 조건 데이터를 만들어 시뮬레이션을 하는 것이구요. 그리고 베개의 높이를 1mm 단위로 바꾸보며 모든 후보를 하나씩 테스트해보는 것입니다. 그러면 천만개의 조건 중 몇 %가 이 높이에 들어오는지를 계산할 수가 있겠죠. 그리고 결국 가장 높은 점수를 찾고 컴퓨터에게 이런 질문을 던지는 것입니다.

1mm 단위로 전부 비교했을 때, 우리가 설정한 조건을 가장 많이 만족시키는 높이는 몇 mm인가?"

물론 이게 베개의 정답은 아닙니다. 시뮬레이션은 어디까지나 설계 방향을 찾기 위한 도구죠. 사람의 몸은 단순한 숫자 몇 개로 설명할 수 없으니까요. 목의 형태도 다르고, 어깨의 너비도 다르고, 체형도 다르고, 정면으로 자는지 옆으로 자는지도 다릅니다. 게다가 매트리스의 푹신함이나 실제 베개의 압축 정도까지 고려하면 변수가 훨씬 많아집니다. 그래서 레이시보는 2cm 높이 조절 패드를 기본으로 제공하지만 이마저도 시뮬레이션 결과를 가지고 "이 높이가 모든 사람에게 완벽하다."라고 말할 수는 없습니다. 다만 레이시보가 이 과정을 거친 이유는 다른 데 있습니다.

 

적어도 첫 번째 설계 기준만큼은 감으로 정하고 싶지 않았기 때문입니다.

 

레이시보의 개발 과정은 단순히 컴퓨터에서 끝나지 않았습니다. 데이터를 바탕으로 설계 조건을 만들고, 시뮬레이션을 통해 후보를 좁히고, 실제 샘플을 제작하고, 직접 누워보고, 다시 구조와 높이를 수정하는 과정을 반복했습니다. 즉, 데이터 → 시뮬레이션 → 설계 → 실제 테스트의 과정을 반복하며 거쳤습니다. 레이시보의 최종 높이는 단순히 "7cm가 편하다더라" 또는 "시중 베개가 이 정도니까"라는 이유로 정한 것이 아닙니다. 사람의 신체 조건을 고려하고, 다양한 조건을 시뮬레이션하면서 어떤 구조가 더 많은 사람에게 합리적인 시작점이 될 수 있을지 고민한 결과입니다.

​

그리고 이것은 베개를 만들기 위한 수많은 요소 중 하나인 '높이'를 결정하기 위한 과정이었습니다. 레이시보 베개의 필요한 모든 요소에 이와 똑같은 과정을 거쳐서 제작되었어요.

 

베개 하나에 왜 이렇게까지 했을까요?

사실 베개 하나 만드는 데 코딩까지 해야 하나 싶을 수도 있지만, 베개는 사람이 매일 몇 시간씩 사용하는 제품이에요. 그리고 머리와 목을 직접 받치는 제품이기도 합니다. 그렇기때문에 단순히 돈을 벌기 위해 겉모양만 베개 형상을 갖춘 제품을 만들고 싶지 않았어요. 크기, 높이, 소재, 각도 이 4가지 요소가 조화롭지 않으면 그것이 곧 소비자의 불편함으로 이어질 수 있기 때문에 책임감을 갖고 만들었습니다.

​

코드가 나오고 조금 어려운 내용도 있었는데요. 사실 여기까지의 복잡한 과정은 소비자가 알 필요는 없습니다. 저희가 해야 할 일은 데이터를 보고, 계산하고, 만들고, 실제로 사용해보면서 더 나은 제품을 만드는 것이니까요. 레이시보는 그렇게 만들어졌습니다. 오늘은 그중에서도 ‘높이’를 결정하는 과정에 대해서 이야기해봤습니다. 다음에는 크기와 각도, 그리고 소재에 대해서도 이야기해볼게요.

 

레이시보 설계 노트 시리즈