Quadrotor20162016. 7. 31. 11:51

개인 사정으로 코드를 파트별로 설명하는 포스팅을 하기엔 시간이 안될 것 같습니다 ㅜㅜ 


그래서 제가 개발하던 드론 소스 코드를 공개합니다! (거창) 사실 별것도 없는데.. 


일단 코드를 올릴테니 필요하신 분들은 시간을 들여서 보셔야 할 듯합니다 (주석이 잘 달려있지 않아요...)


hsWing.zip


hsPi.zip



hsWing은 vs2015에서 Visual Micro플러그인을 사용해서 작업한 아두이노용 소스코드이고요,


hsPi는 오드로이드 내에서 Geany를 사용해서 개발했고 OpenCV랑 WiringPi 라이브러리를 사용했습니다.


이름이 왜 hsPi냐면.. 처음에 라즈베리파이로 작업했었는데 아직도 이름을 못바꿨네요... ㅋㅋ


소프트웨어 설명은  최소한의 SW구조도만 먼저 올립니다~



음.. github branch로 수정해 나갔으면 좋겠는데 방법을 잘 모르겠네요. 누가 좀 알려주세요 ㅋㅋ


연구용이나 졸업작품 참고용 등으론 괜찮지만 금전적 이익을 남기는 용도는 불허합니다. 라이센스 관련해서 지식이 좀 생기면 이에 관련해 수정하도록 하겠습니다.




----------------------------------------------- 2016.09.24 추가


질문은 공개 댓글로 남겨주세요~ 개인적인 질문은 메일 주소로 해주세요~






'Quadrotor2016' 카테고리의 다른 글

드론 소스 코드 공개  (7) 2016.07.31
Posted by 너를위한노래

댓글을 달아 주세요

  1. LeeSeungHyun

    혹시 Geany에서 라이브러리를 어떻게 추가하는지 알 수 있을까요? ㅠㅠㅠ

    2016.08.13 09:44 [ ADDR : EDIT/ DEL : REPLY ]
    • geany는 단순히 make 명령만 내려줄겁니다. 따라서 makefile을 편집하여 원하시는 라이브러리를 추가하셔야 됩니다~ 이 내용은 구글링 하시면 나올거예요

      2016.08.18 22:59 신고 [ ADDR : EDIT/ DEL ]
  2. KimJunghoon

    안녕하세요 저도 쿼드콥터를 만드는 대학생입니다! 혹시 bma150센서를 왜이용하셨는지 알려주실수는 없을까요?
    만드신 소스를 이용해서 갖고있던 소스를 수정중인데, 저는 mpu6050안에 있는 가속도센서의 값을 이용해서도 충분히 할 수 있다고 생각해왔습니다.
    그런데 소스를 보아하니 mpu6050, bma150 가속도센서를 모두 이용하셨더라구요... 알려주시면 감사하겠습니다!

    2016.08.19 18:49 [ ADDR : EDIT/ DEL : REPLY ]
    • 저도 mpu6050만으로 진행하다가 bma150을 나중에 추가했는데요, 어쩌다가 bma150이 좀 더 좋다는 소문을 들어서 실제로 비교 실험을 했었습니다. 그 결과 모터로부터 발생되는 진동의 영향을 조금 덜 받는 것 같아서 가속도 센서만 bma150으로 변경했습니다. mpu6050의 가속도 센서를 함께 사용하지는 않았어요~

      2016.08.24 20:39 신고 [ ADDR : EDIT/ DEL ]
  3. 비밀댓글입니다

    2016.09.06 15:44 [ ADDR : EDIT/ DEL : REPLY ]
  4. 소고기목살

    코드를 받아보니까 여러가지가 있는데 어떻게 업로드를 하는지 궁금해요
    그리고 멀티위 Lite v0.2를 사용하고 있는데 이 보드에 그냥 업로드 해도될까요??

    2017.11.20 20:59 [ ADDR : EDIT/ DEL : REPLY ]
  5. 나무발발이

    안녕하세요. 우선 자료공유에 감사드리구요, 덕분에 막혔던 것들이 많이 해결 됬습니다.
    그리고 몇가지 질문이 있습니다. 2년전 글이긴 한데 혹시 기억나시면 답변좀 부탁드립니다.

    1. Angularrate Controll의 용도는 무엇인가요? 그냥 각도만으로 PID계산하면 무언가 결함이 있나요?

    2. 몇가지 변수의 용도가 잘 모르겠습니다.
    - roll_d = gx_mean * d_gain / dt; /* HsFlightController.cpp 42번째줄 */
    gx_mean이 무엇을 의미하나요?

    xpid_d = kd*((X_error - X_previous_error)/elapsedTime);
    이건 해외자료를 참고해서 작성한건데, 제 추측으로는 "error - prev_error" 이 부분인거 같은데 맞나요?

    - 고도제어에서 alt_d_lpf 의 의미를 모르겠습니다.

    3.

    // yaw 제어에 의한 고도변화를 최소화하기 위한 알고리즘
    basePWM = m_pwm + alt_pid;
    yaw_b = sqrt( 2*(basePWM)*(basePWM) - (basePWM-abs(yaw_rate_pid))*(basePWM-abs(yaw_rate_pid)) ) - basePWM;

    이것도 "HsFlightController.cpp"의 일부인데 역시 이해하기 어렵네요. 혹시 이 알고리즘에 대해 참고할 만한 자료가 있다면 알려줄수 있나요?


    2018.04.16 18:09 [ ADDR : EDIT/ DEL : REPLY ]