Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

라즈베리파이 와 스카이로버 나노에 만남

  • Inicia sesión para ver los comentarios

라즈베리파이 와 스카이로버 나노에 만남

  1. 1. Sky Rover Nano
  2. 2. 마을이야기 - 1. 우리는 왜 GCS 를 만들었는가... 쿼드콥터 기체 제작 정보를 공유하는 이는 많다… 그라운드 스테이션은 누가 ? GCS(Ground Controller Station) 란 ? 지상 또는 해상의 공간에서 무인차량을 제어 및 관측 할 수 있도록 지원하는 제어 솔류션 - Wiki GCS 중 ..
  3. 3. 1. 제어부(Controller) 멀티제어 RC 카 중 o USB 및 wireless 무선 통신 컨 트롤 소스를 응용 SkyRover Nano 시리얼 통신 제어부 구현 2. 관측부(Station) 멀티제어 RC 카 중 o WebIOPi 기반으로 TCP/IP 통신을 이용한 멀티디바이스 형태로 관측센터를 기초 디자인 및 구현 결정 마을이야기 - 1. 우리는 왜 GCS 를 만들었는가...
  4. 4. 마을이야기 - 2. 시작은 이렇게 – 스마트폰 제어 테스트 1. 골드베이스가 드디어 쿼드콥터를 갖게 되었다. 2. 아이폰(안드로이드폰)을 가지고 스카이나노를 조종하였다. 데이터 전송 요청 • 통신포트 : 블루투스 • 앱 기능 : - 통신 연결 - 모터 회전 - 센서를 이용한 스카이나노 제어 데이터 응답데이터 응답
  5. 5. 마을이야기 - 2. 시작은 이렇게 – 멀티 위 콘피그 테스트 1. Multi-Wii Config 에 연결. 데이터 전송 요청 데이터 응답 • 통신포트 : uart (nano uart  u2s(usb to serial)  PC USBN) • Multi-Wii Config : 통신 연결 - 모터 회전 - 센서들의 현재 값 모니터링 - 센서들의 환경설정
  6. 6. 마을이야기 - 2. 시작은 이렇게 – 부트로더 및 펌웨어 업로드 테스트 1. 부트로더와 펌웨어를 올려보았다. • 부트로더 통신포트 : uart 또는 usb (PC USB  usb to serial  nano serial ) • 펌웨어 통신포트 : uart (PC USB  usb to serial  nano serial ) STM32 GUI Upload APP
  7. 7. 마을이야기 - 2. 시작은 이렇게 – 모니터링 테스트 1. MultiWii Config 는 설정/개발용 프로그램. 2. 사용자가 모니터링 하는 프로그램은 없을까 ? 통신연결, 모터제어 모터속도 ??? 센서 값 ???
  8. 8. 마을이야기 - 3. 구글링 선생님께 질문하다 1. Multi-GCS ① HUD ( Head-Up Display ) ② Live Moving Map ③ Multi Wii Config MavLink, OpenPilot ④ Video Player ⑤ Web-Server 독일 오픈 프로젝트 팀으로 추정됨
  9. 9. 1. 이제 나노와 연결 해 보자 고려사항 비고 기능 적인 측면 Wonderful 성능적인 측면(speed, freezing) Overclock 후 사용할만 함 Source 해석가능 여부 C, make 로 가능성이 있음 통신 방식 블루투스가 없다 ① Multi GCS의 통신 부분만 수정할 것인가? ② 처음부터 개발할 것인가? 마을이야기 - 3. 구글링 선생님께 질문하다 – 시험에 들다 2. Bluetooth 통신의 부재 ( 택1 ) 시험의 길 • 제어부 개발 • 통신부(블투) 개발 • Cross Device 지원 • Multi GCS 분석 • 통신부 개발
  10. 10. 라즈베리파이 Wifi Network localhost blue.py receive send udp webiopi Joystick.py PC phone 마을이야기 - 3. 구글링 선생님께 질문하다 – 無名 프로그램 설계 BLE Sensor DATA BLE Control DATA USB , wireless Joystick 1. 무명프로그램의 구조
  11. 11. 마을이야기 - 3. 구글링 선생님께 질문하다 – MSP 분석 2. MSP (MultiWii Serial Protocol) 분석 1) Data 구조 ① Header : “$M<“ + length ② Data : Data Structure ③ Checksum 2) [제어명령] rpi  nano 조이스틱 컨트롤 ① Joystick 입력 ② Rpi  nano 로 pitch, roll, yaw, throttle, aux 값 적용 요청 • ( MSP_SET_RAW_RC_TINY 로 간단히 nano를 제어할 수 있다. ) ③ Nano  rpi 적용 완료 응답 3) [Data명령] nano  rpi 센서 데이터 ① Rpi  nano 센서 데이터 요청 ② nano  rpi 데이터 응답
  12. 12. 마을이야기 - 4. 새로운 것을 접할때 마나 만나는 불청객 1. 산딸기 마을 강좌에 bluez package 사용법이 있었다. ① rfcomm device pairing 시 오류 발생 ② Bluepy Opensource o 테스트 프로그램을 이용한 Pairing 구현 발생원인 : o Linux Kernel Version 문제  리눅스 커널 변경 o Sky Nano BLE rfcomm protocol 미지원 문제 Bluepy https://github.com/IanHarvey/bluepy
  13. 13. 마을이야기 - 4. 새로운 것을 접할때 마나 만나는 불청객 2. rpi-mw ( 라즈베리파이 MSP 통신 example ) ① Aldo Vargas ② MSP 센서 데이터 수신 ③ https://github.com/alduxvm/rpi-mw ④ Python ⑤ BLE가 아닌 Serial 통신을 이용 ⑥ 개발자가 라즈베리파이, osx로 테스트 한 소스 ⑦ struct.pack 함수가 다르게 동작하는 것인지, osx는 동작하는데 rpi에서 동작 안함
  14. 14. 마을이야기 - 4. 새로운 것을 접할때 마나 만나는 불청객 3. rpi-mw ( [제어명령] rpi  nano 조이스틱 컨트롤 ) 1) Serial 통신  bluepy 적용 2) Motor run 이 안된다. ① 어디까지 통신이 되고 있는지 알기 위해 firmware source를 분석 ② 분석에서도 그렇다할 진전이 없어 firmware에 print문은 남발하여 디버깅 ( usb port 사용 ) ③ Data의 Header부 “$M<“는 잘 들어옴. ④ Length가 맞지 않음 ⑤ uint8_t (1byte), uint16_t(2byte) 의 type
  15. 15. 마을이야기 - 4. 새로운 것을 접할때 마나 만나는 불청객 4. rpi-mw ([Data명령] nano  rpi 센서 데이터 ) 1) 센서 데이터 수신 2) Serial 통신  bluepy 적용 3) Data 수신시 Error ( Notify ) 발생. ① rpi에서 수신 Data Print 해보니 Data가 잘려서 수신됨 Nano 송신 Rpi 수신 1. Rpi 수신 2. Rpi 수신 3. ② Library를 수정(Notify 무시, Notify 발생 Data 는 합침) ③ 수신 성공 $ M < 0 6 1 2 3 4 1 $ M < 0 6 1 2 3 4 1 Notify Notify Notify
  16. 16. 마을이야기 - 4. 새로운 것을 접할때 마나 만나는 불청객 5. 모든 Data를 받아보자. ① MSP는 Data의 종류별로 명령어가 다름 (MSP_RC, MSP_MOTOR) • https://github.com/alduxvm/rpi-mw/blob/master/rpi-mw.py ② 데이터를 모두 받고 싶다. • 5-6 개의 명령어 송신 • 1개의 명령어 실행시 0.02sec 대기 •  update 주기가 길어짐 ③ Delay를 0.01로 줄이면 ? • Data 수신 에러 발생 ④ Firmware에 allDataSend() 함수 추가 •  Data Size가 늘어나지만, 그에 따른 문제는 없음
  17. 17. 마을이야기 - 5. 디자인은 언제? 1. 웹 모니터링 페이지

×