[AmoroRobot2] Serovo motor - Object search and grap



'[ROBOT]/AMORO'에 해당되는 글 9건
- 2005.12.01 [AmoroRobot2] Serovo motor - Object search and grap
- 2005.11.30 [AmoroRobot2] 2차 버젼 제작 - 서보모터를 이용한 로봇팔 적용
- 2005.11.02 [AmoroRobot2] 서보모터 이용한 로봇팔 실험
- 2005.08.20 [AmoroRobot] 풀테스트, 물체 검출 및 카메라센서로 물체 구분 하여 처리
- 2005.08.12 [AmoroRobot]물체검출
[ROBOT]/AMORO2005. 12. 1. 23:52
[ROBOT]/AMORO2005. 11. 30. 23:46
[AmoroRobot2] 2차 버젼 제작 - 서보모터를 이용한 로봇팔 적용

body 제작


물체 식별 카메라 모듈

전방 물체 측정 초음파 센서 및 라인감지 적외선 센서

후방 감지 적외선 센서

body 제작
물체 식별 카메라 모듈
전방 물체 측정 초음파 센서 및 라인감지 적외선 센서
후방 감지 적외선 센서
댓글을 달아 주세요
[ROBOT]/AMORO2005. 11. 2. 23:52
[AmoroRobot2] 서보모터 이용한 로봇팔 실험
-물체를 들기 위해 로봇팔을 내리는 모습 |
|
-물체를 들어 올리는 모습 |
|
//=============================================================================
// Test Program - DX Motor Robot Arm Test // // // [arm.c] //============================================================================= /* - DX-Motor를 이용하여 로봇팔 제어 예제 - Ez-RoboMaster의 AI Motor포트 DX-Motor(2번째 라인)에 DX-모터를 연결한다. - Dx-Motor은 3개를 이용고 ID가 1~3까지 사용한다. - 시리얼 포트로 'u', 'd', 's'를 전송하면 로봇팔을 올리거나 내리는 동작을 한다. - 시리얼 포트로 'g'를 전송하면 현제 모터의 위치값을 표시한다. - 표시된 모터위치 값을 이용하여 다른 동작을 추가할 수 있다. */ //Ez-RoboMaster API 헤드파일 #include "c:\winavr\ezrobomaster\ezrmlib.h" #include "dx_arm.h" unsigned int m_PosUp[3] = {394, 2, 859}; unsigned int m_PosScan = {400, 544, 340}; unsigned int m_PosDown[3] = {561, 428, 254}; unsigned int m_PosCurrent[3]; //Arm의 상태를 설정하는 함수 void ArmStatus(unsigned char Status) { switch(Status) { case ARM_STATUS_SCAN: //Arm을 물체 검출 위치로 이동 amr_MovePos(400, 544, 340); break; case ARM_STATUS_UP: //물체를 들어 올릴 위치로 이동 arm_Move(m_PosUp); break; case ARM_STATUS_DOWN: //물체를 집거나 내려 놓는 위치로 이동 arm_Move(m_PosScan); Delay(1500); arm_Move(m_PosDown); break; default : return ; } } void DisPlayArmPos(void) { unsigned int pos[3]; //모터3개의 위치를 얻어와서 arm_GetArmPos(pos); printf("M1=%d, M2=%d, M3=%d\r\n", pos[0], pos[1], pos[2]); } //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- //Main 프로그램 int main(void) { unsigned char data = 0; //Ez-RoboMaster초기화 SysInit(); InitArm(); LcdClr(LINE_ALL); LcdDspStr(0,0, "ArmTest "); while(1) { //시이얼 포트로 데이터가 전송되면 if(SrlKbhit()) { data = SrlRcvByte(); printf("\r\n"); switch(data) { case 'u': printf("Arm Up\r\n"); ArmStatus(ARM_STATUS_UP); break; case 'd': printf("Arm Down\r\n"); ArmStatus(ARM_STATUS_UP); break; case 's': printf("Arm Scan\r\n"); ArmStatus(ARM_STATUS_SCAN); break; case 'g': DisPlayArmPos(); break; } printf("Press [u], [d], [g], key>"); Delay(100); } } return 1; } //-----------------------------------------------------------------------------
댓글을 달아 주세요
[ROBOT]/AMORO2005. 8. 20. 14:37
[AmoroRobot] 풀테스트, 물체 검출 및 카메라센서로 물체 구분 하여 처리
임베디드 로봇 컨트롤러 (http://nexp.tistory.com/135)와 레고를 이용하여 만든 AmorRobot 테스트
[2005/07/25]
Amoro Robt 경기 규칙을 적용하여 풀 주행 테스트 했다.
처음 출발하여 초음파 센서를 이용하여 물체를 검출하고 검출된 물체를 들어 올려 카메라 센서로 물체 색깔을 구분하여 정해진 트래이로 이동하여 처리하도록 구성 하였다.

[2005/07/25]
Amoro Robt 경기 규칙을 적용하여 풀 주행 테스트 했다.
처음 출발하여 초음파 센서를 이용하여 물체를 검출하고 검출된 물체를 들어 올려 카메라 센서로 물체 색깔을 구분하여 정해진 트래이로 이동하여 처리하도록 구성 하였다.
댓글을 달아 주세요
[ROBOT]/AMORO2005. 8. 12. 14:35
댓글을 달아 주세요