2015년 3월 22일 일요일

Making Tensegrity


Tensegrity가 무엇인지에 대해서는 다음 참고.


간단히 만들기 위해 기본단위가 되는 스트럿(Strut)을 먼저 제작했다.


생각보다 알맞는 Strut을 제작하기가 어려웠는데,
이유는 빨대의 강도가 낮아서 고무줄이 당겨지면 버클링 되어 버리기 때문이었다.
일반적인 고무밴드와, 
이에 맞도록 버클링되지 않는 수준으로 적절한 빨대 길이를 몇번의 시행착오끝에 찾았다.
빨대 길이는 9cm로 하면 된다.

가위로 빨대의 양 끝을 약 1cm 가량씩 가운데를 따준다.
고무줄을 끼우기 위해서다.
그리고 고무줄을 위 사진과 같이 전부 끼워준다. 



그리고 이런 Strut을 많이 만든다.
약간의 노가다의 압박이 있긴 하지만
다른 방식으로 수선을 떨면서 돈들여 Strut을 만드는 것 보다
빨대에 칼집만 내면 되도록 많이 간단하기 때문에
감사하게 생각하는게 낫겠다.


먼저 가장 만들기 쉬운
6-Strut Icosahedron (스트럿 6개짜리 정20면체)을 만들어 본다.
이걸 만드는 방법은 Youtube 같은데 보면 잘 나온다.

우리나라 사람이 만든 동영상
요건 한국말로 해서 좋긴 한데, 만드는 순서가 좀 희안하게 되어 있다.

이쪽 동영상이 좀 더 참고가 된다.


암튼 쉬운거 해 봤으니 좀 복잡한 거에 도전해 본다.
30-Strut Dodecahedron (스트럿 30개짜리 정12면체)...

만드는 순서는 이런 걸 참고하였다.


헐 어렵네...



막 헷갈리기 시작한다.



어찌어찌 다 연결은 했는데
팍삭 찌그러진 모양이 되었다.
모양을 예쁘게 잡으려면 고무줄 길이를 상당히 정교하게 통제할 필요가 있을 것 같다.
귀챦아서 그냥 둠.



그래도 자꾸 보니 정이 든다.



헥헥헥...


암튼 다 만든걸로 탱탱함을 검증해 본다.







하지만 찌그러진 모양이 마음에 안 든다.
내구성도 안 좋다...

그래서 다음 날 새로 재조립...



고무줄이 빠지지 않도록,
종이테잎으로 일일이 꼭지점들을 모두 둘둘 감아 막아버렸다.
고무줄 길이도 좀 주의하면서 잘 맞춰 보았다.
그러니깐 모양이 좀 나은 것 같다.

이제 이걸로 테스트...



찌그러짐과 내구성을 한 번 살펴보고...



드랍 테스트.



적당한 빨대를 마트에서 사준 마눌님에게 감사를 드린다.


Tensegrity에 관한 정보가 종합적으로 제일 잘 정리된 곳은
이곳인 듯 하다.

Robotics에 응용하는 곳은 버클리대 BEST 연구팀과
그로부터 파생된 NASA SuperBall Bot 같은 것들이 해외토픽 같은데서 최근에 나왔다.


Tensegrity Robotics는 나도 오래전부터 구상은 해 왔지만 
몇가지 치명적인 현실적 문제가 걸림돌이 되는 것 같다.


1. 와이어의 텐션을 조절하는 직동 액츄에이터가 필요하다.
그런데 이것의 요구 사양이 상당히 까다로와진다.
장력 측정 센서 내지는 최소한 위치센서 같은건 필수로 있어야 할 거고...
아주 컴팩트하면서 매우 높은 장력을 버텨낼 수 있는 신뢰성이 요구된다.
현재까지 이런 요구조건을 만족하는 제품은 없으므로,
직접 개발할 필요가 있는데 설계적으로 간단한 문제는 절대 아니다.

2. 자유도가 너무 높아진다.
물론 장력이 분산되므로 각 액츄에이터에 가해지는 부하는 줄어들지만,
자유도가 높은 만큼 사용되는 액츄에이터의 개수가 많아지게 된다.
이는 몇가지 파생 문제점을 만들어낸다.
제어가 복잡하고 어려워지고,
액츄에이터 개수만큼 제작 원가가 올라가며,
케이블링 복잡도도 기하급수적으로 올라간다.

3. 해석이 어렵다.
자유도가 높은 만큼, 해석하는데 들어가는 계산량도 그만큼 올라간다.
일종의 유한요소해석(FEM)을 매 제어시간(Iteration Time)마다
실시간으로 수행해야 하는 꼴일 것이다.
이렇게 되면, 동적인 전체 제어(Dynamic Whole-body Control)은
일반적인 다른 로봇보다 훨씬 더 어려워질 것이다.

4. 조립이 어렵다.
부품개수가 매우 많아지고, 조립방법이 헷갈리기 때문에
숙련된 사람이 아니면 하기 어렵다.



그럼에도 불구하고, 구조 자체가 가지는 거부할 수 없는 매력 덕분에
연구자들의 관심을 오랫동안 끄는 것 같다.


1. 매우 가볍다.
대체로 다른 트러스구조에 비해 중량을 40% 수준까지 더 경감 가능하다고 한다.

2. 내충격성이 매우 좋다.
장력 와이어가 충격을 전부 받아줄 뿐만 아니라,
충격은 전체 구조로 분산된다.

3. 수학적으로 아름답다.
대칭성, 규칙성 때문에 아름답다고 느껴진다.


결국 BEST나 NASA에서 찾아낸 어플리케이션은
토성의 위성인 타이탄을 탐사하는 착륙선을 이것으로 만드는 것이었다.
실제로 이 프로젝트가 현실화 단계까지 살아남을 수 있을지는 모르겠으나
희박한 대기, 부족한 연료, 실시간 통제 불가능 상황에서
미지의 땅에 거칠게 들이받아도 착륙선을 살아남게 만드는 목적 자체는
훌륭하게 부합할 수 있을 것 같다.







2015년 3월 13일 금요일

직장인 vs 엔지니어



스스로의 정체성을 어떻게 규정짓는지가 중요한 것 같다.

엔지니어는 보통 직장이라는 조직의 일원이기도 하다.
헌데, 엔지니어로서의 입장과 직장인으로서의 포지션이 서로 맞지 않는 경우가 왕왕 있다.

즉 엔지니어라는 것은 간단히 말해 철저한 경험주의와 합리성, 논리성에 입각하여 판단을 하는 것이다.  과학적 방법론에 충실할 수록 좋은 엔지니어라는 것이다.

한편, 직장인이라는 것은 다른 사람과의 관계가 중요하다.
특히 상사와의 관계가 중요할 텐데...
상사가 올바른 엔지니어일 경우에는 문제가 별로 없다.
문제는 그 상사가 또라이일 경우이다.

논리보다 억지를 내세워 강압을 한다.
실험적 근거보다 근거없는 기분에 따라 결정을 하고 강요한다.
합리적 토론보다 일방적 지시에 의존한다.

경험적으로 볼 때,
이 경우에는 보통 회사(조직)이 망하거나 또는 망하지는 않더라도 맛이 가는 것 같다.


요즘 나의 상황을 보면...
새로운 상사가 한 분 갑자기 뿅 하고 나타났는데
초장부터 무지하게 공격적이고 적대적인 모습을 보였다.
이유는 여러가지 있을 것이다.
나에게도 어느정도는 문제가 있었을지도 모른다.

헌데 이 분이 어떤 분인지 궁금해서 업계의 다른 분들의 이야기들을 좀 들어보니..
대체적인 평이 이렇다.

"이 사람은 혼자다.  그에게는 사람이 따르지 않는다."
"협력업체에 대한 갑질이 정도를 넘어서 너무 심하고, 인격적 모멸도 서슴지 않고 한다."
"독불장군이다."
"이 사람이 있었던 회사는 다 망했다."
"회사돈 펑펑 쓰면서 해외 출장 명목으로 돌아다녔는데 거의 아무 실적도 없었다."

물론 업계 아저씨(꼰대?)들은 서로를 서로서로 헐뜯는 경향이 상당히 강하기 때문에
- 386 세대의 특징인 듯 하다 -  어느정도 걸러서 들어야 겠지만,
내가 이 분을 신뢰하고 의지해야 할 지 심히 고민이 되었다.
오랜 시간 겪어보지는 않았지만, 현재까지의 상태를 근거로 냉정하게 판단해 보면
사실 전망이 상당히 나쁘다.

왜 이런 분을 영입해 왔는지 대략적인 스토리는 회사 외부의 다른 분들의 이야기를 들어서
파악은 되긴 하는데, 나로서는 처음으로 겪어보는 상당히 독특한 캐릭터인지라
적응에 어려움이 많다.

사실 이런 좋지 못한 타입의 상사를 가지고 혼자 고민해 봐야
좋은 결론이 나는 것도 아니고 해서 일단 두고 보기로 한다.

중요한 것은 나의 행동과 사고일 것이다.

물론 긍정적인 관점에서 해결책을 찾아내는 것은 나의 대원칙으로 확고하다.
내가 아직 해결하지 못한 부분은,
합리성이 도외시된 똥고집을 부리는 사람들이다.

그런 사람들에게는 설득이나 논리나 근거 따위는 아무 도움도 되지 못한다.
그들에게 중요한 것은 자신의 '기분'이었던 것이다.

결국 자기의 기분을 좋게 해 주는 사람을 높게 평가하고,
자신에게 불쾌감을 주는 합리성은 거추장스러울 뿐더러
자기가 파워를 발휘하고 남을 지배하는데 걸림돌이 될 뿐이라는 생각이 강하다.
문제해결 보다는 조직내 정치를 우선시하는 사람들이다.

즉 엔지니어 보다는 직장인, 월급쟁이로서의 정체성이 너무나 강하다.
사실 관계지향적 사회인 한국이라는 나라에서 흔히 볼 수 있는 유형이기도 하다.

내가 고민해야 할 부분이 바로 이 지점이 아닌가 한다.

나는 투철한 엔지니어의 정체성을 지금처럼 계속 유지해도 되는가?
아니면 사내정치에 영합해서 잘못된 것을 알아도 모른척 하고
문제가 있으면 남에게 덮어씌우며, 남의 공을 가로채는 일을 해야 하는가.

직업적 도덕심이 도전받는 순간이다.
뜻을 세웠던 엔지니어 선언문의 글귀는 그냥 버려야 하는가.
깊은 고민이 필요하고, 또 결론을 내려면 시간이 더 필요한 듯 싶다.




회사내에 조직 구성원들을 보면....
기계공학 특히 역학에 대해서 최소한의 이해를 가진 사람이 거의 없다.
우리팀 부하직원이 유일하달까...
물론 그 친구도 아직 공부가 좀 짧아서 약간 난이도를 조금이라도 높이면 곧 딴청을 피긴 한다.

주로 협업하는 전자공학/컴퓨터공학 출신들도 일반적인 논리성이나 토론에는 별 문제가 없으나,
그들이 역학에 대해서 입을 떼는 순간 나는 뒷목을 잡게 된다.
자신이 원하는 자기만의 물리학을 창조해내는데, 설명을 해 줘도 거의 못 알아듣는다.

며칠전에 이런 일이 있었다.
자율이동로봇에 내장된 배터리가 00Ah 용량인데,
이걸로 50W 짜리 모터와, 100W 짜리 모터를 각각 부착해서 바퀴를 구동시키면
두 경우에 구동 가능 시간이 얼마나 차이가 나는가?
하는 질문이 나왔다.

물론 당연히 나는
"동일한 무게, 동일한 속도, 동일한 조건에서 모터의 용량이 바뀐다고 할 경우, 소모되는 기계적 에너지는 동일하므로, 큰 편차없이 당연히 동일한 구동시간이 나온다."
라고 설명을 해 줬는데...

불행히도 그 자리에 동석한 사람들은 전부 전자공학과 출신들이었다.

그 사람들은 전부 내 말을 가볍게 씹고,
"50W 짜리 모터 보다, 100W 짜리 모터가 전기를 2배 더 소모하겠지"
"모터 데이타 시트 찾아서, 특성곡선 확인해서 계산해 봐야 한다"
라고 하더니, 그중에 전자공학 출신 팀장에게 계산해 보라고 지시를 했다.

당연히 데이타시트는 지시에 따라 우리팀에서 따로 제공해 주긴 했다.
물론 당연히 그 사람은 계산을 제대로 못했고 결과도 내지 못했다.
이유는 간단하다.
모르니까.
데이타시트 특성곡선만 달랑 가지고 전력 사용량을 어떻게 계산한다는 건가.  ㅎㅎ
모터가 백열전구와 같다고 착각하는 전자공학과 출신 석사학위자들을 보면서
속으로 깊은 한 숨을 내쉬었다.


나는 팀원에게 지시해서 신속 간단하게 계산결과를 배포토록 했다.
이후에 이 건에 대해서 아무도 이야기를 안 하더라.
없었던 일이 되었던 것이다.

물론 제품의 스펙에는 우리(기계돌이)가 계산한 결과는 반영되지 않고 무시되었다.

기술회사라는 곳에서 엔지니어들이 모여서 하는 짓이 이런 짓이다.
이러니 연구개발이 제대로 안된다.
아무튼 이런 비슷한 경우가 원체 많은지라, 이제는 거의 포기하고 그냥 가만히 있는다.

외눈박이가 가득 모인 곳에서는 두눈박이는 장애인이 되는 경우 같다.



얼마전에 집사람이랑 함께 앨런 튜링에 관한 영화인 '이미테이션 게임'을 봤다.
영화 내용은 픽션이 좀 많이 섞여서 실제와는 다른 각색이 좀 심하다 싶긴 했는데,
튜링의 더러운 성격 자체는 잘 표현한 것 같았다.
물론 튜링은 엔지니어라기 보다는 수학자이긴 했지만
아무튼 뛰어난 대신 사회성이 떨어지는 응용과학자로서의 면모 자체는 잘 보였다.

튜링이 한국에 살았으면?
노숙자가 되었겠지.

나의 직장 상사가 튜링의 상사였다면,
튜링 역시 무수한 인격적 모욕을 매일 뒤집어썼을 것이다.

튜링이 잘못된 것인가, 아니면 악질 상사가 잘못된 것인가?

무의미한 질문인가?

옳고 그른 것은 중요하지 않다고?

누가 더 힘이 강한가 하는게 중요할 뿐이라고?


옳음을 추구하는 것이 잘못되었다는 곳에 내가 있다.

나의 불행이다.

이 난관을 돌파할 솔루션을 찾고 싶을 뿐이다.