Robots2017.10.09 23:22

Arduino IDE에 햄스터로봇을 추가하고, Hamster 라이브러리를 이용하여 로봇을 제어 할 수 있다. 아래 예제를 Arduino 스케치로 작성하고 실행하며, 햄스터로봇이 손바닥과의 일정 거리를 유지하면서 움직이는것을 볼 수 있다. 
Hamster 라이브러리는 기존의 hamster의 api를 포팅하였음으로 기존의 예제들을 대부분 사용 할 수 있다. 


hamster 라이브러리에서 구현된 함수는 아래와 같다. 모든 api 함수가 포팅된것은 아님으로 주의가 필요하다. 

// API
//
void wheels(double leftSpeed, double rightSpeed);
void leftWheels(double speed);
void rightWheels(double speed);
void stop(void);
void leds(int leftColor, int rightColor);
void leftLed(int color);
void rightLed(int color);
void beep();
void buzzer(double hz);
int leftFloor(void);
int rightFloor(void);
int leftProximity(void);
int rightProximity(void);
int accelerationX(void);
int accelerationY(void);
int accelerationZ(void);
int light(void);
int temperature(void);

 




주의할 점은 hamster.begin 함수의 파라메터로 햄스터 로봇 제어를 위한 USB 동글의 시리얼포트를 입력해 주어야한다. 시리얼 포트 번호를 연결되는 PC마다 다를 수 있기때문에 확인 후에 해당 번호로 입력한다.


#include <hamster.h>


Hamster hamster;



void setup() {

  // put your setup code here, to run once:

  hamster.begin("COM16");

}


void loop() {

  int left;

  int right;

  int length;

  int error;

  int error_handle;

  int motor_speed = 0;

  int l_speed = 0;

  int r_speed = 0;

  int speed_control_out;

  int handle_control_out;

  int error_margin = 3;


  

  left  = hamster.leftProximity();

  right = hamster.rightProximity(); 

  length = left+right / 2;


  error = 60 - length;

  speed_control_out = error / 1;

  if (speed_control_out < error_margin && speed_control_out > -error_margin)

  {

    speed_control_out = 0;

  }

  

  error_handle = (left - right);

  handle_control_out = error_handle / 1;

  if (handle_control_out < error_margin && handle_control_out > -error_margin)

  {

    handle_control_out = 0;

  }

  

  l_speed = speed_control_out - handle_control_out;

  r_speed = speed_control_out + handle_control_out;


  l_speed = constrain(l_speed, -100, 100);

  r_speed = constrain(r_speed, -100, 100);


  if (length == 0)

  {

    l_speed = 0;

    r_speed = 0;

  }

  Serial.print(length);

  Serial.print(" ");  

  Serial.print(error);

  Serial.print(" ");

  Serial.print(speed_control_out);

  Serial.print(" ");

  Serial.print(handle_control_out);

  Serial.print(" ");

  Serial.print(motor_speed);

  Serial.println("");


  hamster.wheels(l_speed, r_speed);

  delay(20);








'Robots' 카테고리의 다른 글

[햄스터로봇] 손따라가기 예제  (0) 2017.10.09
[햄스터로봇] Arduino 하드웨어 설치  (0) 2017.10.09
외골격 로봇  (0) 2017.07.06
Posted by chcbaram
Robots2017.10.09 23:19



햄스터 아두이노 하드웨어 설치

https://github.com/chcbaram/hamster_arduino 에서 소스코드를 다운로드 한다. 

내문서 폴더안에 있는 Arduino\hardware 폴더에 다운로드한 소스코드를 hamster라는 폴더로 압축을 해제한다. 


압축을 해제하면 hamster 밑에 hamster 폴더와 tools 폴더가 있다. tools 폴더 안에는 초기에는 cmd_run 폴더만 존재한다. mingw64는 윈도우에서 사용할 수 있는 gcc 컴파일러로 별도로 다운로드해서 복사를 해 주어야 한다. 


아래 사이트에서 최신 버전을 다운로드 후에 hamster/tools 폴더 아래에 압축을 해제 한다. 그러면 mingw64 폴더가 생성이 되고 gcc 컴파일러가 복사된다. 

https://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.1/64-bit/threads-posix/seh/


GCC 실행을 위해 DLL파일들이 필요한데, Arduino IDE 폴더에 해당 DLL을 복사 해줘야 정상적으로 GCC가 실행된다. mingw64->bin 폴더에 있는 아래 dll 파일들을 모두 Arduino IDE 설치 폴더에 복사를 한다. 




Arduino IDE 실행


Arduino IDE를 실하고 Tools->Board에 가면 hamster 보드가 추가된것을 볼 수 있다. 이제 부터는 hamster를 선택하면 햄스터로봇에 아두이노를 이용하여 코딩 할 수 있다.





'Robots' 카테고리의 다른 글

[햄스터로봇] 손따라가기 예제  (0) 2017.10.09
[햄스터로봇] Arduino 하드웨어 설치  (0) 2017.10.09
외골격 로봇  (0) 2017.07.06
Posted by chcbaram
Robots2017.07.06 16:15

1. 사이버다인 HAL

   : http://www.itworld.co.kr/news/55137


2. HEXAR Systems

   : http://hexarsystems.com/new/product/product_p04.php


3. 외골격 국내 전문가 발표

   : https://www.slideshare.net/KOS-ROBOT/ss-51447335


4. 수트 x

  : http://www.irobotnews.com/news/articleView.html?idxno=9207


5. 엑소 바이오닉스

  : http://eksobionics.com/


6. 착용형 로봇 기술 현황

  : https://www.google.co.kr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0ahUKEwjKs9CpjPTUAhXMxrwKHVNHB7IQFggpMAE&url=http%3A%2F%2Fwww.irobotnews.com%2Fnews%2FarticleView.html%3Fidxno%3D3475&usg=AFQjCNGQ0M6LTN7x3G1brBpsTZPCTG0lqQ       



'Robots' 카테고리의 다른 글

[햄스터로봇] 손따라가기 예제  (0) 2017.10.09
[햄스터로봇] Arduino 하드웨어 설치  (0) 2017.10.09
외골격 로봇  (0) 2017.07.06
Posted by chcbaram
Robots/SkyRover2014.06.14 01:15


쿼드버전은 무게때문에 나는데 실패하고 Hex버전으로 비행에 성공함

http://cafe.naver.com/openrt/5158





'Robots > SkyRover' 카테고리의 다른 글

SkyRover Hex 버전 비행 시험  (0) 2014.06.14
SkyRover 구동 시험  (0) 2014.06.14
SkyRover Arm Disarm 시험  (0) 2014.06.14
SkyRover 3D 프린팅 버전 조립  (0) 2014.06.14
SkyRover 원격조종 시험  (0) 2014.06.14
SkyRover 블루투스 통신 시험  (0) 2014.06.14
Posted by chcbaram
Robots/SkyRover2014.06.14 01:13


3D 프린팅 버전을 완료했지만 일반 보드를 사용해서 무게가 많이 나가 실제 날리는데는 실패했다.




'Robots > SkyRover' 카테고리의 다른 글

SkyRover Hex 버전 비행 시험  (0) 2014.06.14
SkyRover 구동 시험  (0) 2014.06.14
SkyRover Arm Disarm 시험  (0) 2014.06.14
SkyRover 3D 프린팅 버전 조립  (0) 2014.06.14
SkyRover 원격조종 시험  (0) 2014.06.14
SkyRover 블루투스 통신 시험  (0) 2014.06.14
Posted by chcbaram
Robots/SkyRover2014.06.14 01:11

어플을 통한 기체 시동 시험 



'Robots > SkyRover' 카테고리의 다른 글

SkyRover Hex 버전 비행 시험  (0) 2014.06.14
SkyRover 구동 시험  (0) 2014.06.14
SkyRover Arm Disarm 시험  (0) 2014.06.14
SkyRover 3D 프린팅 버전 조립  (0) 2014.06.14
SkyRover 원격조종 시험  (0) 2014.06.14
SkyRover 블루투스 통신 시험  (0) 2014.06.14
Posted by chcbaram
Robots/SkyRover2014.06.14 01:10


SkyRover의 3D프린팅버전이 완료되어 조립하였다.





'Robots > SkyRover' 카테고리의 다른 글

SkyRover 구동 시험  (0) 2014.06.14
SkyRover Arm Disarm 시험  (0) 2014.06.14
SkyRover 3D 프린팅 버전 조립  (0) 2014.06.14
SkyRover 원격조종 시험  (0) 2014.06.14
SkyRover 블루투스 통신 시험  (0) 2014.06.14
SkyRover 모터 시험  (0) 2014.06.14
Posted by chcbaram
Robots/SkyRover2014.06.14 01:06

스마트폰 어플을 통해서 자세제어 되는지 시험



'Robots > SkyRover' 카테고리의 다른 글

SkyRover Arm Disarm 시험  (0) 2014.06.14
SkyRover 3D 프린팅 버전 조립  (0) 2014.06.14
SkyRover 원격조종 시험  (0) 2014.06.14
SkyRover 블루투스 통신 시험  (0) 2014.06.14
SkyRover 모터 시험  (0) 2014.06.14
SkyRover HexAirBot 통신 인터페이스 시험  (0) 2014.06.14
Posted by chcbaram
Robots/SkyRover2014.06.14 01:05

HexAirBot의 시리얼 인터페이스를 포팅하여, 어플을 통해서 제어하는것을 시험



Posted by chcbaram
Robots/SkyRover2014.06.14 01:03

멀티위콘피그를 사용해서 모터 구동 시험.



'Robots > SkyRover' 카테고리의 다른 글

SkyRover 원격조종 시험  (0) 2014.06.14
SkyRover 블루투스 통신 시험  (0) 2014.06.14
SkyRover 모터 시험  (0) 2014.06.14
SkyRover HexAirBot 통신 인터페이스 시험  (0) 2014.06.14
SkyRover 부트로더/펌웨어 다운로드  (0) 2014.06.14
SkyRover 모터 PWM 시험  (0) 2014.06.14
Posted by chcbaram