안녕하세요. 인하대학교 박광석입니다. 드론 구매할 때 X8R PPM수신기가 같이 장착되어 있었는데, devo7 조종기를 연결하려고 하는데 방법을 찾지 못하였습니다.혹시 호환되는 조종기에만 연결이 가능한 것인지요?? 그리고 위도/경도 모두 0으로 수신되는 이유는 어떤 경우인가요?미션플래너와 연결을 성공하여도 지도에 위치가 표시되지 않습니다.. 답변주시면 감사하겠습니다.
----------------------------------------------------------
Frsky X8R receivers는 Devo7하고 호환이 안됩니다.
Devo7과 호환되는 수신기는 Devo7의 메뉴얼을 참조하거나 구매처에서 문의해 주세요.
Devo7은 저희도 취급을 잘 안해서 자세한 내용을 모릅니다.
실내에서는 GPS 데이터가 수신되지 않습니다. 실외에서도 처음 가는 장소이면 충분한 GPS 데이터 수신을 위해 몇분정도 기다려야 합니다. 그래도 안되는 경우 GPS 선연결을 살펴 보세요.
감사합니다.
----------------------------------------------------------
devo 호환 수신기(RX701)가 마침 있어서 직접 모터선을 연결하였더니 잘 작동합니다.
근데 직접 연결 하지 않고 pixracer 통신선(흰색 선)만을 (RX701)에 연결하여 사용하는 방법이 있을까요?
------------------------------------------------------------
개발용 또는 산업용으로 설계된 PX4 계열 FC는 PPM 방식의 수신기만 사용하게 개발 되었습니다.
PWM은 주로 저가 취미용 드론용 조종기에 많이 사용되고 있습니다. PWM 수신기를 PPM 수신기로 사용하기 위해서는 아래 그림처럼 PPM 인코더를 중간에 연결해 주어야 합니다. 약간에 지연현상이 있습니다.
![](https://static.wixstatic.com/media/a27d24_9dd4a7ffd1834e5892b02db5b797d009~mv2.jpg/v1/fill/w_620,h_826,al_c,q_85,enc_auto/a27d24_9dd4a7ffd1834e5892b02db5b797d009~mv2.jpg)
------------------------------------------------------------
궁금한게 있는데 여쭤봐도 될까요??
새로 구입한 PPM 인코더를 연결하여 미션플래너를 통해서 무선교정을 완료하였습니다.
그 다음으로 ESC 교정하려고 따라했는데, 특이한 알람음까지 나오는 것까지 확인했습니다.
다음 절차가 재부팅하고 막대를 움직여서 모터 동작을 확인하는 것인데 아무 반응이 없습니다.
DEVO7 조종기는 ESC calibration 방법도 다를 수도 있는건가요??
아니면 연결이 잘못된 것 같으신가요? (무선교정 시 게이지바가 잘 움직이는 것을 확인하였습니다)
감사합니다
------------------------------------------------------------
아래 그림처럼 PPM 인코더는 Ch1~ch8 까지 연결할 수 있는 수신기 PWM 신호선이 있습니다.
Ch1~ch4는 조종기 스틱의 움직임(Roll pitch throttle yaw)을 나타내고 ch5는 아듀콥터에서 비행모드에 할당되어 있습니다. 수신기의 ch1~ch4는 채널 순서가 송수신기 브랜드에 따라서 다를 수 있으므로 수신기를 FC에 연결하고 Mission Planner/초기설정/Radio callibration 항목에서 송신기 스틱 움직임이 막대 그래프 항목 움직임과 일치하는지 확인하셔야 합니다. 이때 pitch만 스틱움직임과 화면의 막대그래프 움직임이 반대이니 주의하세요.
![](https://static.wixstatic.com/media/a27d24_eb2a6fdcb9564072b3d03ca47195b610~mv2_d_2448_3264_s_4_2.jpg/v1/fill/w_980,h_1307,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/a27d24_eb2a6fdcb9564072b3d03ca47195b610~mv2_d_2448_3264_s_4_2.jpg)
------------------------------------------------------------
맨 아랫부분을 none으로 하란 말씀이신가요??
![](https://static.wixstatic.com/media/a27d24_f31ff1b3eee14539a7d56ad4b897e055~mv2.jpg/v1/fill/w_980,h_324,al_c,q_80,usm_0.66_1.00_0.01,enc_auto/a27d24_f31ff1b3eee14539a7d56ad4b897e055~mv2.jpg)
------------------------------------------------------------
Arm Check to Perform에서 default는 all로 되어 있는데, GPS를 사용하지 않을 것이니 관련 항목의 체크를 해제하여야 합니다. Barometer, Compass 정도만 해제하고 위에 매개변수쓰기 버튼을 클릭해줘 저장해주시면 됩니다.
나중에 모든 설정이 끝나고 필드에서 GPS를 사용하는 자동 비행모드를 사용 할때는 다시 all로 설정 해주세요.
------------------------------------------------------------
먼저, 미션플래너/초기설정/ESC캘리브레이션 항목에서 ESC Type 드롭다운 선택 메뉴에서 oneshot125을 선택해주고
미션플래너와 FC의 연결을 해제하고 아래 링크된 동영상 순서대로 ESC 캘리브레이션을 해보세요.
https://www.youtube.com/watch?v=8dwzxSqWWoY
중간에 세이프티 스위치 누루는 것을 잊지 마시고요.
ESC캘리브레이션이 끝난후 미션플래너/초기설정/Servo out으로 가서 배터리 연결후 arming후 스로틀 스틱을 조작해서 모터를 돌려 보고 4개의 모터가 균일하게 속도가 올라간다면 성공한 것입니다.
*실내에서 arming 할 경우 arming 전에 구성튜닝/표준매개변수 항목으로 가서 GPS 관련 항목을 풀어주어야 시동이 걸립니다.
------------------------------------------------------------
덕분에 스로틀에 의해서 네개의 모터가 동시에 움직입니다.
하지만 아래 사진과 같이 오차가 있는데 이거는 상관없는지요??
그리고 스로틀을 0으로 해도 모터가 도는데 0일땐 안돌게 하는 방법을 잘 모르겠습니다.
혹시 방법을 아시나요??
항상 친절한 답변 감사합니다!
![](https://static.wixstatic.com/media/a27d24_46048470fbdd4a9ba9366266e477b854~mv2.jpg/v1/fill/w_809,h_459,al_c,q_85,enc_auto/a27d24_46048470fbdd4a9ba9366266e477b854~mv2.jpg)
------------------------------------------------------------
네개의 모터의 회전속도의 오차는 경험적으로 큰 이상이 없어 보입니다. 하지만 비행 테스트를 해서 확인해 보아야 합니다.
아듀콥터 펌웨어는 안전상의 이유로 디폴트로 시동을 걸면 모터가 낮은 속도로 회전하도록 설정되어 있습니다. 그이유는 시동을 걸었는데 모르고 스틱을 움직여 발생하는 사고를 예방하려고 한 것입니다.
시동시 모터가 회전하지 않도록 설정하려면 미션플래너/구성튜닝/전체매개변수로 가서 MOT_SPIN_ARM 매개변수를 '0'로 변경해 주어야 합니다.
자세한 내용은 아래 아듀파일럿 사이트를 참조해주세요.
http://ardupilot.org/copter/docs/set-motor-range.html
저희가 해당 모델을 하나 더 구입하려고 합니다. 하지만 아직 사용법이 미숙하여, 조종기 조작법 및 간단한 코드 사용법을 배울 수 있는 기회가 있었으면 합니다. 저희가 찾아가서 배워도 상관 없습니다. 혹시 이러한 기회가 있을까요?
혹시 Guided noGPS 모드로 설정되어 있지 않나요? Guided noGPS 모드로 설정되어 있으면 당연히 gps가 사용할 수 없게되어 GPS 포지션 데이터 값이 출력이 되지 않습니다. 이상태에서 relative position값을 얻고자 한다면 Optical Flow sensor나 최근에는 Pozyx센서(http://ardupilot.org/copter/docs/common-pozyx.html) 사용해서 포지션 값을 얻습니다.
아래 링크로 창조해보세요. https://discuss.ardupilot.org/t/what-are-the-requirements-for-guided-nogps-mode/36015
드론 프로젝트는 복잡해서 위와 같은 질문만으로는 어떤 상황인지 자세히 알수가 없으니 가급적 조립되 사진, 주변 환경 사진, 터미날 동영상을 촬영하여 함께 첨부하면 좀더 자세한 답변을 줄 수 있을 듯 합니다.
저희 gps 계속 vehicle.location.local_frame 에서 NED모두 None으로 출력됩니다.
밑의 코드를 실행해도 계속 home position이 set이 안된다고 뜨는데 이유가 뭔가요
home_position_set = False #Create a message listener for home position fix @vehicle.on_message('HOME_POSITION') def listener(self, name, home_position): global home_position_set home_position_set = True
gps값을 출력을 하는데 처음엔 위도,경도, 상대위치(north,east,down값)이 모두 나왔었습니다.
그런데 그날 저녁에 다시 해보니까 상대위치 값이 None으로 뜨는데 고장난건가요?
사서 처음 사용한 거고 떨어진 일이 없었습니다.
나침판 캘리브레이션도 모두 해봤지만 여전히 위도경도만 출력됩니다.
이유가 뭘까요??
그럼 실외에서 드론을 goto를 통해 원하는 position으로 이동시키고 나서
해당 위치에 일정시간 동안 고정시키는 것은 불가능한가요?
optional flow를 활용한 포지션 홀드 말고 LOITER mode 또는 POSHOLD mode 로 제자리에서 가만히 떠 있을 수는 없나요??
예를 들어, arm_and_takeoff_nogps(0.5) 로 0.5 미터를 띄우고,
그 자리에 가만히 있게 하고 싶습니다.
아래는 코드이고, 모터가 돌고 있을때 LOITER 모드로 바뀌는 것이 거절당합니다.
# Take off 2.5m in GUIDED_NOGPS mode.
arm_and_takeoff_nogps(0.5)
# hovering
vehicle.mode = VehicleMode("LOITER")
vehicle.flush()
time.sleep(3)
while not vehicle.mode.name == "LOITER":
print("current mode : %s"% vehicle.mode.name)
print ("waiting for vehicle to change to LOITER MODE") time.sleep(1)
set_altitude 함수를 사용하여 원하는 높이에서 유지를 하고 LAND 하는 것을 성공하였습니다.
다만 hovering을 하고 싶은데 드론이 고도는 유지하지만 position hold는 되지 않고 바람을 타고 이동합니다.
hovering을 하는데 loiter mode를 사용하는 것 같은데 맞나요??
맞다면 간단한 예제 코드를 보여주실 수 있나요??
자세한 현재 테스트 환경을 알 수 없어 명확히 설명을 드릴 수는 없는데요.
Mission Planner와 FC간의 TCP??? Mission Planner와 FC간 텔레메트리 모듈을 통한 통신???
Dronekit를 사용한 온보드 제어 방식은 미션플래너와 TCP로 연결을 하는 것이 아니라 드론에 탑재된 라즈베리 파이에 일종의 미니 GCS(mission planner)라 볼수 있는 mavproxy를 설치하고 노트북에서 wifi를 통해 mavproxy에 접속해서 FC에 명령을 하는 형태입니다(FC와 라즈베리파이는 USB케이블을 통한 시리얼통신을 합니다). wifi 통신을 하기 위해서는 이전에 라즈베리파이에 Wifi AP가 설치되어 있어야 하겠죠. 그리고 Mavproxy와 FC가 시리얼 통신을 하기 위해서는 Mavlink가 설치되어 있어야 하고요.
열린친구의 PX4 330 주문제작 드론은 Mavproxy, mavlink, Wifi AP까지는 설치가 되어 있으니 접속은 가능합니다.
사진이나 동영상 등을 첨부하면 좀더 상세한 설명을 할 수 있을 듯 합니다.
혹시 미션플래너랑 드론 TCP 연결하는 방법을 알 수 있을까요?? 드론 IP를 입력해줘도 연결이 되지 않습니다. 방법이 있긴 한가요?