Upgrade to Pro — share decks privately, control downloads, hide ads and more …

筋トレを習慣化させる テクノロジー

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for naokia naokia
December 06, 2018
980

筋トレを習慣化させる テクノロジー

Avatar for naokia

naokia

December 06, 2018
Tweet

Transcript

  1. ࣗݾ঺հ w Ѫౠ௚थ ͋ͨ͗ͳ͓͖  w UXJUUFS!OBPLJB w ΤϯδχΞɻ"TL%PDUPSTͱήϊϜؔ࿈αʔϏε୲౰ w

    3VCZ +BWB +4ͳͲීஈ৮ͬͯ·͢ w झຯ͸৯΂า͖ͱిݯΛ࢖Θͳ͍ήʔϜ
  2. ػೳ w J1IPOFΞϓϦͰϢʔβʹ݄ऩ खऔΓ ͱɺΫϨδοτΧʔυ৘ ใΛೖྗͤ͞Δ w ےτϨͨ͠ࣄ͕ࣗݾਃࠂͩͱڏِͷਃࠂ͕ՄೳͳͷͰɺ"QQMF 8BUDIͰےτϨͷϞʔγϣϯΛݕ஌͠ɺه࿥Ͱ͖ΔΑ͏ʹ͢Δ w

    ےτϨͱ͍ͬͯ΋͍Ζ͍Ζϝχϡʔ͕͋Δ͕ɺͱΓ͋͑ͣෲے͕ ه࿥Ͱ͖Ε͹ྑ͠ͱ͢Δ w िʹೋճҎ্ɺه࿥͕ߦΘΕͳ͔ͬͨΒɺೖྗ͞Ε݄ͨऩʹԠ ͯ͡ɺࣗಈతʹΧʔυ͔ΒҾ͖௨͠Λߦ͏
 ʢϓϩτλΠϓͰ͸͜͜͸ະ࣮૷
  3. σόΠεͷϞʔγϣϯΛर͏ ͨΊͷϋϯυϥΛొ࿥͢Δ let motionManager = CMMotionManager() motionManager.deviceMotionUpdateInterval = 1.0 /

    50 // 50hz motionManager.startDeviceMotionUpdates(to: queue) { (deviceMotion: CMDeviceMotion?, error: Error?) in if deviceMotion != nil { self.processDeviceMotion(deviceMotion!) } }
  4. σόΠεͷϞʔγϣϯΛर͏ ͨΊͷϋϯυϥΛొ࿥͢Δ let motionManager = CMMotionManager() motionManager.deviceMotionUpdateInterval = 1.0 /

    50 // 50hz motionManager.startDeviceMotionUpdates(to: queue) { (deviceMotion: CMDeviceMotion?, error: Error?) in if deviceMotion != nil { self.processDeviceMotion(deviceMotion!) } }
  5. ճస཰ͷมԽΛݕग़͢Δ let pitchThreshold = 1.95 // Radians let rateThreshold =

    3.5 // Radians/sec func processDeviceMotion(_ deviceMotion: CMDeviceMotion) { let rotationRate = deviceMotion.rotationRate let rateX = rotationRate.x // rateBuffer͸1ඵؒ෼ͷճస཰Λ഑ྻͰอ͍࣋ͯ͠Δ(50hzͳͷͰ50Πϕϯτ෼) rateBuffer.addSample(rateX) if !rateBuffer.isFull() { return } let accumulatedPitchRot = rateBuffer.sum() / 50 let peakRate = accumulatedPitchRot > 0 ? rateAlongGravityBuffer.max() : rateAlongGravityBuffer.min() if (accumulatedPitchRot > pitchThreshold && peakRate > rateThreshold) { incrementCountAndUpdateDelegate() } if (recentDetection && abs(rateBuffer.recentMean()) < resetThreshold) { recentDetection = false rateAlongGravityBuffer.reset() } }
  6. ͦΕͬΆ͘ෲےΛΧ΢ϯτͰ ͖ͯ͸ྑ͍͕ɾɾ w ࢲͷෲے͔ͩΒ͏·͘ճ਺Χ΢ϯτͰ͖ͯΔ͚Ͳɺ΋͏গ͠ νϡʔχϯάͷ༨஍͸͋Δؾ͕͢Δ w צͷྑ͍ਓ͸͓෼͔Γͷ௨Γɺ࿹Λ͙ΔΜ͙ΔΜ͢Ε͹ෲےͨ͠ ͜ͱʹͳͬͯ͠·͏ w αʔϏεతͳ໰୊ɻ


    ΋͠िೋճͷෲے͕ߦΘΕͳ͚Ε͹ɺϢʔβʹొ࿥ͤͯ͞ΔΧʔ υΛ࢖ͬͯҾ͖མͱ͕͠ߦΘΕΔ͕ɺܾࡁʹ༻͍͍ͯΔ4USJQFͷ ౎߹Ͱɺৼࠐઌ͕ࢲࣗ਎͔͠ࢦఆͰ͖ͳ͍
 

  7. ͦΕͬΆ͘ෲےΛΧ΢ϯτͰ ͖ͯ͸ྑ͍͕ɾɾ w ࢲͷෲے͔ͩΒ͏·͘ճ਺Χ΢ϯτͰ͖ͯΔ͚Ͳɺ΋͏গ͠ νϡʔχϯάͷ༨஍͸͋Δؾ͕͢Δ w צͷྑ͍ਓ͸͓෼͔Γͷ௨Γɺ࿹Λ͙ΔΜ͙ΔΜ͢Ε͹ෲےͨ͠ ͜ͱʹͳͬͯ͠·͏ w αʔϏεతͳ໰୊ɻ


    ΋͠िೋճͷෲے͕ߦΘΕͳ͚Ε͹ɺϢʔβʹొ࿥ͤͯ͞ΔΧʔ υΛ࢖ͬͯҾ͖མͱ͕͠ߦΘΕΔ͕ɺܾࡁʹ༻͍͍ͯΔ4USJQFͷ ౎߹Ͱɺৼࠐઌ͕ࢲࣗ਎͔͠ࢦఆͰ͖ͳ͍
 ˠظͤͣͯ͠ϏδωενϟϯεΛ૑ग़ͯ͠͠·ͬͨ