rlarlarlathgus의 등록된 링크

키자드에 등록된 총 47개의 포스트를 확인하실 수 있습니다.

Naver Blog

LSTM을 사용한 칼만 필터 오차 보상 - 1(합성 경로 생성)

A Review of Kalman Filter with Artificial Intelligence Techniques 는 AI와 칼만 필터를 결합에 대한 리뷰 논문으로, AI와 칼만 필터의 결합 방법을 4가지로 분류한다. 이번 글에서는 4가지 접근 방법 중 가장 쉬운 오차 보상 방법을 다루려고 한다. Fig. 1 Flow diagram of AI error compensation in constant velocity model-based Kalman filter. Fig. 1은 오차를 예측하는 AI를 등속도 모델 기반 칼만 필터와 결합하여, 상태를 추정하는 프레임 위크를 나타낸다. AI는 LSTM을 사용하며, 칼만 필터에서 발생하는 오차를 예측하여 칼만 필터 추정값과 더해 최종 추정값을 얻는다. True, Measured, Filtered path generation 우선 참 경로와 관측치를 생성하고, [칼만 필터 4] - 등속도 칼만 필터 글에서 다룬 등속도 기반 칼만 필터를 사용

Naver Blog

LSTM을 사용한 칼만 필터 오차 보상 - 2(학습 데이터 셋 구축)

[LSTM 칼만 필터 1] - 합성 경로 생성에서 생성한 합성 경로는 하나의 경로이다. LSTM 학습 데이터 셋을 구축하기 위해서는 여러 개의 경로를 생성하고, 시퀀스 길이에 맞춰 데이터 구조를 재설정 해야 한다. Fig. 1 은 합성 경로를 생성하여, 시퀀스 길이에 맞춰 학습 데이터 셋을 만드는 과정을 나타낸 그림이다. Fig. 1 Process of generating training data. 입력 데이터, 시퀀스 길이, 슬라이딩 윈도우 스텝 사이즈 설정 우선 LSTM 입력 변수, 시퀀스 길이, 데이터의 중복 방지를 위한 슬라이딩 윈도우의 스텝 사이즈를 설정해야 한다. LSTM 입력 데이터로는, 칼만 필터의 상태 변수인 x 위치, y 위치, x 방향 속도, y 방향 속도와 x 위치 관측치, y 위치 관측치로 6개로 설정하였다. Label 데이터는 LSTM이 예측했으면 하는 정답지라고 생각하면 좋다. 내가 설계하는 모델은 칼만 필터의 추정치의 오차를 예측하는 모델이기 때문에 La

Naver Blog

LSTM을 사용한 칼만 필터 오차 보상 - 3 (PyTorch 모델 설계 및 학습)

LSTM 모델 설계 이전 글에서는 학습 데이터 셋을 생성하였다. 이번 글에서는 PyTorch 기반 LSTM 모델을 설계하고, 학습을 진행한다. LSTMModel 클래스는 nn.Module 클래스를 상속받는다. 따라서 우리는 LSTM 모델의 레이어 구성과, 과적합 방지를 고려해야 한다. Fig.1 Schematic of error compenation LSTM network structure Fig. 1은 오차 보상 LSTM 네트워크 구조도이다. 입력 데이터와 출력 데이터를 이해하는데 도움이 될 것이다. import torch import torch.nn as nn # ============== LSTM 모델 정의 ============== # class LSTMModel(nn.Module): def __init__(self, input_dim=6, hidden_dim1=128, hidden_dim2=32, output_dim=2, dropout_rate=0.1): super(LSTM

Naver Blog

LSTM을 사용한 칼만 필터 오차 보상 - 4 (모델 평가)

[LSTM 칼만 필터 1] - 합성 경로 생성 : true_positions, measurements 생성 [칼만 필터 4] - 등속도 칼만 필터 : CVKalmanFilter 클래스, kf 객체 생성 이전 글에 대한 이해가 있다는 가정하에 이번 글을 작성한다. AI 입력 데이터 생성 우선, 등속도 칼만 필터 객체 kf를 생성하고, 초깃값은 참 값에 초기 오차 공분산을 따르는 노이즈를 추가하여 초기화한다. #========== 등속도 칼만 필터 초기화 ==========# kf = CVKalmanFilter(dt, init_sigma_w, sigma_R) # 첫 상태 (x, y, vx, vy)는 실제 위치 + 노이즈를 섞어서 초기화 init_state = np.array([ true_positions[0, 0], true_positions[0, 1], init_vel * np.cos(init_theta), init_vel * np.sin(init_theta) ]) kf.x = np.

Naver Blog

[강화 학습 - 1] 확률적 프로세스(Stochastic Process) 이토 적분(Itô Integral)

강화학습을 공부하기에 앞서 확률적 프로세스가 무엇인지 알아야 한다. 강화학습과 확률적 프로세스 강화학습의 이론적 기반은 마코프 결정 프로세스(Markov Decision Process, MDP)이고, MDP에서 다음 상태 St+1 와 보상 Rt+1 은 현재 상태 St 와 액션 At 에 따라 확률 분포로 결정된다. 즉, MDP 자체가 확률적 프로세스에 해당하며, 강화학습 에이전트는 이 확률적 환경에서 최적 행동을 학습하려고 한다. 에이전트가 탐색을 위해 의도적으로 액션에 노이즈를 섞는 경우도 있다. 연속 행동의 경우 OU 노이즈를 넣는데 이 또한 확률적 프로세스이다. 확률적 프로세스(Stochastic Process)와 확률 미분방정식(SDE) 확률적 프로세스란, 시간 또는 어떤 인덱스를 따라 변화하는 확률변수의 모임이다. 결정론적 미분방정식에 예측 불가능한 잡음이 추가되어, 시간에 따른 상태 xt 가 확률적으로 변해가는 과정을 확률적 프로세스라고 한다. 결정론적 프로세스의 경우 동일

Naver Blog

[강화학습 - 2] OU(Ornstein–Uhlenbeck) 프로세스

[강화 학습 - 1] 확률적 프로세스 글에서 확률적 프로세스와, 이토 적분에 대해 알아보았다. 이번 글에서는 확률적 프로세스의 한 예시인 OU 프로세스에 대해 정리한다. OU(Ornstein – Uhlenbeck) 프로세스 OU 프로세스는 연속 시간에서 평균 복귀 성질을 갖는 확률 프로세스이다. 시간이 지남에 따라 상태라 어떤 평균값 μ 로 되돌아가려는 경향을 보이면서, 그 과정에서 무작위 잡음이 더해져 시계열적으로 흔들리는 형태를 보인다. OU 프로세스는 확률 미분방정식(SDE)으로 다음과 같이 표현할 수 있다. 여기서 xt 는 시간 t 에서의 상태, μ 는 OU 프로세스가 장기적으로 수렴하는 값, θ 는 평균 μ 로 돌아가려는 속도, σ 는 노이즈 항의 변동성, Wt 는 Wiener 프로세스이다. 식을 조금 풀어서 설명해 보면, - 결정론적으로는 xt 가 μ 쪽으로 끌려가는 힘을 θ ( μ - xt ) 받고, - 동시에 무작위 항 σdWt 때문에 불규칙하게 흔들리게 된다. θ 가

Naver Blog

[강화학습 - 3] 결정론적 정책 기울기 Deep Deterministic Policy Gradient, DDPG

칼만 필터의 Q 행렬을 에이전트 액션으로 예측하여, 추정 성능 개선을 목표로 한다. 따라서 연속적인 액션에 적합한 DDPG를 사용하기로 하였다. 우선 DDPG가 왜 연속적인 액션에 적합한지 알기 위해서 확률적 정책과 결정론적 정책에 대한 이해가 필요하다. 확률적 정책, 결정론적 정책 정책(Policy, π)는 에이전트가 주어진 상태에서 어떤 행동을 선택할지를 결정하는 함수이고, 크게 두 가지로 나뉜다. 확률적 정책(Stochastic Policy): 특정 상태에서 행동을 확률적으로 선택 결정론적 정책(Deterministic Policy): 특정 상태에서 항상 같은 행동을 선택 여기서, a는 행동, s 는 상태, θ 는 정책 네트워크의 파라미터이고, DDPG는 결정론적 정책 네트워크를 사용한다. 결정론적 정책을 업데이트하기 위해 결정론적 정책 기울기(Deterministic Policy Gradient, DPG)를 사용하고 다음과 같이 정의된다. 여기서, J (θ)는 목표 함수(보상

Naver Blog

[관내 압력강하 - 3] EMRAX228, BAMOCAR 냉각라인의 압력 강하를 고려한 펌프 선정

이전 글에서 압력강하의 주요 손실과 부차적 손실을 계산하였다. 이번 글에서는 냉각 라인의 모터, 모터 컨트롤러, 라디에이터 등의 요소를 고려해서 전체적인 압력강하를 계산하여, 적절한 펌프를 선택할 것이다. 좌: BAMOCAR, 우: EMRAX228 우선 BAMOCAR 관련 자료에서 LPM에 따른 압력강하를 측정한 자료와, EMRAX228에서 제공하는 매뉴얼에서 7LPM에 해당하는 압력강하를 확인해야 한다. 모터와 모터 컨트롤러의 냉각을 목표로 하는 라인을 병렬로 구성할지 아니면 직렬로 구성할지 고민할 필요가 있다. 모터에서 더 큰 압력강하가 발생하기 때문에, 냉각 라인을 병렬로 구성할 경우, 컨트롤러에 더 큰 유량이 집중되게 된다. 따라서 나는 모터와 컨트롤러의 냉각라인을 직렬로 구성하기로 했고 온도 제한이 더 낮은 컨트롤러를 앞으로 배치하기로 했다. 냉각 라인에 유량을 7LPM으로 설계한 경우, 컨트롤러에서 25.63kPa, 모터에서 90kPa 압력강하가 발생하고 직렬로 연결할 경

Naver Blog

[대학생 자작차 BAMOCAR 모터 컨트롤러 - 5] BAMOCAR CAN 통신 코드

BAMOCAR 모터 컨트롤러를 사용하는 팀이 많을지는 모르겠다. SEVCON gen4를 사용하는 팀은 [대학생 자작차 BAMOCAR 모터 컨트롤러 - 2]을 참고하면 된다. CAN Request 우선 BAMOCAR 매뉴얼에 있는 통신 방법을 살펴보자. 데이터를 요청하는 경우 ID는 RxID, DLC = 3을 사용한다. 이건 어떤 데이터를 요청하던지 동일하다. RxID와 TxID의 경우 매뉴얼에서 찾을 수 있다. RxID: 0x201 TxID: 0x181 조금 특이한게 Byte 1에 해당하는 값을 데이터를 요청하는 경우 0x3D로 통일해야 한다. CAN 요청의 경우 [0x201, 3, 0x3D, 필요한 데이터 ID, 데이터 수신 주기]의 구조로 이해하면 된다. rx = 0x201 byte data[3] = { 0x3D, 0x30, 0x64 }; mcp2515_send(rx, data, 3); //Request SpeedActual 100ms delay(10); data[1] = 0x4

Naver Blog

카이스트 조천식 모빌리티 대학원 - CV작성, 컨택메일

안녕하세요. 우선 저는 중앙대 기계공학부 4학년에 재학 중이고 조천식 모빌리티 대학원 석사과정 국비로 합격한 김소현입니다. 11월 20일에 랩실 배정까지 끝났는데 이제야 합격 후기를 작성해 보려고 합니다. 조천식 관련 자료가 워낙 없어서 저도 입시 과정에서 많이 답답했는데, 내년 입시 준비하시는 분들께 도움이 되었으면 좋겠습니다. 저는 4학년 1학기에 대학원 진학을 결심했는데, 조금 늦게 결정한 감이 있었습니다. 영어 성적도 없어서 어떻게 준비해야 할지 막막했지만, 다행히 결과가 좋아 이렇게 후기를 작성하고 있습니다. 입시 준비를 위해 가장 먼저 카이스트 모집 요강을 확인해야겠죠? 저는 봄학기 입학 1차를 목표로 삼고, 해당 모집 요강을 대학원 입학처 홈페이지에서 다운로드했습니다. KAIST,Office of Admissions,KAIST입학처 KAIST는 여러분이 최고의 도전을 통해 최고의 꿈을 이루는 데 함께 하겠습니다. 큰 꿈을 꾼다면 KAIST에 입학하십시오! 이공계 최고의

Naver Blog

미사일 유도 법칙 - 2(오차 거리), Missile Guidance Law - 2(Miss-distance)

Fig. 1 Engagement geometry. Fig. 1은 평면 교전 기하이다. 이전 글에서 along to LOS, normal to LOS에 대한 설명이 부족한 것 같아 미사일과 타겟의 속도 벡터를 분리해서 표현했다. Vr 은 along to LOS 방향의 접근 속도이고, Vθ 는 normal to LOS 방향의 접근 속도이다. (1), (2)를 미분하여 (3), (4)를 얻고, 양변에 r 을 곱해 (6), (7)을 얻는다. 식 (5)는 이전 글을 참고 바란다. (5)에 앞서 구한 (6)을 대입하고 정리한다. 이후 이를 적분하여 (8)을 얻는다. 식 (8)을 얻는 과정이 이해되지 않는다면 아래 관계를 참고하라. 적분 상수 b 의 경우 초기 조건을 사용하여 b = r0Vr0 로 구할 수 있다. 미사일의 상대 거리가 최소가 되는 시간 tmiss 는 r 의 1차 미분의 값이 0인 시점에서 결정된다. 식 (8)에서 dot{r} = 0 조건을 사용하여 상대 거리가 최소가 되는 시간

Naver Blog

미사일 유도 법칙 - 3(충돌각 제어), Missile Guidance Law - 3(Impact angle control)

Fig. 1 Engagement geometry. 정지 표적의 surface-to-surface 교전에서 요구 충돌각을 만족하는PPN 기반 유도 기법을 소개한다. 기호는 아래와 같다. aM : 미사일 가속도 γM : 미사일 Heading angle γM0 : 미사일의 초기 Heading angle γMf : 미사일의 종말 Heading angle θf : 미사일 요구 충돌각 θ : LOS angle r : 타겟과 미사일의 상대거리 미사일 가속도는 속도 벡터의 수직으로 작용한다. 따라서 PPN 가속도 명령은 식 (12)로 정리할 수 있다. (12) 양변을 초기에서 종말 시간까지 적분을 하고, PPN의 항법 상수 N 으로 정리하여 식 (13)을 얻는다. 종말 단계에서 γMf 은 미사일의 요구 충돌각 θf 과 같은 값으로 수렴해야 한다. 해당 조건을 (13)에 적용하여 (13')을 얻는다. Fig. 1 Target 근처의 미사일을 확인해보면 이해하기 쉽다. γMf 를 기준으로 식 (13'

Naver Blog

미사일 유도 법칙 - 4(충돌각 제어, 시야각 제한), Missile Guidance Law - 4(Impact angle control, look angle constraint)

Fig 1. Engagement geometry. 미사일 유도 법칙 - 3의 충돌각 제어와 함께 시야각 제한을 만족하는 PPN 기반 유도 기법을 소개한다. 정지 표적의 surface-to-surface 교전 상황이며, 기호는 아래와 같다. aM : 미사일 가속도 γM : 미사일 Heading angle γM0 : 미사일의 초기 Heading angle γMf : 미사일의 종말 Heading angle θf : 미사일 요구 충돌각(Desired Impact angle) θ : LOS angle r : 타겟과 미사일의 상대 거리 σ : 시야각(Look angle) σmax : 요구 시야각(Desired Look angle) 앞서 충돌각 제어에서 글에서 항법 상수 N 을 어떻게 세팅하는지에 따라 종말 단계에서 미사일의 충돌각을 제어할 수 있음을 확인하였다. 이번 글에서 "A Bearings-Only Trajectory Shaping Guidance Law With Look-Angle Co

Naver Blog

최소제곱법을 통한 회귀모델 추정(Estimation of Regression Models Using the Least Squares Method) 칼만 필터 - 1

최소제곱법(Least Squares Method)은 주어진 데이터와 모델 간의 차이를 최소화하기 위해 사용되는 수학적 방법으로, 일반적으로 모든 데이터를 한 번에 처리하여 계산을 수행하는 방식으로 이해된다. 이는 재귀적 방식과 대비되며, 잔차(residual)의 제곱합을 최소화하여 회귀 모델을 구하는 데 주로 활용된다. 다음 글에서 최소제곱법을 재귀적 방법으로 확장한다. 이러한 접근법은 나아가 칼만 필터(Kalman Filter)로 확장되며, 칼만 필터는 최소제곱법의 재귀적 형태로 이해될 수 있다. 이름에서 알 수 있듯이 데이터의 잔차(residual)를 최소화하기 위한 기준으로 제곱을 사용한다. 제곱을 사용하므로 얻는 장점은 다음과 같다. 잔차의 부호를 제거해 양수로 계산한다. 큰 오차에 더 큰 패널티를 부여하여 과도한 오차를 피하도록 유도한다. 단점으로, 측정된 관측치 중 이상치에 민감하게 반응한다는 것이다. 우선 0차(Zeroth-order)를 다룬다. 0차 회귀 모델은 상수값

Naver Blog

최소제곱법의 순환적 프레임워크로 확장 (Recursive Least-Squares Filtering) 칼만 필터 - 2

이전 글에서 최소제곱법을 통한 회귀모델을 구하는 방법을 알아보았다. 이제 이를 재귀적 프레임으로 확장하여 필터링의 관점으로 해석해본다. 기존 최소제곱법은 기록된 관측치를 바탕으로 진행되었지만, 재귀적 관점에서 새로 추가된 관측치를 어떻게 추정 상태에 반영할 수 있는지 알아본다고 생각하면 쉽다. 사용하는 기호는 아래와 같다. zeroth-order 최소제곱법에서 추정 상태는 다음과 같이 계산된다. k + 1 스텝에서 새로운 관측치가 들어왔을 때 추정 상태는 다음과 같이 표현된다. 아래 관계를 사용하여 식을 정리하면 다음과 같다. 조금 더 보기 좋게 정리하면 다음과 같다. k + 1 스텝의 추정 상태는 기존의 k 번째 추정 상태와 k + 1 스텝의 새로운 관측치와의 잔차에 gain을 곱한 값으로 계산할 수 있다. 중요한 내용이니 조금 더 풀어서 설명하면, 새로운 추정 상태는 과거 추정 상태와 새로운 관측치를 통해 업데이트될 수 있다는 것이다. k를 0에서 시작하던 방식에서 1에서 시작하

Naver Blog

칼만 필터 (Kalman Filter) - 3

이전 글에서 최소제곱법을 재귀적 프레임으로 확장하여 새로운 관측치에 추정 상태가 어떻게 업데이트되는지 확인하였다. 칼만 필터는 적절한 gain을 선택하여 추정된 상태와 실제 상태 간의 평균 제곱 오차를 최소화하는 방향으로 동작하는 필터이다. 사용하는 기호는 다음과 같다. 칼만 필터는 다음 가정에 기반한다. 상태와 관측값의 불확실성은 가우시안 분포를 따른다. 예측 오차와 관측 노이즈는 서로 독립적이다. 첫 번째 가정을 통해 추정된 분포의 평균은 상태 벡터에 분산은 상태 오차 공분산을 통해 업데이트한다. 두 번째 가정은 이전 글의 센서의 노이즈는 실제 상태와 추정 상태의 오차와 관련이 없다는 가정하에 오차 공분산을 유도한 것과 관계된다. 칼만 필터란 Fig. 1 Gaussian distributions in Kalman Filter: prediction (blue), measurement (green), and optimal estimate (yellow). 1. 예측 단계 (Predi

Naver Blog

등속도 칼만 필터 (Constant Velocity Kalman Filter) - 4 (위치 추정 예제 코드)

앞서 칼만 필터의 기본적인 개념을 확인하였다. 이번 글에서는 등속도 기반 칼만 필터를 사용하여, 모바일 로봇의 위치를 추정하는 예제를 다루려고 한다. 파이썬으로 작성한 코드이고, 우선 라이브러리를 먼저 설치해라. pip install pygame numpy 등속도 기반 칼만 필터 클래스는 초기화, 예측, 업데이트로 구성된다. 2차원 공간에서 등속도 모델의 상태 벡터는 x 위치, y 위치, x 속도, y 속도이다. 관측치의 경우 모바일 로봇의 실제 위치에 공분산 행렬 R을 따르는 노이즈를 추가하여 생성하고, 칼만 필터 업데이트 단계에 입력으로 사용된다. class CVKalmanFilter: def __init__(self, dt, Q, R): """ 상태: x = [px, py, vx, vy]^T 등속도 모델(입력 없음) -> x_{k+1} = A x_k 관측: z = [px, py]^T """ self.dt = dt self.Q = Q self.R = R # 상태 추정값 초기화 s

Naver Blog

확장 칼만 필터 (Extended Kalman Filter) - 5 (위치 추정 예제 코드)

앞서 등속도 기반 칼만 필터를 사용하여, 외부 이동 물체의 위치를 추정하는 방법을 확인하였다. 이번 글에서는 확장 칼만 필터를 사용하여 상태를 추정해 볼 것이다. 확장 칼만 필터란 칼만 필터는 다음과 같은 가정을 기반으로 동작한다. 1. 선형 시스템: 상태 전이와 측정 방정식이 선형이어야 한다. 2. 가우시안 잡음: 프로세스 노이즈와 관측치 노이즈는 평균이 0이고 공분산 행렬 Q, R을 갖는 가우시안 분포를 따른다. 그러나 현실의 많은 시스템은 비선형적 특성을 보이고, 이를 고려하여 칼만 필터의 선형성 가정을 완화하기 위해 확장 칼만 필터(EKF)가 등장했다. 왜 선형 모델과 가우시안 분포인가? 그렇다면 우선 칼만 필터가 왜 선형 모델과 가우시안 분포를 따라야 한다는 가정을 갖는지 알아야 한다. 가우시안 분포의 경우 평균과 분산만을 가지고 분포를 특정할 수 있고, 가우시안 분포를 따르는 두 확률 분포를 더하거나 빼도 여전히 가우시안 분포를 따른다는 특징이 있다. 이에 칼만 필터는 관

Naver Blog

L1, L2 Norm, RMSE 계산하기 (파이썬 코드)

위 그림에서 L1은 파란색, L2는 빨간색 거리를 나타낸다. L1 Norm (Manhattan Distance) L1 Norm은 벡터의 모든 성분의 절댓값 합이다. 두 점 사이의 맨해튼 거리를 나타낸다. 다음 예시는 L1 Norm을 계산하는 파이썬 코드이다. ord = 1을 통해 L1 Norm을 계산할 수 있다. import numpy as np # 벡터 예제 x = np.array([3, -4, 1]) # L1 Norm 계산 l1_norm = np.linalg.norm(x, ord=1) print(f"L1 Norm: {l1_norm}") # 출력: 8 L2 Norm(Euclidean Distance) L2 Norm은 벡터의 모든 성분의 제곱합의 제곱근이다. 두 점 사이의 유클리드 거리를 의미하고, 가장 흔히 사용된다. ord = 2로 지정하거나, np.linalg.norm(x)를 사용하면 기본 값으로 L2 Norm을 계산한다. import numpy as np # 벡터 예제 x =

Naver Blog

Older - Alec Benjamin / 시간이 느리게 흘렀으면..

요즘 내가 질리도록 듣는 노래다. 유튜브 뮤직을 사용하는데 추천으로 처음 듣고는 빠졌다. 경은이랑 달리기하면서 이야기한게 있다. 나는 이제 복학하면 2학년인데 넌 이제 곧 4학년이네 진짜 얼마 안 있으면 넌 사회생활 시작하겠다. 난 무서울 거 같은데 누구든지 변화의 앞에서 두려움이라는 감정을 느낄 거라 생각한다. 지금까지 내가 만난 사람들은 그랬다. 두려움을 느끼기에 변화 후 더 나은 자신을 위해 끊임없이 노력하는게 아닌가 생각한다. 노력은 두려움을 극복하는 방법 중에 하나라 생각한다. 하지만 모두가 두려움을 극복하는 못한다. 아쉽게도 누군가는 변화 후 더 멋있어질 자신의 모습을 보지 못한 채 숨어버린다. 알렉은 어린 시절의 끝을 아쉬워하며 자신이 어른으로서의 변화를 잘 해낼 수 있을지 두려워한다. 이 노래를 듣는 사람이 같은 감정을 느꼈으면 하는 마음에서 이런 노래를 만들었다고는 생각하지 않는다. 오히려 너만 두려움을 느끼는게 아니니 너무 조급해할 필요 없다고 심심한 위로를 건넨다

Naver Blog

정의로운 사회란

대학 교양으로 철학의 세계를 수강 중이다. 고등학생 때도 그렇고 나는 살면서 윤리, 도덕, 철학과는 동떨어진 삶을 살았다. 그래서 궁금하고 내게 부족한 부분이라 생각해 수업을 듣기로 했다. 처음엔 다른 학우들이 나는 처음 듣는 질문에도 막힘없이 대답하는 모습에 위축되기도 했다. 그래도 소모임 활동에서는 나름 열심히 말하며 참여했는데 저번 수업이 기억에 남아 블로그에 남기려고 한다. 정의로운 사회를 설명하라고 하면 쉽지 않다. 정의가 이야기되는 부분이 매우 다양하기 때문이다. 내가 처음 이 질문을 받았을 때 생각한 정의로운 사회는 모든 사람이 자신의 의무를 다하는 사회라고 생각했다. 나와 비슷하게 이런 질문을 받고 정의를 분배에 적용한 사람이 있는데 그가 존 롤스이다. 정의론을 쓴 저자이기도 하며 한 평생 정의를 공부한 철학자이다. 이야기를 하나 해주겠다. 이는 롤스가 정의를 어떻게 생각하는지 아주 잘 설명하는 예시라고 생각한다. 할머니가 집의 낡은 배관을 고치려 배관공을 불렀다. 배

Naver Blog

[대학생 자작차 BAMOCAR 모터 컨트롤러 - 1] MCP2515 CAN 통신 데이터 비트 연산

지금까지는 냉각 라인이 만들어지고 냉각이 잘 되고 있는지를 확인하는 차원에서 리저브 탱크, 모터 컨트롤러, 모터 사이에 센서를 장착하고 이를 아두이노와 연결해 냉각수 온도를 SD 카드에 저장하였다. 하지만 SD 카드에 기록하는 방식으로는 차량 주행 중 냉각이 잘 되고 있는지 확인할 수 없었으며 차량이 정차 시 컨트롤러 박스를 열어 SD 카드를 뽑아 기록된 데이터를 보며 냉각수의 온도를 확인해야 하는 불편함이 있었다. RF 통신을 사용한 차량 상태 모니터링 이에 SD 카드에 데이터를 기록하는 방식이 아닌 RF 통신 모듈을 사용해 슬레이브 보드를 차량에, 마스터 보드는 노트북에 연결해 슬레이브로부터 센싱 되는 데이터를 받고 이를 NODE-RED를 사용해 실시간 모니터링 가능한 방식으로 바꿨고 중간에 MYSQL을 물려 데이터를 저장하였다. 모터 컨트롤러에서 모터에 대한 정보 또한 얻을 수 있다. 이때 컨트롤러 통신 프로토콜이 CAN 통신이라고 하고, MCP2515 모듈을 사용하여 모터 컨

Naver Blog

아두이노 json 파서 사용해서 NODE-RED 연동하기

우선 아두이노 코드 먼저 살펴보자. 슬레이브 보드는 차량에 있고 아래 코드는 NRF통신으로 데이터를 받는 마스터 보드의 코드다. bool is_datapack4 = false; 전역 변수로 처음 거짓으로 초기화 해준다. bool is_datapack8 = false; float datapack[8],datalog[14]; 받아오는 데이터의 양이 많아 슬레이브 코드에서 데이터를 2개의 데이터 radio.read(datapack,sizeof(datapack)); 팩으로 나눠 송신한다. 그리고 2개의 데이터 팩을 구분하기 위한 if (datapack[0]==4){ 식별자는 데이터팩의 0번째 이며 나는 4와 8로 구분했다. datalog[0]=datapack[1]; datalog[1]=datapack[2]; datalog[2]=datapack[3]; datalog[3]=datapack[4]; datalog[4]=datapack[5]; datalog[5]=datapack[6]; datalog

Naver Blog

[대학생 자작차 BAMOCAR 모터 컨트롤러 - 2] SEVCON gen4 CAN 통신 코드

SEVCON gen4 모터 컨트롤러를 사용한 당시 CAN 통신 코드이다. BAMOCAR 컨트롤러도 비슷하다. 이번 글에서는 CAN 통신을 위한 코드를 각 단계별로 설명한다. BAMOCAR CAN 통신 코드는 [대학생 자작차 BAMOCAR 모터 컨트롤러 - 5] 에서 확인하면 된다. setup #include <Arduino.h> #include <TM1637Display.h> #include <SPI.h> #include <mcp2515.h> #include <stdio.h> #include <string.h> #include "RF24.h" #define slave1 0x205 #define slave2 0x114 #define slave3 0x112 RF24 radio(9, 8); //CE, CS uint8_t address[6] = "41715"; MCP2515 mcp2515(10); //cs핀 번호 설정 byte data[8] = {0x00,0x00,0x00,0x00,0x00

Naver Blog

[대학생 자작차 BAMOCAR 모터 컨트롤러 - 3] nRF24L01 양방향 무선 통신

SEVCON gen4 float datapack[8],datapack1[8]; datapack[0]=4; datapack[1]=sen11; datapack[2]=sen22; datapack[3]=sen33; datapack[4]=RPM; datapack[5]=lin_vel; datapack[6]=motor_temp; datapack[7]=heatsink_temp; datapack1[0]=8; datapack1[1]= torque_buff*0.0625; datapack1[2]= torque_demand*0.0625; datapack1[3]= motor_vol*0.0625; datapack1[4]= motor_curr*0.0625; datapack1[5]= batt_vol*0.0625; datapack1[6]= batt_curr*0.0625; datapack1[7]= throttle_input_vol*0.00390625; radio.stopListening(); //송신모드 radio.

Naver Blog

[대학생 자작차 BAMOCAR 모터 컨트롤러 - 4] BAMOCAR Status 데이터 CAN 통신

바모카 상태는 0x40 주소에 할당되어 있다. 바모카에 해당 데이터를 캔통신으로 요청하면 4바이트의 데이터로 응답한다. 4바이트는 총 32비트이며 0과 1의 값으로 해당 상태창의 점등을 나타낸다. byte data[3] = { 0x3D, 0x30, 0x96 }; data[1] = 0x40; mcp2515_send(rx, data, 3); //Request Status 150ms 우선 해당 주소를 요청한다. else if (id == 0x40) { // Status Status1 = ((uint16_t)recv[2] << 8) | recv[1]; Status2 = ((uint16_t)recv[4]<< 8) | recv[3]; } 만약 응답으로 해당 주소 데이터가 들어왔다면 각 Status1, Status2에 리틀 엔디안 순으로 데이터를 담는다. 우리는 datapack을 int16_t로 선언했기 때문에 우선 슬레이브 모듈에서는 2바이트의 데이터를 만든다. uint16_t datapack

Naver Blog

[관내 압력강하 - 1] 주요손실

냉각라인의 압력강하를 계산하는 이유는 펌프와 관련된다. 모터와 컨트롤러의 스팩에 맞는 유량을 공급 가능한 적절한 펌프를 선정하는 과정은 필수이다. 모터와 컨트롤러에서 발생하는 압력강하는 실험적으로 얻은 수치가 매뉴얼에 나와 있다. 아래 사진을 보면 컨트롤러의 압력강하는 최대 56kPa, 모터의 경우 90kPa이 발생한다. 이는 우리가 가지고 있는 펌프의 최대 공급 압력을 넘는 수치이다. BAMOCAR , EMRAX 유량에 따른 압력강하 압력강하는 모터와 컨트롤러에서만 발생하지 않는다. 냉각 호스와 피팅 그리고 라디에이터에서도 발생한다. 이번 글에서는 관에서 발생하는 압력강하를 다룰 예정이다. 아래 공식은 관내 유동에서 발생하는 압력강하를 나타낸 공식이다. l : 관의 길이 D : 관의 내경 ρ : 밀도 v : 유속 f : 관마찰계수 관내 압력강하 공식 관마찰계수를 제외한 나머지 변수는 우리가 알고 있는 변수이다. f는 층류와 난류를 기준으로 구하는 공식이 다르다. 층류와 난류는 레이

Naver Blog

[관내 압력강하 -2] 부차적 손실

관에서 발생하는 압력강하는 주요 손실과 부차적 손실의 합이다. 압력강하 이전 글에서는 관에서 발생하는 주요 손실에 대한 내용을 다뤘다. 이름만 보고 부차적 손실에 대한 중요도를 낮게 보면 안 된다. 어떤 시스템이냐에 따라 충분히 중요도가 달라질 수 있음을 알아야 한다. 주요 손실과 부차적 손실 부차적 손실은 주요 손실보다 식이 간단하다. 상수 K는 피팅의 형상에 따라 결정된다. 7LPM 유량에서 계산한 직관 손실과 부차적 손실의 차이는 미비하다. 또한 전 글에서 레이놀즈 수로 인한 관마찰계수의 변화가 미비하다고 했었는데 이는 무디 선도를 봐도 이해 가능하다. 일정 레이놀즈수 이상에서는 관마찰계수는 변화가 없다시피한다. 20와 70 냉각수 점성도와 밀도로 인한 레이놀즈수는 차이가 많이 나지만 결과적으로 관마찰계수의 값은 동일하다. Bamocar 모터 컨트롤러와, EMRAX 228 모터, 라디에이터, 2개의 펌프를 순환하는 냉각 라인의 손실계수를 20으로 잡았는데 이는 90도 엘보 피팅

Naver Blog

NTC Thermistor 사용해 냉각수 온도 확인하기

NTC Thermistor는 온도에 따라 저항이 바뀌는데 전압 분배 회로와 함께 사용하면 아두이노로 온도를 쉽게 측정 가능하다. 아래는 내가 참고한 영상이다. 위 영상 더보기를 보면 참고 자료로 엑셀을 다운로드 가능하다. Steinhart & Hart 방정식을 사용하기 때문에 내가 측정하고 싶은 온도 범위의 최소 중간 최대 3개의 저항만 확인 후 방정식의 3개의 미지수를 찾으면 된다. 하지만 나는 처음 진행하기 때문에 좀 세세하게 저항을 측정해 봤다. 아래는 내가 구매한 NTC 온도센서의 온도 - 저항 데이터다. 7.5 ~ 80 온도 범위에서 진행했다. 우측 플롯은 내가 직접 확인한 저항과 온도 관계 플롯과 Steinhart & Hart 방정식을 플롯한 그래프이다. 잘 추정하는 것을 확인 가능하다. 다음은 저항 분배 회로에서 고정 저항의 크기를 결정해야 한다. 여기서 부터 내 뇌피셜이다. 우선 고정 저항을 70~10K를 기준으로 아두이노에 측정되는 전압을 계산했다. 아래는 해당 데이

Naver Blog

미사일 유도 법칙 - 1(순수비례항법), Missile Guidance Law - 1(PPN)

Fig. 1 Engagement geometry. 평면 교전 상황에서 미사일 유도 법칙을 알아본다. 아래 첨자 M과 T는 각각 미사일과 타겟을 의미한다. 미사일과 타겟을 잇는 가상의 선을 Line-of-sight(LOS)라고 하고 그 거리를 r, 각도를 θ 로 표시한다. 받음각(angle of attack)이 작다는 가정하에 속도 벡터의 방향(flight path angle)과 동체가 바라보는 각도(Heading angle)가 동일한 방향을 바라본다고 간주한다. Fig. 1에 해당하는 기호는 아래와 같다. aM : 미사일 가속도 γM : 미사일 Heading angle γT : 타겟 Heading angle θ : LOS angle r : 타겟과 미사일의 상대거리 Vθ : Closing velocity along to LOS Vr : Closing velocity normal to LOS 식 (1), (2)는 Fig. 1의 교전 기하를 바탕으로 유도한 kinematic equatio

Naver Blog

[Brief Answers to the Big Questions]

이 책은 신은 존재하는가?, 모든 것은 어떻게 시작되었는가?, 시간 여행은 가능한가? 등 총 10개의 질문으로 이루어져있다. 우리는 한 번쯤 위 질문들을 스스로 또는 누군가에게 던져봤을 것이다. 고등학교든 대학교 교양에서든 우린 빅뱅이란 단어를 들어봤을 것이며, 로또 번호를 타임머신을 타고 가서 알아온다는 생각이나 혹은 지금의 과학으로 도저히 설명이 불가한 영역에 맞닥뜨려 신이라는 존재를 등장시킨 사람도 있을 것이다. 내 고등학교 지구과학 선생님은 신이 아니면 빅뱅과 같은 것들은 설명이 불가능하다고 항상 말씀하셨다. 과학을 공부한 선생님 마저 이 커다란 의문 앞에서 스스로에게 신의 존재를 물어봤을 것이다. 세상엔 아직까진 신이 아니면 설명이 불가능한 것들이 존재한다. 이에 호킹은 생각하고 아직 정답이라 밝혀지지 않았지만 나름의 설명을 해준다. 그래서 이 책이 상당히 흥미로운 것이다. 누구도 정답을 모르지만 우리의 기원 같은 본질적인 질문에 가장 신뢰성 있게 이야기를 해주기 때문이다.

Naver Blog

미국장기국채 금리와 인플레이션

요즘 미국 장기채권 금리 상승이 핫한 주제이다. 사람들은 인플레이션을 걱정하며 채권금리를 이야기한다. 이야기에 앞서 채권을 조금은 이해하고 넘어가야 한다. 채권이란 투자자에게 비교적 장기의 지금을 빌리기 위해 발행한 증서이며 구성요소에는 액면가, 만기일 그리고 쿠폰금리가 있다. 채권은 대출과는 다르게 거래가 가능하다. 거래되는 채권의 시장금리는 쿠폰금리와는 다르다. 채권의 수요가 떨어진 경우 채권의 판매자는 전보다 매력적인 가격을 제시할 필요가 있어진다. 예를 들어 기존 액면가 1억, 1년 만기, 쿠폰금리 5%채권이 시장에서 9천5백만원에 거래되고 있었지만 수요가 줄었다고 하자 그러면 판매자는 채권의 가격을 낮춰 팔아야 할 것이다. 만약 가격을 9천만원으로 낮춰 팔았다면 채권을 구매한 사람은 1년 후 액면가 1억에 쿠폰금리 이자인 500만원을 더한 1억 500만원을 받아 총 1500만원을 벌었을 것이다. 기존에 채권을 들고 있던 사람이 팔지 않고 1년 만기를 기다렸다면 1000만원의

Naver Blog

일본의 잃어버린 20년

다들 일본의 잃어버린 20년이라는 말을 많이 들어 봤겠지만 한때 미국을 넘봤던 경제 대국이 장기 침체기에 빠진 이유는 잘 모를 것이다. 1980년 경제 최고 절정기를 누리던 일본과 반대로 미국은 일본을 상대로 한 무역에서 심각한 적자를 기록하고 있었다. 1985년 G5 정상회담에서 플라자 합의가 성사되고 이는 반전된다. 플라자 합의의 주된 내용은 엔과 마르크 화폐의 가치 평가 절상이다. 미국을 상대로 한 무역에서 흑자를 기록하던 일본엔 치명적인 합의이다. 우리나라 통화인 원을 예시로 들어보자. 환율을 1000원으로 가정하고 국내 A 기업이 미국에 장난감을 개당 50달러에 수출하고 있었다. 이에 따른 이익은 개당 50,000원이다. 이때 원화의 가치가 평가절상되면 기존 1달러를 1000원 주고 사 왔던 것을 1000원 이하의 값을 지불하고 사 올 수 있게 되는 것이다. 예를 들어 환율이 10% 낮아진 900원으로 떨어졌다고 생각하자. 이후 달러를 원화로 환전하게 되면 A 기업은 장난감

Naver Blog

주식기본 용어 설명

주식은 남의 돈을 갖고 하는게 아니다. 각자 기준에 적합한 종목을 찾아 자신의 돈을 투자하는 것이 주식이다. 남이 종목을 추천해 줬거나 유망한 종목을 찾았을 때 이것이 똥인지 된장인지 구별이 가능해야 한다. 주식의 가장 기본이 되는 여러 용어들을 알아야 할 필요가 있다. ROA 총자산순이익률 : 순이익/총자산*100 ROE 자기자본이익률 : 순이익/자기자본*100 참고 [자산 = 자본 + 부채]이다. ROA는 자산 대비 이익률, ROE는 부채는 제외하고 내 순수 자본대비 이익률을 나타내는 용어이다. 자본이 70억 부채가 30억인 기업의 자산은 100억이다. 이때 20년 당기순이익이 10억이라 가정하면 ROA = 10억 / 100억 *100 = 10%이고 ROE = 10억 / 70억 *100 = 14.28%가 되는 것이다. 이 두지표의 분모가 순이익이니 값이 클수록 좋은 것들이다. EPS (Earning Per Share) 주당순이익 : (기업의 당기순이익) /( 총 발행 주식수) A

Naver Blog

[돈으로 살 수 없는 것들]

이 책을 처음 접한 건 창의와 소통이라는 대학 교양과목이다. 제목만 봐서 드는 생각은 감정, 시간, 기억과 같은 추상적인 것들이었다. 그렇게 흥미가 생기는 주제는 아니었지만 수업에 필요한 책이니 읽기 시작했다. 저자는 우리가 시장 지상주의 시대, 거래 만능시대에 살아가며 불평등의 문제인 공정성의 문제, 교환되는 재화의 가치가 훼손된다는 부패의 문제에 직면한다고 한다. 비시장적 규범이 시장 논리에 의해 밀려나고 있다는 사실에는 공감했지만, 시장 논리로 재화를 거래 시 재화의 가치가 훼손된다는 부패의 문제는 이해하기 어려웠다. 저자는 질문의 관점을 '돈으로 살 수 없는 것들'에서 '돈으로 사면 안 되는 것들'로 약간 비튼다. 얼핏 비슷해 보이지만 이 둘은 포함관계이다. 벤다이어그램으로 생각해보면 가장 큰 원은 돈으로 사면 안 되는 것들이고 그 속에 있는 원은 돈으로 살 수 없는 것들이다. 앞서 말한 감정, 시간, 기억은 가장 작은 원에 속해 있고 장기와 성 같은 재화는 돈으로 살 수 있

Naver Blog

남대문 주류상가

위스키 가격은 사는 곳에 따라 차이가 꽤 나는데 제임슨이나 바카디 같은 술은 동네 이마트에서 사는게 가장 좋지만 다양한 위스키 구경에 사장님의 추천도 받을 수 있고 가격도 저렴하게 구입하길 원한다면 남대문 주류상가를 추천한다! 안성상회 이런 느낌 ㅎㅎ 술이 엄청 많다. 주류상가에 가기에 앞서 팁을 주자면 온누리 상품권을 (모바일x) 사가면 10%할인을 받을 수 있다. 난 저번에 30만원을 바꿔 3만원을 돌려받았다. 기본 할인율은 5%다. 할인 판매를 하는 기간이 있으니 확인해 보고 타이밍만 좋으면 은행은 시장 근처에 있으니 들리는 걸 추천한다. IBK기업은행이 가장 가까이 있다. 이제 주류상가를 찾아가 보자. 위치는 남대문시장 대도종합상가 지하에 위치해 있고 대중교통을 이용하려면 4호선 회현역 5번 출구로 ㄱㄱ 쭉 길을 걷다 오른편에 이런 간판을 찾았으면 가운데 계단으로 내려가면 된다. 내려가서 대도종합 지하 수입상가 D동으로 ㄱ 휴가 같이 나가는 동기 꼬셔서 같이 갔다. 형제상회,

Naver Blog

SPAC, 성장주, 기술주의 하락

이번에는 장단기 금리 스프레드와 미국 장기채권 금리 상승이 기술주, 성장주에 미치는 영향을 자세히 살펴보려 한다. 21.03.18 연준 회의 내용을 요약하면 아래와 같다. 1. 금리를 2023년까지 초저금리인 0.00~0.25%로 동결 2. 올해 경제성장률 4.2% -> 6.5% 상향 조정 3. 실업전망 5.0% -> 4.5% 하향 조정 4. 소비자 물가상승률 2.4% 예상 미국 10년 2년 채권 금리 스프레드 코로나로 인해 타격을 받은 기업이 많다. 단기채권 금리는 기준금리에 영향을 많이 받는다. 경기회복을 바라보는 시점에서 기업들은 투자를 위한 돈이 필요하다. 이때 채권시장에서 돈을 빌려오는데 대부분 2년이나 5년 채권을 발행한다고 한다. 연준이 초저금리를 23년까지 유지하는 이유다. 기업들의 이자 부담을 줄여 투자를 활성화시키기 위함이다. 반대로 장기금리는 수요와 공급에 의해 가격이 결정된다. 인플레이션과 경기회복을 예측하는 지금 장기채권의 가격이 떨어져 금리가 오르는 것이다.

Naver Blog

부끄러운 애도 - 댓글시인 제페토

정인이 사건이 일어난 이후 경찰청장이 나와 사죄하고 양천서장이 대기 발령 난다 한들 이미 떠난 정인이에게 누가 위로를 건넬 수 있을까. 아동학대로 신고해도 상처가 없다는 이유로 넘어가는 경찰과 양부모 말만 믿고 외면해버린 전문기관, 16개월의 아이의 편이 있었나 싶다. 수많은 골절과 장기가 찢겨 피가 들어찬 배, 그 어린아이가 감정을 표현하지 않을 정도로 몸과 마음에 상처가 쌓여 외로이 앉아있는 모습에 눈물을 참을 수 없었다. 하나의 짧은 삶이 학대라는 기억과 세상 모두가 자신에게 등 돌린 기억이 전부였던 아이 도움을 줄 기회가 있었지만 놓친 지금 우리가 목놓아 울어봐야 이미 떠난 아이에게 무슨 위로가 되는가. -- 아래 시는 댓글시인 제페토의 [부끄러운 애도]라는 시다. 한번 읽어보기 바란다. 연민이 봄볕 같아도 분노가 불볕 같아도 네가 묻힌 땅은 얼음장이다. 세상에 영혼이란 것이 있다면 또래의 입김에 섞이어 눈 덮인 놀이터를 선회했을 테지만 무슨 수를 써도 너는 돌아올 수 없다.

Naver Blog

SLR 규제

[SLR규제, 보완적 레버러지 비율] 일정 자산 이상의 미국 대형은행들에 적용되는 레버러지 비율로 만약의 경우를 대비해 위험자산과 자기자본의 비율을 3% 이상으로 규제하는 제도이다. 자기자본 / 위험노출 자산 ≥ 3% 위험노출 자산에는 ( 국채, 대출, 파생상품 등) 예를 들면 자본 3억의 은행이 위험자산에 투자 가능한 최대 금액은 100억이 되는 것이다. 은행들의 수익을 위한 마구잡이 대출이나 투자를 막고 금융위기 시 투자 상품의 손실이 커질 경우를 대비한 규제이다. 코로나 이후 미국 연준은 위험노출 자산에서 채권과 지급준비금을 제외해 규제를 완화해 줬다. 연준이 부양책을 위해 발행하는 채권을 누군가 사주길 바랬고 그걸 시중 은행으로 설정한 것이다. 지급준비금은 만약에 내가 은행에 100만원을 예금했는데 은행이 이 돈을 모두 투자했을 경우 내가 돈을 되찾기가 어려워진다. 따라서 예금의 일정 비율은 지급할 수 있게 중앙 은행에 예치해야 한다. 지급준비금의 비율을 낮추게 되면 은행은

Naver Blog

The Way You Felt

내가 가장 좋아하는 가수 알렉 벤자민( Alec Benjamin ) If I Killed Someone For You라는 노래를 시작으로 빠졌는데 목소리도 좋고 가사 정말 대박이다. 딱 내 상황을 대변해주는 노래였는데 옛날 이야기다. The Way You Felt 는 21.04.30 일에 나온 신곡인데 가사 해석이 별로 없어 나도 도전해보려고 한다. 한국어로 번역하면서 최대한 느낌을 살리려 노력했는데 가사 해석도 처음이고 내가 영어를 잘하지 못하는 관계로 정확하지 않을 수 있다. The way you felt in my arms Our chemistry was sacred Oh I fell for your charm I was so infatuated But you left me in the dark And my heart completely vacant now I don’t know 네가 내 품에 있을 때 느꼈던 것처럼 우리의 화학반응은 신성했어 오, 난 너의 매력에 빠져 완전 반

Naver Blog

유격훈련

21.03.05~21.03.09 먼저 영내에서 유격체조를 배웠는데 8번이 정말 욕 나온다. 정신놓고 숫자 틀리는 전우들 덕분에 얼차려로 8번만 주구장창 했다. 이후 산악구보를 갔는데 나름 재밌었다. 유격체조보단.. 곰배산 정상에서 중대원들과 찍은 사진 이번 유격 기간 동안 찍은 사진 중에 가장 마음에 든다. 이틀 동안 영내 훈련을 마치고 군장을 챙겨 유격장으로 이동했다. 원래 입소행군 도 있었는데 취소되고 퇴소행군 40km만 있다고 들어 행복했다. 가자마자 유격체조를 곁들인 입소식을 하고 산악코스를 타러 갔는데 외줄타기 코스에서 사타구니가 갈려 없어지는 줄 알았다. 훈련 사진이 없어서 아쉽다 ㅠㅠ 생각보다 유격 동안 시간은 빨리 갔다. 숙영지 시설이 구려서 힘들었는데 가장 힘든 건 화장실이었다. 아침에 엄청난 줄을 보면 똥이 나왔다가도 들어간다. 숙영지 이번 유격을 3대대와 같이 했는데 내가 잤던 곳은 호텔이었다. 3대대 친구들은 플라스틱 팔레트 위에서 잤다. 행군 전 유격장 퇴소식

Naver Blog

2021.09.24

13:00 운동 가기 전 요즘은 아침 10시에 눈이 떠진다. 군대에 있을 때는 6시 기상했는데 벌써 늦잠 자기 시작했다. 요즘 내 하루 일과는 너무 심심하고 단순하다. 10시에 일어나 늦은 아침을 챙겨 먹고 1시에 운동을 간다. 오랜만의 나시를 입었다. 아직 헬린이지만 그래도 입어준다. 먼저 벤치프레스 6세트로 시작한다. 빈 봉 / 50 / 80 / 80 / 75 / 70 이렇게 야무지게 가슴을 조져준다. 일병 때 처음 벤치 80을 들었을 때 엄청 신나했는데 이제 80으로 8개씩은 나온다. (2세트 밖에 못하는 건 비밀) 다음 운동으로는 덤벨 프레스, 인클라인 벤치프레스, 인클라인 덤벨 프레스 그리고 플렛 덤벨 플라이랑 덤벨 크로스 오버는 같이 진행한다. 오늘은 가슴과 삼두를 혼내줬다. 삼두는 2가지 운동만 했는데 오랜만에 해서 그런지 너무 힘들었다. 요즘 운동하면 1000칼로리 정도 소모하는데 나름 잘 되는 것 같다. 애플워치가 상당히 쓸모없는데 활동 기록은 나름 쓸만하다 운동 중

Naver Blog

바디프로필

첫 다이어트 소주 맥주 막걸리 위스키 피자 치킨 떡볶이 대신 단호박 고구마 닭가슴살 제로콜라 유튜브 넷플릭스 대신 사이클 런닝머신 포기한 것들로 우울하지 않았다. 체지방이 줄어들고 선명해지는 내 모습에 오히려 행복했다. 바디프로필을 위한 운동이 아니라 운동을 함에 있어 색다른 이벤트였다. 내년엔 이 사진을 자랑했다는 사실이 부끄러워지게 더 노력하자.

Naver Blog

이해

오랜만에 군대 동기들을 만나기 위해 M2323에 올랐다. 운이 좋아 맨 앞자리에 탈 수 있었는데 문득 큰 창으로 여러 자동차가 달리는 모습을 보니 기억 하나가 떠올랐다. 논산 훈련소에서 훈련교장을 가기 위해 건너는 육교가 하나 있는데 아래로는 자동차가 빠르게 달린다. 나는 버스나 자동차를 타고 여행 가는 걸 좋아한다. 그렇기에 육교를 지나갈 때마다 빠르게 달리는 자동차에 타있을 누군가를 부러워했다. 하지만 한편으로는 '나는 왜 여기에 갇혀서 자유를 빼앗겼을까?'라는 생각이 머릿속에서 맴돌았다. 나는 군대에 와서 가족과 같이 보내는 시간, 가끔은 여유롭게 늦잠을 자거나 친구들과 늦게까지 떠들며 술을 마시던 시간의 소중함을 깨달았다. 그러나 이 감정은 점점 시간이 지남에 따라 그리움에서 분노로 바뀌어갔다. 군대에선 여러 상황에서 선택을 쉽게 강제 받아 가며 선택의 주체가 내가 아님을 서서히 깨닫는다. 그리고 당연했던 것들이 한순간에 당연하지 않게 됨으로 오는 박탈감은 쉽게 분노라는 감정

Naver Blog

맥캘란 12년 쉐리 캐스크

홍대 라이즈 호텔 15층에 위치한 사이드 노트 클럽에서 맥켈란 12 쉐리 캐스크를 처음 마셔봤다. 오픈하고 바로 마셔 에어링이 안된 상태에다가 홍대까지 가는 길이 피곤했는지 첫 잔은 기대 이하였다. 내 기준으로는 글렌피딕과 글렌드로낙의 중간이라는 느낌이 왔다. 피딕보단 드로낙이 좀 더 묵직하다고 생각하는데 맥켈란은 드로낙보단 가벼우면서 피딕보단 묵직했다. 지금 글을 쓰면서 드는 생각인데 에어링 된 맥켈란이 너무 궁금하다. 돈 많이 벌어서 집에 다 사두고 비교하면서 마시고 싶다... ㅜㅜ 니트로만 마시다 중간에 위스키 사워를 주문했다. 레몬즙과 달걀 흰자가 들어가는 칵테일이다. 달걀 흰자가 들어가 비린맛이 날 것 같지만 레몬의 신맛과 위스키의 향에 비린맛은 없고 크리미한 느낌만 남아있어 좋았다. 또 비터가 없는 부분과 있는 부분이 나눠있어 비교하며 마시는 재미도 있었다. 위스키 사워 강추한다. 위스키의 향도 살아있고 특히 부드러운 목 넘김이 정말 좋았다. 안주로는 맥엔치즈 버거와 퀘사

Naver Blog

포트폴리오 다각화

지금 내 총자산은 1800만원 정도이다.입대 전 알바, 대학교 등록금, 긱사비 그리고 군 월급을모았더니 이만...

Naver Blog

글렌피딕12

글렌피딕은 누군가 나에게 위스키를 추천해달라 하면 가장 먼저 떠오르는 위스키다. 싱글몰트 위스키로는 ...

1