'칼로리'에 해당되는 글 1건

  1. 2011.03.18 GPS, 자전거 주행, 칼로리 계산 4

상오기님 사이트에서 BikeTrack이란 프로그램 소개를 보니 칼로리를 출력하는 부분이 있다. 아마도 자전거 주행의 칼로리 소비량을 계산하는 간단한 방식을 이용하는 것으로 추측된다. 간단히 말해, 두 가지 중요한 팩터가 빠져 계산이 맞을 리가 없다. 

자전거 주행은 페달을 밟아 동력계를 움직여 지면 마찰을 이용해 앞으로 나아가는데 1. 경사로를 달릴 때 중력의 영향을 받고, 2. 유체(공기) 속을 진행하므로 공기 저항을 받는다. 3. 타이어가 노면에서 마찰을 일으켜 진행하므로 마찰력의 영향을 받기도 한다. 그 결과로 뱃살이  쭉쭉 빠져야 하는데, 달리는 만큼 더 먹게 되어(아울러 기초대사량이 늘어) 살이 안 빠지는 아저씨들이 많다.  

경사로가 업힐일 때는 몸무게에 비례해 뒤로 끌어당기는 힘이 크게 작용하지만 다운힐에서는 동력이 소비되지 않을 수 있다. 공기 저항은 면적에 비례하고 속도의 제곱에 비례한다. 뿐만 아니라 바람에 맞서면 당연히 더 힘들고 바람을 등지면 항력이 감소한다(마이너스가 되기도 한다. 샤방샤방 주행). 속도와 무게는 아주 중요한 팩터다. 몸무게가 줄면 덜 힘들다. 자전거가 가벼우면 덜 힘들다. 마찰계수가 작으면 덜 힘들다. 힘 좋은 아저씨들이 용을 쓰며 조금 앞서서 아줌마들과 200km를 함께 달려도, 아줌마들이 덜 피곤한 이유가 그 때문이다.

중력, 공기저항, 마찰력에 더해 자전거의 동력계 손실(좋은 자전거와 덜 좋은 자전거의 차이)과 근육의 ATP 소비에 따른 동력 손실을 감안하면 칼로리 계산이 그렇게 간단히 끝날 리가 없다. 

바이크트랙이나 엔도몬도 등의 프로그램이 출력하는 칼로리 소비량은 믿을 수 없지만, 자전거 타기가 걷기뛰기보다 칼로리 소비가 더 크고 더 많은 운동량을 필요로 한다는 점은 변하지 않는다 -- 선수가 아닌 한 아무리 빨리 뛰어봤자 자전거보다는 느리기 때문에 공기저항에 따른 항력이 속도 제곱에 비례해 더 작기 때문. 

공기 저항은 공기 밀도에 의해 결정되고 공기 밀도는 대기압에 따라 달라진다. 따라서 고도가 높으면 공기 저항은 감소한다. 그리고 맞바람은 주행속도를 깎아먹는다. 맞바람을 맞으면서 해수면에서 1500m 정상까지 업힐을 꾸역꾸역 오르다보면 존재론적 회의가 샘솟는 이유가 그래서다.

어느 정도 쓸모있는 칼로리 계산을 해보려고 심심풀이 삼아 웹을 뒤져 정리:
  • 공기저항: Fw = 1/2 x A x Cw x D x V^2
    A: Frontal Area (진행 방향으로 공기가 닿는 면적) 0.4~0.7
    D: 공기 밀도(Rho) 
    Cw: Drag Coefficient. 보통 0.5 (Cycle 0.36, 하이브리드 0.45, MTB 0.7, 투어 바이크 0.8)
    V: 속력 (시간당 이동거리)

  • 마찰: Fr = G * W * Cr
    G: 중력 상수. 9.81
    W: 자전거와 라이더의 무게를 합한 것
    Cr: 구름저항상수 (타이어와 도로 상태로 정해짐) 나무길 0.001, 콘크리트: 0.002, 아스팔트: 0.004, 울퉁불퉁한 포장길: 0.008. 
     
  • 중력: Fg = G * W * S 
    G: 중력 상수. 9.81
    W: 자전거와 라이더의 무게를 합한 것
    S: slope. 높이/이동거리.
     
  • F = Fw + Fr + Fg (watt)
  • 초당 칼로리 소비량 = F * 859 / 3600 / 1000 (Kcal/sec)
공기 밀도 얻기: 참조(http://wahiduddin.net/calc/density_altitude.htm)
  • D = P / (R * T)
    D: 공기밀도 kg/m3
    P: 압력(대기압) pascal (millibar * 100)
    R: 가스 상수 J/(kg*K). 287.05
    T: 온도. 섭씨+273.15
  • 예:섭씨 18도, 1020 hPa 일 때 공기밀도= 102000 / (287.05 * (18 + 273.15)) = 1.220
  • 고도에 따른 기압 변화: p = 1013.25 * (1 - h / 44330.76)^5.255879746 (사이트 참조)
자전거 주행 속도는 바람 방향의 영향을 받는다. 주의: 힘의 크기를 구할 때, 맞바람일 때는 속도에서 더해져야 하고, 등질 때는 속도에서 빼야 한다. 전세계의 weather station으로부터 수집한 풍향 및 풍속 정보를 얻을 수 있는 곳을 찾아 보았다. 무료로 제공하는 사이트가 있다. 

일자별 기온,기압,풍향,풍속 정보 얻기 #2 (airport) (CSV 포맷)

이들 정보를 바탕으로 그나마(상대적으로) 정확한 칼로리 계산 프로그래밍 하기:
  • 입력 상수: 한 번 입력되면 그다지 변경될 일이 없는 정보
    자전거 종류 -> Cw
    자전거 무게 -> W
    사용자 몸무게 -> W
    전면 면적 -> A
  • 입력: GPX 등의 표준 포맷으로 입력받아 일괄 계산하거나, 실시간 계산할 때는 GPS 디바이스의 NMEA 출력 중 현재 측점과 이전 측점(n-1, n)이 필요.
  • Data Repositary: 풍향,풍속 정보를 얻기 위한 스테이션 위치 정보는 웹 사이트를 통해 매 번 query할 필요 없이 리포지터리 형태로 가지고 있으면 된다. 웨더 스테이션이 이리 저리 돌아다니는 것이 아니라서, 한 번 설치하면 위치가 변경될 일이 극히 드무니까. 
    또한, GPS는 3D fix가 제대로 되지 않는 경우가 많고(위치 오차가 현저하고), 스마트폰에는 기압고도계 등의 정밀 고도계가 달려 있을리 만무하므로 현 경위도로부터 정확한 고도 정보를 알아내기 위한 DEM 파일이 필요. 한반도, 10mx10m 짜리 .bt 포맷 파일의 경우 약 870MB가 필요한데(작년에 필요해서 만들어봤다), 이런 걸 스마트폰에 넣고 다닐 사람들이 있을까? 웹으로 query 하려면 일정 시간 마다 측점 리스트를 보내 해당 경위도의 고도를 얻어와서 부하를 줄이던가 하는 방법을 사용. 풍향/풍속과 고도를 통해 알 수 있는 두 측점간 도로의 기울기는 속도와 중력의 영향이라는 자전거 라이딩을 무척 힘들게 하는 두 팩터를 알아내기 위해 반드시 필요한 정보.
칼로리 계산: 다음을 반복.
  • n-1번째 GPS 측점을 얻음 -> P
  • n번째 GPS 측점을 얻음 -> Pn 
  • P, Pn의 고도를 DEM으로 결정 
  • P, Pn으로 S (slope) 계산. S가 0보다 작으면 칼로리 계산에서 제외(?)
  • P 지점에서 가장 가까운 weather staion 2개로부터 시간을 감안해 풍향 벡터를 보간해서 구하고 풍속 역시 얻어온다.
  • P, Pn으로 벡터 구성하고 풍향 벡터와 풍속을 감안해 속력 계산 -> V
  • P의 고도 및 온도, weather station의 기압 등의 정보로 공기밀도 계산 -> D
  • 칼로리 계산 -> F
안드로이드용 프로그램을 짜볼까 하다가, 일단, 돈이 안 되고, 하는 일이 바빠서 미뤘다. 게다가 누가 그나마(?) 정확한 칼로리 계산에 관심이 있을까, 의구심이 들었다.

칼로리 계산 보다는 실시간 고도 측정이나, 풍향/풍속 등 라이딩의 질(?)을 좌우 하는 요소들에 더 관심이 있을 것 같다. 이를테면 어떤 경로의 업힐, 다운힐 구간을 미리 알아내거나, 트랙 정보를 바탕으로 업/다운 고도 합계를 구하고 풍향/풍속 정보를 바탕으로 라이딩의 난이도를 자동으로 결정해 보여주는, 무척 실용적인 용도로 말이다. 

그냥, 무의미한 수치를 출력하는 여러 프로그램에 심술이 나서 부리는 오덕질이다. 

랜스 암스트롱을 대상으로 수행한 연구 활동으로부터 Edword F. Coyle은 몇 가지 주목할만한 발견을 했다.  코일 박사의 얘기 중 요점을 정리하면:
  • 장기간 주행에서 탄수화물의 섭취는 근피로를 지연시킨다. --> 라이딩 중 가끔 에너지바를 섭취하면 덜 피곤하다.
  • 주행중 탈수는 심혈관 장애를 일으키며, 피부 혈류 흐름을 감소시킴으로써 심각한 고열을 유발한다. --> 한여름에 바보같이 이 지경이 되도록 주행하고 뻗고는 했다. 낙타도 아닌데 꼭 물을 마시자.
  • 소위, 피빨기는 라이딩의 고통을 무려 1/3이나 줄여준다. --> 코일 박사의 발견은 아니지만 중요해서 적었다. 비슷한 속도로 달리는 자전거 뒤에 붙어 피빨기를 하면 아주 편하다는 상식이다.
참고 사이트


,