Engineering/Robotics 11

RTL2832 모듈 구매

공돌이파파 유튜브 채널에서 아마추어무선통신에 대한 영상을 보고 급호기심이 생겨서 구매 그래서 지난주 알리로 RTL2832 모듈을 구매하고 아버지 친구분께 MYT9800 무전기를 빌렸다 자격증이 없어도 수신은 가능하지만 송신을 하기위해서는 자격증을 받아 콜사인을 발급받아야되서 4급도 취득 RTL2832 모듈은 쉽게 말해 전파수신을 컴퓨터로 전해주는 매개체역할을 하는 모듈인데 PC의 프로그램으로 주파수를 꽤나 넓게 수신할수 있다 한예로 비행기에서 주고받는 통신, 라디오, 공사현장 무전, 해외 무전도 가능하다 (심지어 북한 방송도 들리더군요;;) 그리고 우주정거장에서 오는 신호를 받아서 음성을 이미지 프로세싱해서 받아볼수도 있고 기상데이터 또한 이미지 프로세싱으로 기상지도를 볼수도 있다

CC3200 Camera Booster Pack

카메라 영상을 스마트폰으로 전송하는 방법을 찾던중CC3200 Launchpad을 이용해서 디지털 카메라 연결하고내장된 Wi-fi 모듈을 통해 전송되는 영상을 모니터링하였다.카메라 모듈은 MT9D111를 사용하였다Uniflash로 기본으로 제공되는 패키지를 다운로딩하고 PC또는 스마트폰으로 Wi-fi를 CC3200으로 접속하고 난뒤mysimplelink.net/camera_demo.html로 접속하게 되면위와 같이 실시간으로 영상을 모니터링할수가 있다

Matlab - Joystick 연동

Matlab으로 로봇 팔 제어 시뮬레이션을 만들었는데End Point를 제어할 방법이 뭐가 있을까 하다가실험실에 있는 로지텍 조이스틱을 활용하기로 해보았다Matlab 내장함수중에 COM포트를 읽어서 시리얼 통신으로 들어온 데이터를 저장하는 기능이 있다 조이스틱에서 날라오는 값은 크게 Axis와 Button 두개의 배열이 있는데조이스틱 모델마다 버튼의 갯수와 아날로그 스틱의 갯수가 다르기 때문에배열의 크기도 달라진다적절하게 원하는 버튼을 선택한뒤 데이터를 불러와 변수에 저장하면위와 같이 Matlab에서 실시간으로 연동할수가 있다(Matlab 코드의 연산시간과 plot의 복잡성에 따라 약간의 레이턴시는 존재한다)

ROVATA robot arm test

URC 미션중 robot arm을 이용해서 value를 열고 switch를 켜는 미션이 있다.원래는 RF 모뎀을 이용하여 무선으로 조이스틱 명령을 줘야하지만 우선 테스트를 위해 robot PC에 직접 유선으로 조이스틱을 연결하여 테스트를 하였다.Angle value를 여는 영상 Ball value를 여는 영상 Switch를 눌러 켜는 영상 아직 역기구학을 구해서 동작시키는건 아니고 순기구학으로각 joint의 명령을 조이스틱의 버튼으로 제어를 해서 약간은 부자연스러운 동작이 있다.

ROVATA robot arm design

실험실에서 준비하고 있는 화성탐사로봇대회URC 2016에 참가하기 위해 준비하고 있는 로봇그 중 robot arm 설계를 맡게 되었는데 우선 레고 NXT부품을 이용하여대략적인 기구학적 움직임을 설계해 보았다. 이를 토대로 3D CAD를 이용해 실제 구동될 모터를 고려하여 설계를 한 뒤구속조건을 주어 메커니즘 시뮬레이션을 확인하였다. 3D CAD에서 설계한 부품을 Auto CAD로 변환하여 각 부품을 가공하여 조립한 모습이다.Grip을 담당하는 모터 1개와 Rotation을 담당하는 모터 1개, 총 2개의 모터로 2자유도를 가진다.추후 Linux에서 XBOX 360 pad의 입력값을 받아 각 모터를 위치제어하는 구조로 설계예정이다.

AVR을 이용한 Load cell 연동

로드셀로 로봇 다리의 지지력을 구하기 위해서ATmega128의 ADC를 이용하기로 하였다.우선 로드셀은 음전압을 필요로 하기 때문에 ICL7660으로 음전압을 발생하고+IN과 -IN의 전압 resolution이 작기 때문에 AD620으로 500배 증폭을 시켜준다.빵판으로 테스트 완료 로봇에서 로드셀을 최대 6개까지 사용하기 때문에 ADC핀 PF0~PF5를 사용하도록뜨게질 납땜으로 보드를 제작하였다.ATmega128의 RS-232통신으로 출력값을 보내고 이를 PC에서 수신하여 plotting해보았다. Matlab으로 plot해본 결과offset값을 수정하여 무게를 감지하는 것을 확인하였다. (노이즈가 있어서 low pass filter를 적용하였다)