S4A를 활용한 S/W교육용 로봇 제작기 #2

[본 컨텐츠는 ICbanQ (아이씨뱅큐)에서 진행하는 파워블로거 활동의 일환으로, 아이씨뱅큐의 지원을 받아 작성되었습니다]

 

 

어가며

                                                                                                                                        

S4A는 무한회전 서보모터를 지원한다. 무한회전 서보모터는 판매용이 있으나 저렴하게 제작하고자 SG90을 개조하는 방법으로 알아보겠다.  이글은 다음 블로그의 내용을 참고하였다.

SG90개조하기 블로그 참고(http://blog.naver.com/pareko/220081785291)

 

 보기

                                                                                                                                        

 SG90
   주로 RC용으로 가격이 저렴하다.



 료 살펴보기

                                                                                                                              

   1. 서보모터 제어
     저의 짧은 지식으로 알고 있는 서보모터의 종류는 다음과 같습니다. 더 다양한 종류가 있겠지만요

     가. 일반 RC서보
동작은 위의 사진과 같다. 일반 서보모터는 위와 같이 20ms를 주기로 0.7ms신호를 주면 오른쪽 2.3ms를 주면 왼쪽으로 움직인다. RC서보라고 불리우는 이유 RC에서 사용하는 조종기의 리시버의 각 채널에서 나오는 신호도 위와 같고 BLDC를 제어하기 위한 신호도 위와 같은 신호를 사용한다. 그래서 RC에서 주로 사용하는 서보이므로 RC서보라 불리운다. 맞죠?

나. 디지털 서보
     RC서보는 계속해서 위의 신호를 주어야만 그 각을 유지한다. 하지만 디지털 서보는 위의 펄스를 한 번만 보내면 서보모터에 전원이 인가되어 있는 상태이면 해당되는 각을 계속해서 유지해 준다. 안에 MCU가 그역할을 한다. RC서보로 여러개를 제어하려면 어려움을 만나게 된다. 하지만 디지털 서보를 사용하면 각 서보의 MCU가 역할을 분담하여 더욱 쉽게 제어할 수 있다. 

다. 스마트 서보

   여기서 자주 사용하는 AX-12가 스마트 서보이다. 디지털 서보와 같이 MCU가 들어 있다. 스마트 서보는 펄스를 입력 받는 것이 아니라 패킷을 받아서 현재 각과 온도 토크 등 다양한 정보를 상호 교환할 수 있는 서보이다.

 

 

 리하기

                                                                                                                               
         
1. S4A에서 나오는 신호 검사
   S4A에서 아래와 같이 프로그램 작성 후 핀에서 모터회전에 대한 신호를 분석해 보았다. 시계방향과 시계반대방향은 각각 0.7ms와 2.3ms였다. 주기는 25ms정도 되었다. 



2. 서보모터 분해 및 기어 멈치 부분 제거



2. 가변저항 연결 해제하기
 아래와 같이 분해 후 가변저항에 연결되어 있는 빨간색 3개의 선을 분해한다.




3. 가변저항을 고정저항으로 변경
   2.4k저항 두개를 이용하여 가변저항과 연결되었던 자리에 납땜하였다. 사용한 저항은 1608 SMD타입을 사용하였다.




식하기

                                                                                                                               
         
위와 같이 완료되었으면 아래의 프로그램을 S4A에서 간단하게 작성한 후 서보모터의 전원을 연결한 후 아두이노의 7번핀에 신호선을 연결한고 테스트를 한다. 서보모터의 전원은 아두이노의 5V를 사용하지 않고 외부 전원을 사용하였다.


 

신고

S4A를 활용한 S/W교육용 로봇 제작기 #1

[본 컨텐츠는 ICbanQ (아이씨뱅큐)에서 진행하는 파워블로거 활동의 일환으로, 아이씨뱅큐의 지원을 받아 작성되었습니다]



어가며

                                                                                                                              

현재 초중등교육현장에서 S/W교육에 대한 관심이 많다. 그 중 교육용 프로그램 언어(EPL)인 스크래치를 중심으로 로봇을 만들어보고자 한다. S/W교육이 중심이니 피지컬적인 요소는 최소화하여  만드는 것이 'S4A를 활용한 S/W로봇 제작기'의 목적이 될것이다.


보기

                                                                                                                                

 1. 스크래치 사이트 접속 ( http://s4a.cat/ )


  2. 다운 받기
   2가지 파일 다운 받기( 데스크탑 켬퓨터용, 아두이노 펌웨어용)

     2.1 데스크탑 컴퓨터용 파일 다운(각 운영체제 맞게 다운 )

    2.2 아두이노 펌웨어용 파일 다운 
    (주의) 바로 클릭하면 파일 다운이 되지 않으면 오른쪽 마우스를 클릭하여 "다른 이름으로 링크저장"으로 저장한다. 


 차리기

                                                                                                                              


1.  데스크탑 컴퓨터에 S4A 설치하기

    설치는 항상 긍정적인 답을 선택하면 자동으로 되니 설명 생략



          2. 아두이노에 펌웨어 설치

 (주의) 
여기에서 주의 할 점은 Arduino IDE가 미리 설치되어 있어야 되는데 이것은 여기에서 생략합니다.
인터넷에 아두이노 설치관련 검새하면 많이 나옵니다. ( http://arduino.cc/en/Main/Software )
드라이버까지 설치가 모두 완료 되어야 다음 펌웨어를 설치할 수 있습니다. 



 2.1 Arduino Uno 데스크톱 컴퓨터와 연결
    ( 저의 컴의 기준으로 연결하면 시리얼포트 27번으로 연결됨)
 


 2.2 Arduino IDE 실행 
 Arduino IDE가 설치 되었다면 위의 장보기에서 다운받은 아두이노 펌웨어 파일을 선택하여 IDE를 실행한다.
아래의 작업들은 한 번만 실행하고 그 이후의 모든 활동은 S4A에서 이루어진다.
  


2.3 업로드 설정
  2.3.1 보드 설정
   [도구]-[보드]-[Arduino Uno]


  2.3.2 포트설정
   [도구]-[시리얼포트]
  해당 보드와 연결된 포트와 연결한다.

2.4 업로드
 아래의 화살표 버튼을 눌러 Arduino Uno로 업로드 한다.


2.5 업로드 완료
  아래와 같이 상태표시줄에 "업로드 완료"라는 메세지가 Arduino에서 작업할 것은 모두 끝났다.





 리하기

                                                                                                                               

1 . Arduino와 LED 연결
  LED의 긴다리는 Arduino의 D13번핀에 연결 짧은 다리는 바로 옆 gnd에 연결 저항과 함께 연결하여 사용해야 하나
  일단 테스트 하기 위해서 바로 연결합니다. 만약 LED가 타신다면,, ㅠㅠ 꺄르르꺄르르입니다. 저항달아서 하세요.




2 컴퓨터와 Arduino 연결
 컴퓨터와 아두이노가 연결되지 않은 상태에서 S4A프로그램을 실행한다. 그러면 프로그램의 오른쪽 화면에 Arduino를 검색하는 창이 실행된다 이때 아두이노를 연결한 후 조금 기다리면 연결이 된다. 
S4A는 포트설정이 따로 없어서 매우 편한 것 같다.


3. 13번 포트에 연결되 LED점멸 프로그램 하기(전자에서의 Hello World) 
( 설치를 하면 한글로 나와야 정상인데 저는 언어선택을 잘못했는데 다시 한글로 안돌아오네요. ㅠㅠ )

  3.1 일단 제어(control) 블럭 선택
   선택하면 관련 명령어 블록이 나열된다.
    

  3.2 먼저 "클릭했을 때" 명령어
     if문에 해당되는 것 같지만. 아두이노와 차별화 된 명령어인 것 같다. 
     일단 클릭하면 프로그램이 실행되면서 아두이노에서 프로그램이 실행이 되기 위해서 이 명령어를 먼저 선택한다.
   

  3.3 무한루프 선택
     LED가 한번만 점멸하고 멈추는 것이 아니라 계속 점멸이 되어야 하므로 무한 루프를 넣는다.

   

   3.4 LED 점멸 블록 삽입
      모션블록 모음으로 가서 digital 블록을 선택한 후 출력 핀은 13번으로 선택한다.

   
   
  
   

 3.5 지연시간 입력
 다시 컨트롤 명령어블록으로 이동(사진에서 강조빠짐)해서 지연시간 블록을 각 각의 13번핀 동작 블럭 사이에 입력한다. 기본은 1초로 되어 있다. 
  즉, 1초 켜지고 1초 꺼지고 점멸이 이루어 진다. 




식하기

                                                                                                                               
이제 실행해서 프로그램이 잘 작성되었는지 직접 만지고 보고 느낄 수 있는 맛보기를 하겠습니다.

1. 순차실행 
 실행하기 위해서 [Edit]-[Start Single Stepping]메뉴를 선택한다.




2. 실행
실행하기 위해서 블럭모음을 선택한다. 또는 먼저 선택한 다음 가)의 메뉴를 선택하는 방법도 있다.


3. 확인 동영상

 

 

신고

드론을 이용한 배달 성공 in 미국

안전, 보안상의 이유로 드론을 이용한
물품 배송을 금지하고 있던 미국이었지만,
이번에는 예외적으로 승인을 받은
드론을 이용한 배달이 성공적으로 완수 됐다고 하네요~

미국에서 규정이 완화된다면 생길
엄청난 파급효과가 기대됩니다^^

http://biz.chosun.com/…/html_…/2015/07/20/2015072001162.html

드론은? ICbanQ에서!!
(http://www.icbanq.com/shop/templete_list.asp…)



신고

세기의 로봇 대결!!

일본의 스이바도시 공업사에서 만든 "쿠라타스"
vs
미국의 메가봇이 만든 "마크2"

1년 뒤 있을 세기의 대결의 승자는???!!!



신고

종이접기 로봇!!

종이 같은 얇은 물질이 스스로 구부러지더니
로봇이 된다???
MIT에서 개발한 '종이접기 로봇'!
함께 보실까요?^^



신고

드론, 드론, 드론!!!

이제는 대세가 되어 버린 드론!!
고성능 저비용의 드론을
지금 바로 ICbanQ에서 만나보세요!!

http://www.icbanq.com/shop/templete_list.asp?t_idx=108&LType=B


신고

바닷속 문화재를 발굴하는 해저 로봇 탄생!!

로봇이 해저를 탐사해 문화재를 발굴하는 시대가 왔습니다^^
문화재청이 순수 국내 기술로 개발한
게 모양 해저 로봇은 두 개의 앞발에 달린 로봇팔을 활용하여
문화재들을 인양하게 될 예정인데요~
깊은 수심과 빠른 조류, 높은 탁도의
우리 나라 수중 환경에 안성맞춤인 로봇을 함께 보실까요??


신고

멀티플로 초급자용 로봇키트!!

오늘 제가 여러분께 소개 해드리고 싶은 제품은

DFRobot멀티플로 초급자용 로봇키트”!!!

영문명은 Multiplo Robot Starter Kit로서

초보자들이 접하기엔 안성맞춤인 제품인데요!!!!

이 놈이 어떻게 생겼냐 하면~~

짜잔~~!!



아주 알차 보이잖아요?? 그쵸?

 

자 이제 개봉해보겠습니다^^






보이시나요??

 

이 꽉찬 느낌의 키트들이!!!!!

어떻게 구성되어 있냐 하면??

1.    Battery Box

2.    USB Cable

3.    Omni-Directional Wheel

4.    Wires

5.    Motor

6.    Telecontrol

7.    Wheel

8.    DuinoBot v1.2

9.    Sensor

10. Part of car

11. Tool box

12. CD

13. Several cards

앞서 말씀 드린 바와 같이 로봇 초보자들을 위한 CD도 들어 있으니 접근하기 정말 쉽겠죠??

여러분께 비밀 하나 말씀 드리겠습니다~!

뭐냐구요??

완성품은 공개하지 않겠습니다~~

왜냐구요??

직접 만들어 보시라구요^^

구입은??

http://www.icbanq.com/shop/product_detail.asp?prod_code=P005605396&catg_code=&LType=S

 

신고

알약을 대체하는 로봇의 등장!

먹는 알약 대신 로봇이 우리 몸을 지켜준다?

복용법, 효능법에 있어서 효율이 떨어지는 알약과 비교해

3배 더 뛰어난 효과를 보여주는 로봇의 힘! 함께 보실까요?

http://imnews.imbc.com/replay/2015/nwtoday/article/3641358_14782.



신고

로봇 운영체제 강좌 : ROS 명령어


로봇 운영체제 강좌
ROS 명령어

Created Date: 2013.11.03
Modified Date: 2014.11.07
revision 6

키워드 : 로봇 운영체제, ROS, 명령어

※ 전체 강좌 목차는 "로봇 운영체제 ROS 강좌 목차 (http://cafe.naver.com/openrt/2360)"를 참고해주세요.


1. ROS 명령어

로스는 쉘(shell)환경에서 명령어로 파일 시스템 이용, 소스코드 편집, 빌드, 디버깅, 패키지 관리 등을 처리할 수 있다. 로스를 제대로 사용하기 위해서는 기본적인 리눅스 명령어 이외에도 로스만의 고유한 명령어들을 익힐 필요가 있다. 로스 명령어로는 다음과 같이 다양하게 존재한다. 

처음부터 모든 명령어를 숙련하게 사용할 수 없겠지만, 다음의 내용을 보고 필요할 때마다 이용하면 되겠다. 처음에는 익숙하지 않아서 불편하게 느껴질 수 있겠지만, 사용하면 사용할 수록 매우 빠르고 편하게 각종 기능을 명령어로 처리하는 자신의 모습을 보게 될 것이다.

로스의 다양한 명령어를 숙달하기 위하여 본 강좌에서는 우선 각 명령어의 기능을 간단히 설명하고, 하나 하나 예제를 들어가며 소개하도록 하겠다. 그리고 각 명령어의 사용 빈도 및 중요도를 고려하여 필자가 별표로 점수를 매겨두었다. 별표가 많은 명령어의 경우, 사용 빈도수가 높고 중요한 명령어이니 꼭 익혀두기로 하자.

[ROS 쉘 명령어]
  • roscd (ros+cd(changes directory) : ROS 패키지 또는 스택의 디렉토리 변경 명령어
  • rospd () ros+pushd : ROS 디렉토리 인덱스에 디렉토리 추가
  • rosd () ros+directory : ROS 디렉토리 인덱스 확인 명령어
  • rosls (ros+ls(lists files) : ROS 패키지의 파일 리스트를 확인하는 명령어
  • rosed (ros+ed(editor) : ROS 패키지의 파일을 편집하는 명령어
  • roscp (ros+cp(copies files) : ROS 패키지의 파일 복사하는 명령어

[ROS 실행 명령어]
  • roscore (ros+core : master (ROS 네임 서비스) + rosout (stdout/stderr) + parameter server (매개변수관리)
  • rosrun (ros+run : 패키지의 노드를 실행하는 명령어
  • roslaunch (ros+launch : 패키지의 노드를 복수개 실행하는 명령어
  • rosclean () ros+clean : ros 로그 파일을 체크하거나 삭제하는 명령어

[ROS 정보 명령어]
  • rostopic (★★★) ros+topic : ROS 토픽 정보를 확인하는 명령어
  • rosservice (★★★) ros+service : ROS 서비스 정보를 확인하는 명령어
  • rosnode (★★★) ros+node : ROS의 노드 정보를 얻는 명령어
  • rosparam (★★★) ros+param(parameter) : ROS 파라미터 정보를 확인, 수정 가능한 명령어
  • rosmsg (★★☆) ros+msg : ROS 메세지 선언 정보를 확인하는 명령어
  • rossrv (★★☆) ros+srv : ROS 서비스 선언 정보를 확인하는 명령어
  • roswtf (☆) ros+wtf : ROS 시스템을 검사하는 명령어
  • rosversion (★☆☆) ros+version : ros 패키및 배포 릴리즈 버전의 정보를 확인하는 명령어
  • rosbag (★★★) ros+bag : ROS 메세지를 기록, 재생하는 명령어

[ROS 캐킨 명령어]

  • rosmake (ros+make : ROS package 를 빌드한다. (구 ROS 빌드 시스템에서 사용됨)
  • rosinstall () ros+install : ROS 추가 패키지 설치 명령어
  • roslocate () ros+locate : ROS 패키지 정보 관련 명령어 
  • roscreate-pkg (ros+create-pkg : ROS 패키지를 자동 생성하는 명령어 (구 ROS 빌드 시스템에서 사용됨)
  • rosdep (ros+dep(endencies) : 해당 패키지의 의존성 파일들을 설치하는 명령어
  • rospack (ros+pack(age) : ROS 패키지와 관련된 정보를 알아보는 명령어


[관련 강좌 목록]







[참고자료]

[1] ROS, Tools, http://wiki.ros.org/Tools
[2] ROS, CommandLineTools, http://wiki.ros.org/ROS/CommandLineTools
[3] ROS, rosbash, http://wiki.ros.org/rosbash
[4] ROS, roscore, http://wiki.ros.org/roscore
[5] ROS, roscreate, http://wiki.ros.org/roscreate
[6] ROS, roslaunch, http://wiki.ros.org/roslaunch
[7] ROS, rosparam, http://wiki.ros.org/rosparam
[8] ROS, rostopic, http://wiki.ros.org/rostopic
[9] ROS, rosservice, http://wiki.ros.org/rosservice
[10] ROS, rosmsg, http://wiki.ros.org/rosmsg
[11] ROS, rosnode, http://wiki.ros.org/rosnode
[12] ROS, rviz, http://wiki.ros.org/rviz




End.


신고


티스토리 툴바