마지막 샘플 휴머노이드 로봇

프로그래밍/마인드스톰 2011. 6. 14. 23:28


드디어 마지막 예제인 휴머노이드 로봇까지 제작 했다.
 
사실 완성은 어제 했지만 완성된 시간이 너무 늦어서 그냥 자고 오늘 포스팅 한다.


이 녀석이 재미 있는건
단 3개의 모터로 여러가지 동작을 한다는 거다.
 

모터 총 3개중 2개는 다리에 부착 하여 걷는데 이용하며 등쪽에 부착된 단 하나의
모터로 고개(사실 어깨)와 손이 움직인다.

원리를 알고 나면 간단하지만.. 한쪽으로 돌리면 한쪽손이 열리고 다른쪽으로 돌리면
다른쪽 손이 열리는 구조지만...

적은 자원을 가지고 효율적으로 만든것 같다..
이녀석의 기능은 일단 가만히 대기하고 있다가. 초음파 센서부분에 뭔가 장애물이 보이면
걸어 오기 시작한다.

일정 거리인지 목표물 거리 측정한 뒤에 일정 거리 이내로 다가오면 멈추는건지 일단 멈춘다.

그 뒤에 컬러센서 있는 부분에 색이 있는 구슬을 가져다 놓으면 색상을 구분해 낸다.




귀엽게도 녹색을 쥐어주면 신나게 춤을 춘다...

예제는 다 해 봤고... 이제 남은건 응용뿐...

사실 어제 안드로이드 스마트폰을 이용해서 NXT에 접속해서 소리 내는것 까지 해 봤고 오늘은 안드로이드로 모터 돌리는 것과 안드로이드에 조종기를 만드는것 까지 해 봤다.

모터 돌리는 부분에서 돌아가는 동안 아무 동작을 못해서 일단 이거 저거 연구하는데 까지 시간이 걸릴듯 하다 예제야 원래 만들어져 있는것 조립만 하고 기본 프로그램 돌리면 되니 하루씩 밖에 시간이 안 걸렸지만 이번엔 내가 직접 설계하고 조립한후 프로그래밍도 직접 해야 하니 시간이 꽤 걸릴듯 하다.

일단 목표는 간단한 RC카 만드는게 목표다 전진 후진 좌회전 우회전 일단 이게 목표다.

대강 코드를 들여다 보니 모터 속도 설정 하고 이것 저것 다 되는듯 하다.
블루투스를 이용해서 NXT에 접속한후 자동차 조종이라... 블루투스 방식이라 지원 거리가
10미터 내외 밖에 안 되지만 어차피 밖에서 돌릴것도 아니고 스마트폰으로 뭔가 조종이 된다는 사실이 재미있을듯 하다.

안드로이드 개발자지만 블루투스나 이것 저것 안 해 본부분 투성이고 공부해서 구현해야할 내용들 뿐이지만 의욕이 생긴다
 
 

'프로그래밍 > 마인드스톰' 카테고리의 다른 글

컬러센서를 이용한 구슬 색 구분  (0) 2011.06.12
악어 로봇 샘플 구동  (0) 2011.06.12
개발 진행 상황  (0) 2011.06.12
오늘 만들어본 샘플 로봇  (0) 2011.06.09
레고 마인드스톰 시작!  (0) 2011.06.08

컬러센서를 이용한 구슬 색 구분

프로그래밍/마인드스톰 2011. 6. 12. 23:13

컬러센서를 이용해서 구슬 색 구분하여 동작하는 샘플..
설명할 내용도 적고  사진도 한장 밖에 없지만


역시 지금까지중 가장 많은 리소스들이 들어갔고 제작 시간도
다소 걸렸다..


이제 남은건 휴머노이드 로봇 뿐인듯 그거 까지만 만들고 이제 응용 마인드 스톰의 길로
개발 환경도 구축한듯 하지만 실제로 구축 됐는지는 모르겠다 ㅋㅋㅋ

 


위에 있는 컬러센서로 공의 색을 구분하여 필요한 칸에 넣는 프로그램이지만
녹색을 잘 구분해 내지 못한다...

뭐 그거야 프로그램상 미세조정이 하드웨어에 맞춰 소프트웨어에서 조정해 줘야 하지만 역시 샘플인데다 뭐 되는지 안 되는지 모르겠지만 기본적으로 있는 프로그램에선 안되지 않나 싶다.. 빨리 직접 개발 하고 싶다~ 하지만 무엇보다 급하게 하는건 금물!
천천히 동작 하나하나 이런 동작을 하기 위해 블록을 어떻게 사용했는지 천천히 보고 시작해도 늦지 않는다.

난 프로그래머지 하드웨어 기술자가 아니니까~ ㅎㅎ 


이녀석은 색상 구분해 내고 던져(?) 버린다 -_-;
씨잘데기 없이 던져 버려서 공 찾기 애매 하다 난 특정색만 던지고 다른색은 안하고 하는줄 알았더니 색상 구분하고 던지고 색상 구분 실패 하면 안 던지고 그러네 -_-;;

이제 남은건 휴모노이드 한녀석! 그녀석도 규모 보아하니 시간 꽤나 투자 할듯 하다...
이미 주말이 끝나 버려 아마 평일에 조금씩 만들어야 하지 않을까 싶다.
 

'프로그래밍 > 마인드스톰' 카테고리의 다른 글

마지막 샘플 휴머노이드 로봇  (0) 2011.06.14
악어 로봇 샘플 구동  (0) 2011.06.12
개발 진행 상황  (0) 2011.06.12
오늘 만들어본 샘플 로봇  (0) 2011.06.09
레고 마인드스톰 시작!  (0) 2011.06.08

악어 로봇 샘플 구동

프로그래밍/마인드스톰 2011. 6. 12. 12:44

어제 만들어서 돌려본 악어 로봇
이녀석도 참 재밌는 놈이었다.

그냥 실행 시키면 가만히 있다. 헌데 초음파 센서에 뭔가 잡히면 갑자기 돌격한다.
그리고 근처에 어떠한 물체가 있다면 입을 열었다 닫았다 하면서 공격 한다

우리집 강아지 있는데서 돌려 봤더니 무서운지 막 도망다닌다 ㅋㅋㅋ

 
요번 녀석은 제법 재료가 많이 들어 갔다.
허허 이 녀석이 이 정도면 휴머노이드는 얼마나 많이 들어 갈까?

만드는 내내 가가토이에서 리소스 상자 주문해 놨는데 이게 송장 번호도 안 알려주고 결국 어제 오지도 않았다 기본 봉지가 찢어져서 막 줄줄 새고 지저분 하니 짜증만 난다 -_-

리소스 상자가 와야 뭐 제작할때 깔끔하게 제작하지 제길


이녀석 어머니 가방 공격하고 그런다 ㅋㅋㅋ
 

개발 진행 상황

프로그래밍/마인드스톰 2011. 6. 12. 12:27


마인드스톰을 개발하기로 마음 먹고 어차피 취미생활이니 올인 하지 않기로 결심했다.
쉴때 게임도 좀 하고 웹서핑도 하고...

뭐 일단 구매는 했으니 테스트를위해 센서 전부 작동시켜 보고 리소스 전부 다 있는지
세봐야 하지만 뭐 한두개도 아니고 귀찮기도 하고 그냥 예제 조립 다 해 보고 부품 부족
하지 않으면 되지뭐 라는 생각으로 진행 했다..

이런 저런 예제 만들고 아직 휴머노이드 까지 만들지 않은상태에서 웹서핑중에
마인드 스톰을 제어하기 위해 두가지 방법이 있다는걸 발견했다. 

http://folog.egloos.com/1296765
 참고 URL

1. NXC(RobotC)든 NXJ(Lejos)든 직접 NXT 디바이스에 펌웨어를 넣고 그 뒤에 작업한          프로그램을 넣어서 구동

2. iCommand 를 이용하여 외부(PC,스마트폰)을 블루투스를 이용하여 행동 커멘드를 직접     전송하는 방법 

그중 두번째 방법이 상당히 매력적으로 보였다. 사실 내가 하려던 방법도 안드로이드폰으로직접 조종할수 있는 로직을 만들고 싶었으니..

뭐 자세히 이야기 하자면 NXT 디바이스는 그냥 컨트롤 머신 실제 데이터 처리는 안드로이드폰 개념으로 작업 하고 싶었다.

그래서 테스트 삼아 iCommand 라이브러리를 안드로이드 프로젝트에 넣어서 샘플 삼아 구동 시켜 보았으나 왠걸 Sorry 팝업 발생 -_-;

젠장 iCommand 라이브러리가 자바 라이브러리라 안드로이드에서 호환이 안되나 보다.
뭐 어차피 iCommand가 Open 소스인것 같으니 포팅을 해야 하나?

아우 뭐 하나 하려고 하니 할게 막 늘어나네 귀찮게 -_-;;

뭐 일단 목표를 정리해 보자면
1. 기본 샘플로 제공되는 예제 구동
2. 안드로이드로 제어 하는 리모컨 컨트롤 제작
3. 안드로이드 G센서를 이용한 RC카
4. 안드로이드 제어 프로그램의 업그레이드로 인한 다양한 행동 패턴 컨트롤
5. 안드로이드와 NXT를 이용한 참신한 머신? <- 방향도 못잡음 -_-;

뭐 어케든 되겠지 ㅋㅋ

----2014-09-21---

헐... 예전에 이런 고민이 있었구나.. 정말 마지막 문제로 어떻게든 돼버렸다 ㅋㅋㅋ

어떻게 했는진 작성 안 해 놔서 모르겠지만 지금은 안드로이드 폰으로 작동 잘 한다 ㅋ

틈틈히 여기에 적어 놓을걸 뭐 다시 한다 해도 못하진 않을거 같긴 하지만 뭐 아마 저땐 자바 다룬지

얼마 안 돼서 환경 문제 였을듯 하다. 그땐 환경 설정에 미숙하던 때라..


오늘 만들어본 샘플 로봇


어제 정리 할때 전부다 분해해 버린 관계로 다시 어제 만들었던 기본 로봇부터 시작해서
오늘은 구슬 발사 하는 샘플 로봇을 만들어 봤다...

뭐 샘플이래바야 얼마 안 걸리긴 하지만 회사에서 업무후 남는 여가시간만 가지고 하기에는
 그 시간도 좀 아쉽고 부족하기만 하다..


여튼 오늘은 컬러센서도 붙여보고 회사에서 남는시간에 틈틈히 마인드스톰 프로그래밍에 관한 정보를 찾는중 RobotC와 Lejos 인가? 하는 자바 기반으로 하는 방식 두가지가 있는듯 하다.

하지만 RobotC는 상용프로그램이라 구매 해야 하는것 같고 그냥 leios를 이용해야 겠다.
어차피 안드로이드 개발자라 자바가 편하긴 하지만...

불과 얼마전 까지만해도 단말 개발자라 C언어가 편했는데 이제 자바에 완전 익숙해져
버린것 같다.




놀고 있던 노트북으로 블루투스 연결해서 레고 인스톨 CD에 있던 기본 프로그램으로 샘플
프로그램을 올려 봤다. 어차피 난 개발자라 그림으로 돼 있는 프로그램이 순서도 보기 보다
더 헷갈리기에 그냥 확인도 안하고 올려 봤는데 뭐 대강 색상 센서로 구분해서 발사 하는것 같다.


항상 마인드스톰 동영상 볼때 저 구슬 발사하는 동작이 궁금했는데 의외로 간단했다 앞부분이 공을 꽉 잡고 있고 뒤에서 핀으로 밀어서 발사하는 구조다 -_-;;



공 잃어버릴뻔 -_-; 그냥 막 돌다가 아무데나 발사해 버려서 급하게 껐다 -_-;


샘플을 보다 보니까 거기서 초음파센서도 달길래 가장 마지막꺼만 한번 더 달아 봤다.
이녀석도 어찌 돌아가는지 분석은 패스 했지만 대강 뭐가 어디 있는지 확인한 다음에 색상센서로 발사 하는것 같긴 하다.


공 잃어버릴뻔 해서 이녀석 돌릴때는 공 빼고 돌려 봤다 어차피 동작은 공 없어도 잘 하니까



막 소리도 내네 신기한놈...
이녀석 중간에 내 쪽으로 돌려 놨더니 조금 움직일때마다 옆으로 조금 움직여서 날 정확히
조준한다 -_-;;; 공 넣어 놨으면 꽤나 당황했을듯...

그나저나 유투브 동영상 왜이리 느리냐 -_-;
 

'프로그래밍 > 마인드스톰' 카테고리의 다른 글

마지막 샘플 휴머노이드 로봇  (0) 2011.06.14
컬러센서를 이용한 구슬 색 구분  (0) 2011.06.12
악어 로봇 샘플 구동  (0) 2011.06.12
개발 진행 상황  (0) 2011.06.12
레고 마인드스톰 시작!  (0) 2011.06.08

레고 마인드스톰 시작!

 

이래저래 블로그란거 해보고는 싶었는데 쓸게 없어서 안 하다 보니
완전 사기꾼이 된 기분...

초대장 받아놓고 열심히 한다고 말만 하고 하지도 않았다 -_-;

이래저리 잊고 살다가 소개팅(맞선) 딱지 맞고 홧김에 여자고 뭐고 다른 취미 가진다고
질러버린 마인드스톰... 오늘 도착했다.

참 취미 하나때문에 별걸 다 하네... 여기저기 여행 다니면서 찍으려고 산 디카까지 꺼내들고
찍어대고 다른 블로거들 흉내내고 싶었나 보다..

나이 먹고 이런거 하려니 원...




개봉기 라고 해야 하나? 생각보다 박스가 엄청 컸다..

그냥 쇼핑몰에서 봤을때는 작았는데....







구성품 각종 리소스(블럭들) 센서 및 모토 네모난 액정 달린게 CPU이자 출력 장치(소리도 나고 꼴에 LCD라고 이것 저것 나온다..흑백으로...)



레고의 기본 프로그램만으론 장난감 수준밖에 안되는 녀석!

고로 그동안 자바 학원 수료하고 펑펑 놀고 있던 노트북을 개발용으로 쓰기로 작정!
뭐 마인드 스톰이 블루투스 연동도 되기 때문에 이래 저래 데스크탑 보다는 노트북이 좋고
책상위가 지저분한 관계로 이런 저런 테스트 할때 이동이 편한 노트북이 좋지 아무래도...

맥북도 있긴 한데 개발 환경을 못 찾았다(노트북도 마찬가지지만 -_-)























이번 마인드스톰 제작할 로봇이 일단 블루투스로 기본적인 행동을 저장해 놓고 저 스마트폰으로 컨트롤 하게 할 생각이다... 뭐가 쉬울진 모르겠지만 일단 쉬운거 부터!

뭐 직업이 안드로이드 개발자다 보니 프로토콜 규격만 알면 뭐 어렵지 않을듯 하다...
모르지 명령을 블루투스로 전송해 본적은 없으니 복병을 만날지도?

내 구상은 이렇다...

일단 테스트용으로 기본적인 동작을 제어 하는 녀석을 만들어 볼것이다.
초음파센서로 특정 물체가 보일때 일단 일정 거리까지 달라 붙는 테스트용 프로그램 제작(박쥐 같은녀석)
컬러센서 각종 색을 구분하여 가장 비슷한 색을 소리로 말하는 프로그램!(사운드 파일 저장이 가능한듯 보인다.)
터치 센서로 벽이나 특정 물체에 부딛혔을때 약간 후진후 유턴해 돌아가든 뭐 피해가는 프로그램
모터를 이용한 다양한 응용?(모르겠다 모터는 그냥 굴러가겠지 -_-)

비싼 장난감 하나 질렀다...
당분간은 여자친구 없어도 외롭지는 않을듯 ... 제길 이게 더 추해

아래는 기본 몸체 조립후 앞뒤로 무한 반복 왔다 갔다 하게 간단 설정후 돌려 봤다(노프로그래밍~ 기본 적으로 본체에 간단한 움직임 정도는 5개 정도 저장할수 있다)


흠 신기한놈...

'프로그래밍 > 마인드스톰' 카테고리의 다른 글

마지막 샘플 휴머노이드 로봇  (0) 2011.06.14
컬러센서를 이용한 구슬 색 구분  (0) 2011.06.12
악어 로봇 샘플 구동  (0) 2011.06.12
개발 진행 상황  (0) 2011.06.12
오늘 만들어본 샘플 로봇  (0) 2011.06.09