Quadrotor20152015. 8. 31. 20:19


오늘은 윙윙이를 변신시키는(다이어트?) 과정을 포스팅해보려 합니다~ 편안하게요 ㅋㅋ


음.. 갑자기 생각난건데 최근 밴드 혁오의 윙윙 이라는 노래가 음원차트 상위권에 랭크되어있던데.. 


비슷하네요 ㅋㅋ 저도 쿼드로터가 날 때 윙윙거려서 윙윙이라고 지었는데 ㅋㅋ


어쨌든! 경량화 해야지 해야지 하면서 미루다가 이제서야 하네요.. ㅜ


먼저 다이어트 전 윙윙이입니다.



프롭가드 빼니까 좀 허술해보네요 ㅋㅋㅋ 물에 빠진 강아지마냥..


이왕 하는김에 어느 파츠가 몇 그램인지 측정하기위해 완전 분해를 결심했습니다~!


(그래놓고 측정한거 써놨던 종이 잃어버림 ㅜㅜ)


완전 산산조각났을 때는 정신이 없어서 사진을 못찍었네요 ㅠㅠ 


작업중에 건진 사진은 달랑 이거 하나..




프레임이 무거울줄 알았는데 오히려 모터가 꽤 무겁더라구요..


무게를 1/3정도 줄이는걸 목표로 삼았는데 무리라는 생각이 들었습니다.ㅜㅜ



아두이노 배선이 지저분하죠? 


직접 PCB를 뜨지않는 이상 전선은 어쩔 수 없다고 생각하고.. 최대한 무게를 줄여보자는 마음에!


전선은 좀 더 얇고 가벼운 걸로 싹 교체하고! 


저 검은 소켓을 비롯해 전원소켓, USB소켓까지 필요없는건 다 없애버렸습니다.




USB소켓은 프롭가드랑 닿아서 연결이 힘들길래 아예 선으로 빼서 늘어뜨려 놨어요~!


음.. 지금보니 무식하게 선을 납땜해놨는데.. 


전자과나 고수분들이 보시면 욕할지도 모르겠네요ㅜㅜ





아크릴판으로 층을 만들어서 따로 장착했던 센서도 한 층에 몰아넣었습니다ㅋㅋ


이왕 하는거 스펀지+양면테이프로 방진 효과도 노려 보고!


프롭가드도 프롭에 닿을랑 말랑해서 불안했는데


새로 만들어서 안쪽을 칼로 도려냈습니다~! 무게도 줄일겸 ㅋㅋㅋ




짠~! 진짜 뭔가 새로워진 것 같아서 개발 의욕도 솟더라구요


무거움 -> 더 많은 추력 필요 -> 더 많은 모터 회전 필요 -> 더 많은 진동 -> 센서로 전달


이런 식일까봐 무게를 줄여봤는데 잘한 것 같네요


줄인김에 +콥터에서 x콥터로 바꾸니까 자세제어도 더 잘되고..


컴퓨터 폴더 살펴보다가 사진이 보이길래 지나가는 포스팅을 해봤습니다~


기술적인 부분은 다음 포스팅에..






Posted by 너를위한노래
Quadrotor20152015. 7. 24. 23:55

포스팅이 뜸한 사이 윙윙이(쿼드로터)에 많은 변화가 있었습니다~


점프선으로 복잡하게 얽혀있던 선을 모두 자르고 컴팩트하게 납땜해서 보기좋고 가볍게 해놨고, 센서에 방진장치로 양면테이프+스펀지를 대서 방진효과를 기대할 수 있게 해놨고, 불량 모터 교체, 라즈베리파이에서 오드로이드C1로 개선, 개발환경 구축, 시리얼 통신 비용 감소, +콥터에서 x콥터로 변경, 조종 어플 개선 등등 많이도 했네요.


그리고 그 동안은 게인값 튜닝에 많은 시간 투자를 했었는데.. 홧김에 제어기를 추가하니까 확실히 성능이 개선됐습니다.


아래 영상은 수동 조종 모드로 호버링을 시도한 영상입니다.



고도는 80cm로 고정시켜 놓았고 tack-off 버튼과 landing버튼으로 이륙과 착륙을 할 수 있게 해봤습니다. yaw각도 고정입니다.


이제 시작이네요! 이걸로 뭘 하느냐가 중요한 것 같습니다.


부셔먹지 말고 조심히 잘 해야지..


------------------------------------------------- 2015.07.29 추가 -------------

위 영상의 사용된 하드웨어는 아두이노Mega2560 + 오드로이드C1 + 갤럭시s4입니다. 오드로이드 운영체제는 RTOS가 아닌 하드커널에서 제공하는 우분투를 사용했고, 갤럭시s4는 안드로이드 KitKat(4.4.2)입니다. 

무선통신은 Wifi를 사용해 UDP통신을 하는 중이고(가끔 딜레이가 생기던데 원인 파악중..), 안드로이드 쪽에서 핫스팟을 켜두면 오드로이드에서 붙는 방식을 취하고 있습니다~







Posted by 너를위한노래
Quadrotor20152015. 6. 18. 18:53

MPU6050의 데이터 시트를 보면 DLPF(Digital Low Pass Filter)정도를 조작할 수 있는 레지스터가 있습니다.


아두이노 MPU6050 라이브러리를 보니까 MPU6050_DLPF_BW_xxx로 나와있네요.


xxx자리에 256, 188, 98, 42, 20, 10, 5라고 쓰여있는데 숫자가 낮을수록 더 낮은 주파수만 통과시키는 것 같습니다.


오늘 포스팅에서는 쿼드로터에 달린 MPU6050의 자이로 센서만 가지고 DLPF 성능을 비교해볼껀데요,


실험 할 때는 쿼드로터가 뜰랑 말랑할 정도까지 모터를 작동시키되, 손으로 눌러서 바닥에 고정시켰습니다.


각속도인 가속도 센서 출력은 0이 나와야 정상인데 모터로 인한 노이즈를 측정한 셈입니다.


위에서부터 BW는 5, 42, 256입니다. 대충 3개만 집어서 테스트해봤습니다.


데이터는 스케일링 해서 [deg/s^2]로 변환했습니다~





BW를 5로 해서 진동에 둔감하게 하면 반응이 느려지는가 싶어서 센서 두 개를 같이 장착하고 BW를 다르게해서 각도 변화를 살펴본 결과,


반응이 느려지지 않았습니다.


왜 느려지지 않는지 모르겠네요 ㅠ 하드웨어적으로 LPF하는 기능이 들어가있는 건지.. 


이에 관해 아시는 분 계신다면 댓글남겨주시면 감사하겠습니다 ㅠㅠ









Posted by 너를위한노래
Quadrotor20152015. 6. 15. 20:36

멀티콥터 관련 검색중에 좋은 글이 있어 퍼왔습니다. 

출처는 http://www.internetmap.kr/1479 입니다. 직접 들어가시면 더 좋은 글도 많을 것 같네요.


------------------------------------------------------------------------------------------------------

멀티콥터를 조립해볼까 싶어 여기저기 뒤적거리는 중에, 좋은 문서를 발견해서 번역해봤습니다. 이 글의 제목인 Build your own Multicopter 라는 글입니다. 멀티콥터를 구하는 방법은 단순 완제품 구입하는 것부터 프레임부터 제작하는 방법까지 아주 다양한데, 어떻게 시작하면 좋은지를 비교하고 있습니다.

며칠전 우연히 읽었던 "Build My Own Quadcopter ? 나의 쿼드콥터 제작기" 라는 글에서 저자가 주로 참고했다는 사이트입니다. 

이번엔 꽤 공을 들여 번역했습니다. 멀틱콥터 조립에 관심이 있으시다면 많이 도움이 될 것 같습니다.

멀티콥터를 제작하는 방법은 아주 다양하다.


  1. 사려깊게 천천히 나아가는 것이 두발로 한꺼번에 뛰는 것보다 낫다. 너무 빨리 하려고 시도하다보면 실망하기 쉽다.
  2. 처음에는 간단하고 작은 쿼드콥터, Ready to Fly(완제품) 또는 All Inclusive Kit(완전 조립 키트)로 부터 출발하면 좋은 경험을 쌓을 수 있다.
  3. DIY 경험이 많은 사람이라면 아래에서 언급하는 F450 FlameWheel 과 같은 Almost Ready to Fly(반 완제품) 정도도 좋다.
  4. 멀티콥터를 처음 만진다면, 처음부터 사진/비디오/ FPV(First Person View) 등은 시도하지 말고 그냥 좋은 쿼드콥터만 만들라.
  5. 자신이 원하는 걸 잘 아는 사람일지라도, 멀티콥터와 조종기를 능숙하게 다루는 데는 시간이 필요하다.
  6. 조금 맛만 보고 즐기려면, 작고 싸고, 튼튼하고, 안전한 마이크로 쿼드콥터를 시도해보라.
  7. 정말 진지하다면 FlameWheel 기반 ARF(반완제품) 조립을 해보거나, 그냥 단순히 날려보고 싶고 자금이 풍부하다면 고급형 Iris 쿼드콥터를 구입하라.
  8. Iris에는 최고급 Pixhawk 콘트롤러가 포함되어 있으며, Iris와 FlameWheel 은 모두 필요시 FPV 또는 Video 를 달 수 있다.
  9. Flip Sport 와 같이 정말 괜찮고 간단한 쿼드콥터 제작법에 관한 완벽한 문서가 없다면, Frame Up Build(프레임기반 수제작)는 하지 말라.
  10. 절대로 Build your own Frame(완전 수제작)은 피하라. 설령 경험많은 제작자들이라 할지라도 성공보다 실패확률이 높다.
  11. 처음부터 여러가지 사진/비디오 장비를 장착한 큰(위험한) 멀티콥터부터 시도하는 것은 절대로 하지 말라. 반드시 후회하게 된다.
  12. 어떤 경우에도, 작고 빠른 쿼드콥터를 날리는 것이, 크고 무겁고 느린 헥사/옥토 콥터보다 훨씬 재미있다.
  13. 최고급 전문가용 HD 비디오나 사진을 달아야 하는 경우를 제외하면, 작고 가볍고 빠른 콥터가 항상 좋다.
  14. 멀티콥터에서 가장 중요한 것은 안전이다. 살아있거나 비싼 물건과는 일정 거리를 확보하라. 안전매뉴얼을 참고할 것.


중국 직수입의 장단점


  1. 단지 싸다는 이유로 중국에서 여러가지 물건을 직수입하려는 유혹이 생기기 마련이지만, 별로 좋은 생각은 아니다.
  2. 경험이 쌓이면 어떤 수입물품이 서비스가 가능한지 알게되지만, 처음부터 시도하는 것은 실패하기 쉽다.
  3. 주요 전자기기(콘트롤러 등)은 생산자로부터 구입하는 것을 추천한다. 예를 들어 Pixhawk는 3DRobotics로 부터. 
  4. 부속 전자기기(GPS, 전자나침반, telemetry, 필요시 OSD 등) 도 3DRobotics에서 구하는 것도 좋다.
  5. FPV 가 필요할 경우, 3DRobotics의 FPV 키트나, FatShark의 Altitude 비디오 고글과 전송기를 구하라.
  6. 카메라의 경우, GoPro Hero 3(특히 Black)가 좋다. 널리 사용되고 작동도 잘된다.
  7. DJI의 FlameWheel ARF(근 완제품) 키트도 중국산이기는 하지만, 품질이 좋으므로, 어디에서 구입하든 무방하다.
  8. 초보자용 미니 쿼드콥터로 추천되는 Traxxas, Hubsan, Helimax 도 중국산이기는 하지만, 초보자에게 적당하다.
  9. 모터, 배터리, ESC, 프레임, 혹은 FRSky, Turnigy RC 전송/수신기 등은 중국에서 직접 수입하면 저렴하게 구할 수 있다.
  10. 국내에서 구할 수 있는 많은 제품들이 사실은 중국산이며, 물론, 어느나라 제품이냐에 관계없이 품질은 많은 차이가 있다.
  11. 25달러짜리 RC-Timer 모터가 동급의 100불짜리 Tiger 모터와 품질이 비슷할 가능성은 거의 없다. 그래도 25달러니까.
  12. 중국 직수입시 배송은 대부분 믿을 만 하지만, 사후 지원이나 반송 등은 문제를 일으킬 공산이 크다.
  13. 중국 직수입시 10% - 20% 정도는 깨지거나 망가졌거나, 일부가 빠졌을 거라고 생각해두면 크게 실망하지 않을 것이다.
  14. 어떠한 경우에도, 먼저 아래에 있는 두세가지 추천 제작법으로 시작하면, 성공의 기쁨을 누리고 조종법을 익힐 수 있을 것이다.


저렴한 RTF(완제품) 마이크로/소형 쿼드콥터


멀티콥터 초보자라면, 아래에 서술하는 몇가지 저렴한 마이크로 쿼드콥터로부터 시작해보길 강력하게 추천한다.

  1. 이들은 무전기, 배터리 등 모두 갖추어져 있어 조립이 필요치 않으며, 견고하고 조종법 배우기에 좋다.
  2. 또한 아주 재미있고, 실내에서도 쉽게 안전하게 날려볼 수 있다. 가격은 대략 10만원 안쪽
  3. 중요한 점으로서, 작동원리에 대해서 잘 이해할 수 있게 되며, 앞으로 무엇을 해야할 지 파악할 수 있다.
  4. Traxxas QR1 Quadcopter는 저렴한 완제품 쿼드콥터로서, 최초 경험시 좋다. 
  5. 45달러짜리 Hubsan X4는 Traxxas와 거의 동일하며, $70 짜리는 사진과 720p 비디오를 촬영할 수 있다.
  6. 200달러짜리 Hubsan은 진짜 쉬운 FPV 가 가능하며, RC 전송기와 뛰어난 LCD 디스플레이가 포함되어 있다.
  7. Hubsan 은 부품도 별도로 구매할 수 있다. Hobby Flip
  8. Helimax 1SQ 도 저렴한 손바닥 크기의 쿼드콥터.
  9. 정말로 정말로 쪼그만 40달러짜리 Estates Proto X는 원래 Hubsan H111 으로서, 정말 잘 난다.
  10.  


  11. 아래는 아주 튼튼한 드론으로, Amazon Prime에서 제작한 88달러 짜리 UDI U818A 2.4GHz Quadcopter with Camera 이다.
  12. 처음으로 멀티콥터를 구입하려는 분은 반드시 RockLandUSA의 글을 참고할 것
  13. 아래 90 달러짜리 Blade Nano QX는 추천작으로, 아주 가볍고 날리기 쉬우며 매우 튼튼하다.
  14. 지금 시작한다면, 이상과 같은 여러가지 중 하나를 선택해서 조종법부터 익히길 바란다. 엄청난 돈을 절약하는 길이다.


All Inclusive Kit(완전 조립 키트)


  1. 가장 쉬운 조립법은 박스에 모든 부품과 단계별 조립방법이 다 포함된 키트를 구입하는 것이다.
  2. RTF(완제품)을 제외하면, 괜찮은 멀티콥터를 조립할 수 있는 가장 신뢰할 수 있고 간단한 방법이다.
  3. 대부분 모든 제품이 균형이 잘 맞으므로, 전체 제품이 잘 동작할 가능성이 높다.
  4. 모두 포함된 키트의 경우, 볼트 너트, 혹은 약간의 납땜작업만으로 완료된다.
  5. 조립 절차는 딸려 오는 매뉴얼에 잘 설명이 되어 있다.
  6. 단점이라면, 품질이 좋은 키트의 경우 다른 대안보다 약간 비싸며, 업그레이드가 필요할 수 있다는 것이다.
  7. DIY에 익숙하지 않다면, All Inclusive Kit(완전 조립 키트)로 시작하는게 좋다.
  8. 3DR의 Copter는 진정한 의미의 DIY 키트로서, APM2.5 콘트롤러와와 여러가지 옵션이 있다.
  9. 최신의 혁신적인 Iris QuadCopter는 사실 완제품(Ready to Fly)로서 최고급 Pixhawk 콘트롤러가 탑재되어 있다.
    • 완전 자동 운항이 가능하며 RC 송수신기, 배터리, 텔레메트리가 모두 포함되어 있는데, 750 달러면 정말 싼거다
    • Iris는 구조적으로 튼튼하고 탄성이 있고, GoPRO 또는 FPV(First Person View)를 지원하도록 설정되어 있다.



Almost Ready to Fly(반완제품)


  1. 모든 것을 원하고, 가장 다재 다능한 멀티콥터를 원한다면, 가장 좋은 솔루션은 바로 위에 있는 Iris 이다. 
  2. 기존에 RC 송수신기가 있어 예산을 절약할 수 있으며, 고품질의 자동운항 쿼드콥터를 제작하고 싶을 수도 있다.
  3. 처음 시작하는 사람도 시도해볼 수 있는 괜찮은 선택지가 몇 개 있다.
    1. DJI F450 FlameWheel 쿼드콥터 ARF(반완제품) 키트가 현시점에서 유일하고도 가장 최선의 선택이다.
    2. 이 키트는 프레임, 전기회로가 내장된 보드, 4개의 ESC(전자변속기) 및 모터, 8개의 프로펠러로 구성된다.
    3. 여기에 Pixhawx 콘트롤러와 배터리, 전파 송수신기를 별도로 구입해야 한다.
    4. 키트에 포함된 부품은 모두 품질이 뛰어나며, 진짜 DJI FlameWheel 프레임은 아주 견고하고 튼튼하다.
    5. 가격: F450 ARF(반완제품) 키트 $180, Pixhawk with GPS/Compass $280, 배터리 $35.00 = ($495.00) 여기에PPM-Sum 송수신기 추가 필요.
  4. 대안으로 F450보다는 약간 작은 DJI F330 FlameWheel 쿼드콥터도 좋다. 좁은 장소에서 사용할 경우에는 더 좋을 수도 있다.
    1. F330을 기반으로한 조립법은 위키페이지를 참조. F450에도 동일하게 적용가능하다.
  5. 이보다 저렴한 대부분의 ARF(반완제품) 키트는 전혀 튼튼하지 않고 부품들이 자주 망가진다.
  6. F450 ARF(근 완제품) 키트는 여기에서 살 수 있다. F350 키트도 있다.
  7. 모양이 비슷한 모조품 키트는 절대 사지마라. 진짜 DJI 모터와 ESC는 품질이 아주 좋고 프레임이 튼튼 하지만 모조품은 그렇지 않다.
  8. 더 비싸고 고품질의 ARF(반완제품) 키트도 있지만, FlameWheel는 잘 작동하며 성능이 우수하다.
  9. 초기투자 비용을 가능한 한 낮추려면 간단한 콘트롤러로 시작한 후, 나중에 Pixhawk로 바꾸는 방법도 있다.
  10. F450 도 GoPro와 Gimbal 을 채택한 사진/비디오 콥터로 구축하거나, FPV 플랫폼으로 사용할 수 있다.
  11. DJI F550 ARF(반완제품) 헥사콥터는 더 고급 용도로 좋지만, 첫 멀티콥터로서는 과하다.


프레임 기반 수제작(Frame Kit)


  1. 프레임 키트를 기반으로한 멀티콥터 수제작에 발을 딛는 것은 큰 도전을 의미한다. 초보자에겐 전혀 해당되지 않는다.
  2. 특정한 모델에 대한 자세한 제작법을 따라하는 것이라면 예외이다.
  3. 나는 현재 Flip 380 Sport 쿼드콥터와 Tarot 650 Carbon Fiber 쿼드콥터 등 두가지를 제작중이다.
  4. 각각의 제작 이유와 제작방법을 기술한다.
  5. Hoverthings의 Flip 380 Sport 프레임은 현재까지 가장 튼튼한 프레임 이다.
    1. 이 프레임 키트에는 놀라울 정도로 하고 강한, CNC 절삭 1/4 인치 유리섬유 지지대와, G10 유리섬유 중심판(center plate)이 들어있다.
    2. DJI FlameWheel 에서 사용하는 모터와 ESC 를 사용할 수 있다. 10인치 프로펠러까지 사용가능.
    3. 나는 Flip Sport 키트 외에 "tab" 타입 중심부와 추가로 7/8" 기둥(spacer)을 구입하였다.
    4. 중심판(center plate)에 7/8" 기둥으로 설치한 추가 중심부에는 배터리와 비행기기를 설치한다.
    5. 나는 보유중이던 DJI FlameWheel 모터 4개에 콥터 중앙판에 설치할 수 있는 4 I n 1 ESC 를 사용했다.
    6. 4 in 1은 RF 및 DC 간섭이 훨씬 적고 4개의 ESC 및 전력배분보드에 비해 훨씬 깔끔하다.
    7. 프로펠러는 GemFan DJI hub compatible 10" 탄소충전 프로펠러 를 사용한다. 아주 튼튼하고 효율적이다.
    8. 내 목표는 DJI F450 보다 훨씬 강하고 고성능인 콥터를 저렴하게 제작하는 것이다
    9. Flip 이 작기는 하지만 강력하고 빠르며 FPV 비디오나 GoPro 카메라, 브러시리스 짐벌(gimbal) 까지 장착할 수있다.
    10. Hoverthings Flip Sport Quadcopter Wiki Build Page에는 Pixhawk 와 PX4 콘트롤러를 사용한 제작방법이 들어 있다.

  6. Tarot 650 은 탄소섬유 프레임으로 대형 쿼드콥터를 제작할 수 있으며, 17인치 프로펠러까지 장착할 수 있다
    1. 나는 360kv 짜리 저속 대구경 Pancake 모터를 사용한다. Pancake 모터는 대형프로펠러를 낮은 속도에서 효율적으로 회전시킬 수 있도록 설계되어 있다.
    2. 나는 프로펠러 직경에 따른 성능과 효율을 알아보기위해 14" ~ 17" 여러가지 프로펠러를 테스트할 예정이다.
    3. 위에서 언급한 Flip Sport는 첫 쿼드콥터로도 가능하지만, 이 Tarot 650 은 절대 아니다.
    4. 이 쿼드콥터는 무거운 짐을 오래 견디거나 대형 비디오 카메라를 탑재하는 등에 충분하지만, 
      1. payload(유효탑재량) 2kg 을 들어올려면 상당한 모터와 프로펠러가 필요하다
      2. Four Togermotor MN4010 475 kV 모터는 개당 86 달러이며. 추가로 15×5 또는 16×5 프러펠러 4개. 고품질 30A ESC 4개가 필요하다.
      3. 총중량 4kg 에 약 10분간 비행하려면 4cell Lipo 배터리 10,000 mAh(5,000 두개)가 필요하다
      4. 유효탑재량 2kg 포함 총중량 4kg을 들어 올릴수 있어야 하며 50% 예비 출력(reserve thrust) (최소) 를 남겨 두어야 한다. 총 6kg
      5. 이 정도면 16×5" 프로펠러가 필요하다
      6. 그래서 kV 가 낮으면서 큰 모터가 필요한 것이다. 반드시 고품질로 일정한 고출력을 견딜 수 있어야한다.
      7. 절대로 이를 최초의 쿼드콥터로 시도하지 말라.
  7. 여러 멀티콥터별 부품을 기준으로 성능 요구사항을 계산할수 있는 사이트 : eCalc


완전 수제작(Scratch build)


  1. 멀티콥터에 경험이 없는 사람도 종종 시도하나, 대부분 실패한다.
  2. 가장 간단한 수준이라면 막대기나 나무조각, 합판 등으로도  제작할 수 있다
  3. 그러나, 이런 것들은 잘 날기 힘들고 사용성도 떨어지며 완벽하게 착륙하는 것조차 견뎌내기 힘들다.
  4. 아울러 돈도 절약되지 않는다. RTF(완제품), 완전 조립키트, ARF(근 완제품) 등이 고품질의 잘 균형이 맞는 부품들로 구성되어 있어 가격이 저렴하다
  5. 아주 경험이 많은 모델설계자, 공학자, 기계공학자일지라도 처음부터 이 방법부터 시도하는 것은 절대 피하라. 
  6. 멀티콥터는 나름의 비행동역학에 따라 동작하며, 나름의 구조적 요구사항이 있다.
  7. 이러한 분야에 경험이 없다면, 멋진 멀티콥터를 설계하고 제작할 가능성은 거의 없다.
  8. 이 사이트에는 초보자가 bent(구부러지는) 알루미늄 판을 사용해 멋진 쿼드콥터 설계가 올라와있다.
  9. 불행히도 Bent 알루미늄은 부드러운데, 콥터는 무거우며 경착륙이 흔하여, 찌그러지는 것을 피할수 없다
  10. 경험이 많다고 해도 콥터를 여러대 만들어본 후에야, 쓸만한 설계가 가능할 것이다.
  11. 전문가만이 할수 있다는 것은 아니지만 완전 수제작을 해보겠다고 생각이라도 해보려면 적어도 서너개의 상업적 쿼드콥터를 철저히 연구해 보아야 할 것이다.
  12. 나는 현재 콥터를 10개이상 설계했지만 하나도 제작하지 않았다. 언젠가 제작하겠지만 아직까지 준비되지 않았다는 것을 알고 있다


RTF(완제품) 브랜드


완제품(RTF) 쿼드콥터중에서 유명한 브랜드로는 Parrot, DJI Phantom, Blade 350QX 등이 있다.

  1. 이들은 각기 능력의 범주내에서 잘 만들어져 있으며 가격도 적절하다.
  2. 그러나 개조나 개선이 힘들고, Pixhwk 와 같은 강력한 콘트롤러로 업그레이드하기 힘들다
  3. 따라서 이들은 적당한 기능을 가진 원스톱 솔루션이나, 다른 한편으로는 높은 비용으로 더이상 갈 곳 없는 막다른길이다.
  4. 같은 금액으로 FlameWheel ARF 키트에 최고급 Pixhawk 를 결합하면, 훨씬 뛰어난 콥터를 제작 할 수 있다.

나에게 어떤 방법이 좋을까


  1. 자신의 능력에 맞는 접근법을 잘 선택하는 것이 중요하다. 과도한 욕심을 버리면 안좋은 결험으로 끝난다.
  2. 특히 한번에 모든 걸 해보기 보다, 건실하고 보수적으로 접근하는 것이 매우 중요하다
    1. 간단한 것은 RTF(완제품)이나 All Inclusive Kit(완전 조립 키트)이다.
    2. 하지만 좋은 ARF(반완제품) 키트에 잘 선택한 부품을 추가하면 아주 뛰어난 콥터를 제작할 수 있다
    3. ARF(근 완제품) 접근법은 종종 저렴한 투자로 자신의 목적에 맞는 콥터를 제작할 수 있다
    4. 프레임 기반 수제작(Frame Kit)법은 제작자가 서로 잘 맞는 부품을 선정할수 있는 능력이 있다는 것을 가정한다.
    5. 하지만 자신의 요구나 희망에 최적화 된 콥터를 제작할 수 있다
    6. 특정한 프레임 키트에 맞는 상세한 제작법을 따라하는게 아닌 이상, 최초의 쿼드콥터를 프레임키트 방식으로 제작해서는 안된다.
    7. 완전 수제작(Scratch build)는 프레임 기반 수제작 방식보다 배 이상 어렵다. 사실 멀티콥터 프레임을 제작하는 것이 어렵지 않다.
    8. 하지만 전반적인 절차와 잘 맞는 부품을 찾는것은 정말 경험이 많은 멀티콥터 운영자나 제작자의 영역이다.
  3. 상업적 사진이나 비디오를 촬영하기 위한 정말 비싸고 고급 멀티콥터는 이 문서의 범위 밖이다
  4. 내가 현재 가지고 있고 앞으로 제작할 콥터는 3DR APM, PX4 혹은 Pixwhark 콘트롤러를 사용한다.
    1. 이들은 현재 사용가능한 콘트롤러중 성능이 좋고 최고로서, DIYdrone 커뮤니티의 지원을 받고 있다
    2. 복제품이나 유사품을 조심하라. 약간의 차이가 전체를 못쓰게 할 수 있다
    3. 마지막 경고 : "매수자 위험부담". "투자한 만큼 얻는다"


출처 : 
http://www.internetmap.kr/1479


Posted by 너를위한노래
Quadrotor20152015. 4. 18. 16:41

초음파 센서를 이용해서 고도 PID제어기를 구현해서 실험한 영상입니다. 덤으로 자세제어기도 작동되고있습니다~


제원은.. 아두이노 Mega2560, 초음파센서 SRF08를 이용했네요.




왼손으로 잡고있긴 한데.. 저건 아두이노랑 PC랑 연결선을 잡고있는거지 기체를 잡고있는게 아니예요 ㅋㅋ






Posted by 너를위한노래
Quadrotor20152014. 7. 15. 23:55

요새 초음파센서를 이용한 고도제어를 구현하고 있는데.. 이것도 테스트하는게 제일 골치아프네요 ㅠㅠ


그래서 테스트에 앞서 제가 구현한 고도 PID결과가 맞는지 검증하기 위해 이론을 바탕으로한 시뮬레이터를 만들어 봤습니다


이론이라 그런지.. 결과는 대 만족이었지만 실제 쿼드에서 돌리려니 이런저런 문제가 또 발생하네요.. 이건 이 후 포스팅에서 다루기로 하고 여기선 시뮬레이터에 대한 내용만 다루겠습니다.


먼저 구현한 시뮬레이터 구조도는 이렇습니다



시뮬레이터 전제는 이렇습니다


여기서 먼저 알아둬야할 것은 우리가 흔히 말하는 무게의 단위가 kg이 아니라는 겁니다. 무게는 F(힘)이고 F=ma에 의해 단위는 (=N)입니다. 따라서 저울로 측정한 제 쿼드의 무게는 800N이 된다는거죠. 바닥에 놓여있는 제 쿼드는 항상 지면을 800N으로 밀고있다고 할 수 있습니다. 


프롭을 돌리면 바람에 의한 추력(F=힘)이 발생될테고 점점 세게 돌린다면 어느순간 800N의 추력을 내게 됩니다. 그럼 이제 쿼드 기체는 힘의 평형 상태인거죠. 이상태에서 조금만 더 프롭을 세게 돌린다면 쿼드는 뜨기 시작합니다. 


이 때, (추력-800N)만큼의 힘을 받는 쿼드 기체는, F=ma에 의해 질량의 반비례한 가속도로 뜨기 시작합니다.


가속도는 속도를 낳고, 속도는 위치를 변화시키죠. 이 내용을 가지고 시뮬레이터를 구현해보았습니다.


그리고 제가가진 초음파센서도 심플하게 모델링해 넣고 측정값을 바탕으로 프롭의 속도를 조절하는 PID제어기를 시뮬레이션 해봤는데 결과는 다음과 같습니다.




황색이 쿼드의 높이고 파랑, 초록, 빨강 순으로 P, I, D 제어량 수치(y축과 관련x)입니다.


그래프는 아주 맘에 듭니다 뜨기 시작한 후 약 2초 안에 원하는 40cm에 수렴하니까요..


하지만 이렇게 되었다고 쿼드에 적용하고 프롭을 돌릴순 없는게 함정.. ㅠ 실제 센서의 노이즈와 여러 변수에 대한 대책도 있어야하니까요..


실제 쿼드에 적용한 이야기는 다음 포스팅에서 다루기로 하겠습니다.



-------------------------------------------------------------- 14년 7월 16일 추가 -------------------------


수렴할 때 왜 I제어량만 많느냐에 대한 설명을 빼먹었네요..


보통 모터의 속도제어같은 경우 P가 증가된 상태에서 I와 D가 0 근처에서 왔다갔다 거리는 결과가 나오는데 이건 그렇지가 않아서 고민을 많이 했습니다. 틀린거 아닌가?


처음 생각엔 가속도를 가지도 위치를 제어하려고 하니까 적분항이 이렇게 나오는구나~ 하고 넘어갔는데 지금은 다른 이유가 있는거 같아요


I가 정상 상태 오차를 커버해준다는 점을 생각해보면, p로 인한 제어량이 무게를 이기지 못하면 결국 위치는 0이니까.. 정상상태 오차가 40이 되어버리는거잖아요? 정상상태 오차가 100%니까 결국 I제어량만 남을것이다~ 라는 생각이 드네요


-------------------------------------------------------------- 14년 10월 14일 추가 -------------------------


PID제어를 모두 사용하지 않고 baseThrottle + P + D로도 가능할거 같다는 의견을 남깁니다. 여기서 baseThrottle은 기체의 무게(mg)와 같은 추력을 발생시키는 throttle값입니다.



-------------------------------------------------------------- 15년 8월 20일 추가 -------------------------

쿼드콥터 모델링 시 duty가 곧 추력이라고 해놨는데.. duty는 모터 회전 속도를 만들어 냅니다.


추력은 모터 회전 속도의 제곱에 비례한다는 사실을 덧붙여 추가합니다.









Posted by 너를위한노래
Quadrotor20132013. 12. 13. 19:15

쿼드의 핵심인 센서와 보드에 대해 다뤄보겠습니다.

 

일반적으로 RC하시는분들은 제어보드를 FC보드(Flight Control Board)라고 하더라구요. 갑자기 생각난건데 처음 쿼드만드시는 분들은 용어가 생소해서 고생하실 겁니다.. 프롭이니 리포배터리니 통돌이모터 프롭밸런서 등등 이런 단어를 알아야 검색도 하고 공부도 하는데 모르면 난감해요 ㅠ


제어보드의 종류는 많습니다. 아두이노 같이 빵판처럼 온갖 프로그램을 올릴 수 있는 보드에도 제어 소스만 올리면 제어가 가능하니까요. 쿼드콥터 제조 회사나 커뮤니티에서 만들어 지는 것 같습니다. AeroQuad, MultiWii 등 오픈되어있는 소스도 있구요, 이 오픈소스들을 그대로 보드에 올려서 사용하려면 해당 소스에 맞는 하드웨어에 올려야합니다. (센서나 하드웨어사양이 충족되어야 한단 소리입니다)


제어보드의 사양은.. 당연한 소리겠지만 빠르면 빠를수록 좋습니다. 제어 알고리즘을 돌리는데 1초가 걸린다면 전혀 쓸모없는게 되어버리니까요. 

뜨기 위한 보드의 제어 주기는 최소 5ms는 되어야 뜰까말까입니다. 10ms로 하면 시소제어는 되는데 전혀 뜨질 않고, 5ms로 하면 불안정하게 뜨고, 3ms로 하니까 나름 안정적으로 뜨는것 같습니다. 제가 직접 겪은 이야기입니다 ㅠ 이 글을 읽는 여러분은 이런 고생 겪지 않길 바랍니다.


이 제어 주기라는 것은 센서와 깊은 연관이 있습니다. 보드가 아무리 빨라봤자 센서의 최대 샘플링 간격이 1초라면 보드 제어주기는 1초로 맞춰질수밖에 없기 때문입니다. 센서 구매시 잘 선택하시길 바랍니다. 제 경우는 최대 10ms의 속도를 가지는 50만원짜리 센서를 가지고 제어를 해 왔는데.. 지금 보면 되지도 않는 하드웨어 사양을 가지고 엄청 고생한거네요. 50만원짜리 고급 센서보다 9천원짜리 MPU6050이 더 빠른데 말이죠. 



위 표는 MPU6050의 사양입니다. 밑의 Update rate를 보시면 자이로는 최대 0.125ms, 가속도는 최대 1ms 이네요. 왜 범위로 되어있냐면~ MPU6050센서 내부의 레지스터를 조작해서 LPF를 쓸 수 있게 되어있는데, 그 LPF설정에 따라 유동적이기 때문이라는 생각이 드네요.

아무튼, 센서마다 이런 사양이 있으니까 꼭 참고해서 결정하시기 바랍니다.


MicrocontrollerATmega2560
Operating Voltage5V
Input Voltage (recommended)7-12V
Input Voltage (limits)6-20V
Digital I/O Pins54 (of which 15 provide PWM output)
Analog Input Pins16
DC Current per I/O Pin40 mA
DC Current for 3.3V Pin50 mA
Flash Memory256 KB of which 8 KB used by bootloader   
SRAM8 KB
EEPROM4 KB
Clock Speed16 MHz

위 표는 제어보드인 아두이노 Mega2560의 사양입니다. 메인 클럭 주파수가 16MHz인데, 이걸 가지고 제어 루프의 주기를 계산하기에는 좀 막연하네요. 빠르면 빠를수록 좋긴 한데 쓸데없이 빠른건 굳이 필요 없을테니까 잘 고르시기 바랍니다. 


아두이노의 16MHz는 실시간 영상처리하기에는 턱없이 부족한 주파수인데요, 700MHz이상가는 라즈베리파이를 사용하면 굳이 저처럼 휴대폰을 달지 않고도 영상처리를 할 수 있을거 같다는 생각을 요새 하고 있는 중입니다. 근데 라즈베리파이는 불안정하다는 이야기가 들리기도 하네요.


센서와 보드의 통신 환경도 결정할때 고려해야할 요소 중에 하나인데요, 센서 표를 보시면 인터페이스가 I2C방식이라도 되어있습니다. 저는 운좋게 아두이노 보드에서 I2C전용 핀과 통신용 라이브러리를 제공해서 쉽게 통신할 수 있었는데요. 만약 다른방식이고 보드가 그 방식을 지원하지 않는다면 아날로그 신호를 분석해서 통신을 구현해야할 수도 있습니다. 저는 그렇게까지 하고싶진 않았는데 다행히 보드가 지원해줬네요.. 참고로 아두이노는 I2C통신과 시리얼통신을 지원합니다.


I2C방식(TWI통신이라고도 함)에 대한 자세한 내용은 제 블로그(http://hs36.tistory.com/29)를 참고하시구요 


mpu6050와 통신하는 라이브러리와 예제도 첨부하겠습니다.

MPU6050.zip

 

그밖에 각종 I2C를 사용하는 장치들과 아두이노간 통신 라이브러리는

https://github.com/jrowberg/i2cdevlib/tree/master/Arduino

참고하시면 되겠습니다~ 














Posted by 너를위한노래
Quadrotor20132013. 8. 25. 01:16

아직 제가 만드는 쿼드콥터의 PID제어가 완성된건 아니지만 시간이 좀 나서 포스팅해봅니다.


PID제어의 기본에 대해서는 따로 공부가 필요한 부분입니다. 관련 정보는


위키백과 - PID제어

PID제어 관련 포스팅


요 두군데를 참고하기 바랍니다.


먼저, PID는 Feedback이 일어나기 때문에 무엇을 가지고 무엇을 제어하는가가 첫번째가 되어야 합니다.


제 경우에는 쿼드콥터를 가지고 많은 고민을 했습니다.


쿼드콥터의 경우 센서에서 받아온 자세값을 가공하여 그에 맞는 다음 자세를 출력해야하는데, 출력은 결국 각 모터의 PWM값이 될겁니다.


근데 여기서, 받아온 자세값은 분명 각 모터 자체의 위치값인데 출력은 모터의 회전수란 말이죠. 모터의 회전수는 모터의 추력과 연결되고, 이는 결국 모터 자체의 가속도 값이 되지 않습니까? 위치값을 받아서 가속도값을 출력해야하니까 받아온 위치값을 두번 미분해서 사용해야하나..? 이런 생각이 들더라구요..


그냥 일단 해보자는 식으로 위치값의 오차로 PWM출력을 줘봤는데 잘 되질 않아서 더 저런 생각이 들었던 것 같습니다.


그래서 논문도 찾아보고 여기저기 쿼드콥터 카페도 찾아보고 했는데


결론은 그냥 자세값(roll, pitch, yaw)를 가지고 PWM출력하는게 맞더라구요.. ㅠ


아예 확신을 가지고 논문 참고해서 PID제어기를 다시 만들어서 돌려보니 어느정도 되는거같습니다 ㅠ


그래도 좀 불안정해서 센서값과 P, I, D각 제어값들을 뽑아서 그래프로 그려보니까 문제가 있더라구요..


P는 그냥 센서값에 비례하니때문에 진동에 영향을 덜 받지만 I나 D는 그렇지가 않더라구요. 


그나마 I는 계속 누적되니까 화이트노이즈같은 진동은 어느정도 무시되서 비교적 잘 누적되는 성향을 보이는데


D가 문제예요.. 손으로 누르는 힘에 잘 저항하게 D게인을 높이면 진동에 의한 노이즈까지 잘 반영해서 출력값이 알아볼수도 없게 요동치더라구요.. 


그렇다고 D를 낮추면 반응이 느리고.. 적당히 중간으로 잡아놓으면 수평을 유지하긴하는데 다소 불안하게 왓다갓다하고.. 


그래서 뭔가 변화를 줘보기위해 D제어 입력에만 LPF를 씌워봤습니다. 결과는 한결 나아졌지만 역시 LPF를 통과해서그런지 다소 반응이 느린감이 있더라구요. 


센서를 쿼드 중앙에 나사 한개로만 고정시켜서 그런가~ 싶어서 고정 판도 제작했어요. 오늘 드릴질하고 난리도아니었음 ㅠ


방진 고무나 댐퍼 얘기가 카페같은데서 나오긴 하는데 소프트한걸 쓰면 자세값을 바로 반영 안할거같고 딱딱한걸 쓰면 진동따위 그대로 전달해버릴거같아서 별로 땡기질 않네요 ㅠ


누가 옆에서 이럴땐 이러면 돼~ 하고 조언을 해주면 속편하겠는데.. 그런 사람도 없고.. ㅋ


쓰다보니 푸념으로 바뀌었네요.. 다음 포스팅에서는 좋은 글로... ㅋㅋㅋ



Posted by 너를위한노래
Quadrotor20132013. 3. 29. 19:36

 

쿼드콥터 제어에 대해 찾다가 동역학에 대해 찾게 되고 현재 동역학에 대해 공부를 하고 있습니다.

 

학교에서 일반물리학 수업을 듣는데 열심히 들어야겠어요 ㅠ 관성좌표계니 모멘트니 하는거를 하나도 모르면 어쩔뻔 했나 싶네요.

 

지금 제가 따로 구축한 개념은 없고 지금 보고 있는 자료를 포스팅 하려고합니다.

 

구글링 하다가 양광웅님의 블로그에 들어갔는데.. 이 분은 천재신듯.. ㅋ 대단하신분 같아요

 

밑에 링크 걸어놓을테니 로봇, 제어등에 관심있으신 분은 들어가 보시길 권합니다.

 

양광웅님의 블로그에 게시되어있는 PDF파일입니다.

 

 

1. 쿼드 로터 무인항공기 동역학 모델링  -

               쿼드콥터_-_동역학_해석.pdf

 

2. 쿼드 로터 무인항공기 제어 및 시뮬레이션 -

               쿼드콥터_-_제어기_설계.pdf

 

좀 더 보다가 얻는게 있으면 또다시 포스팅 하기로 하겠습니다~

 

출처 : 양광웅님의 블로그 - Open Robotics

Posted by 너를위한노래
Quadrotor20132013. 3. 27. 13:20

쿼드콥터의 자세를 추정할 수 있다고 치고.. ㅠ

 

떠있으려면 피드백 받은 자세에 따른 새로운 자세를 만들어 내야겠죠? 각 모터 회전수의 변화로 말이죠

 

이번 글에서는 기본적인 쿼드콥터 작동 원리에 대해 적어 보겠습니다.

 

자, 쿼드콥터를 위에서 바라보면 아래 그림과 같습니다.

 

 

 

 

 

 

이웃한 로터끼리는 반대방향으로 돌아서 각 로터에서 생성되는 반토크를 상쇄시킨다

 

라고 되어있는데.. 로켓 추진체의 작용반작용처럼 직관적으로 확 와닿지는 않네요.

 

각 로터가 100%똑같은 추력을 발생시킨다고 가정하면 쿼드콥터는 지상에 평행하게 뜨게 됩니다.

 

그리고 공중에 떠서 정지해있는 상태일 때는 아래 그림에 따라 움직입니다.

 

 

 

 

 

 

화살표가 굵은 부분 얇은 부분 주의해서 보시길 바랍니다. (각 모터의 상대적 회전수를 나타냄)

 

Roll, Pitch, Yaw는 아래의 그림을 보시면 이해하실 수 있을겁니다~

 

 

(클릭하시면 확대됩니다)

 

 

내용이 추상적이라 거의 그림이네요.. ㅋ

 

이정도면 특정 자세를 만들기위해 어떻게 모터를 조작해야되는지 대충 감이 올거같네요.

 

다음에는 좀더 심도있는 내용을 다뤄보도록 하겠습니다.

 

요새 개강도하고 과제도 슬슬 나올때라 진도가 늦네요 ㅠㅜ

 

 

 

 

Posted by 너를위한노래
Quadrotor20132013. 3. 13. 18:01

 

원래 네이버 블로그에 있는 글을 모두 옮겨오려고 했지만.. 굳이 그럴 필요 없을거 같아서 이 글에 제목과 링크만 올려두겠습니다.

 

네이버 블로그 주요 포스팅:

쿼드콥터 초기 계획안 

재료, 부품 구매 현황

MPU-6050 3축 자이로 + 3축 가속도 센서 구매 

[스크랩]오일러각 

[스크랩] I2C (Inter-Integrated Circuit) 버스 

[스크랩]칼만 필터(Kalman Filter) - Part 1 : Linear Systems | Robotics 

[스크랩]칼만 필터(Kalman Filter) - Part 2 : Kalman Filter & Algorithm | Robotics 

 

 

현재는 가속도, 자이로 센서 값을 이용해서 칼만필터로 융합한 다음, Q행렬, H행렬을 조정하는 단계입니다.

 

 

노랑, 자주 : 가속도

빨강, 초록 : 가속도 + 자이로 using 칼만필터

 

여러가지 상황에 대해 테스트하고 있는데 쿼드콥터 진동이 장난이 아니더라구요.. ㅠ

 

어느 정도는 칼만필터로 보정할 수 있겠거니~ 했는데 이건 너무 심해서 기구적으로 손을 보고 있습니다.

 

그래서 스펀지로도 방진 해보고 고무줄로 진동을 줄여보고자 노력했지만 별로 효과는 없더라구요..

 

   

 

 RPM은 모두 동일

   

 스펀지 장착

 고무줄 장치 장착

 

위의 테스트에서는 RPM이 낮은데 높게하면 +90도~-90도 화이트노이즈수준으로 심하게 감지되더라구요 ㅠ

모터랑 센서가 싸구려라 그런가... ㅠ

 

아예 모터에서 발생하는 진동을 제거하는 방향으로도 해봐야겠습니다.

 

 

안드로이드 소스파일(accel gyro Kalman Filter, PWM generate):

SimpleAnalogInputActivity.java

GraphView.java

Matrix.java

SnowCube.java

SnowRenderer.java

 

 

 

 

Posted by 너를위한노래