연구일지 → gate (my Brain)

Px4 QGC와 펌웨어 세팅

  1. 보드 연결후 ACM0으로 잡히나 확인 (px4 계열은 ACM0으로 잡힌다고 함)

    $ lsusb
    > Bus 003 Device 021: ID 3163:004c CUAV PX4 CUAV X7Pro
    > ttyACM0 으로 잡힘
    
  2. 보드에 현재 CUAV X7버전으로 펌웨어를 업로드를 진행함

    1. 현재 우리는 ELRS 조종기를 쓰고 있기에 telemetry를 활성화해야함

      CRSF Telemetry (TBS Crossfire Telemetry)

      $ cd ~/Desktop/PX4-Autopilot
      $ make cuav_x7pro_default boardconfig
      > 이걸로 make해서 내부에서 활성화해야함
      

      이와 같이 메뉴창이 나오면 아래와 같이 설정을 진행

      image.png

      • drivers → rc_input 을 *을 제거하여 비활성화
      • 그상태에서 위의 RC→crsf_rc 를 *로 활성화
      • S 눌러 저장후 Q로 나가면서 저장해놓기
      • 추후에 Enable과 ELRS 송수신기가 연결된 위치를 지정해야함 (QGC파트 참고)
    2. 펌웨어 업로드를 실시

      $ make cuav_x7pro_default upload
      

      Note* V1.18 beta를 현재 이용중 추후 1.17로 내리는게 필요해 보임

  3. QGC에서 캘블과 세팅 파라미터등을 진행

    Download and Install | QGC Guide (v5.0)

    1. Paramerters : 포트설정

      • TELEM1 → MAVLink (QGroundControl) MAV_0_CONFIG = TELEM1

      • UART(RC) → ELRS (CRSF) RC_CRSF_PRT_CFG = GPS2 ⇒ UART가 GPS2로 잡힘

      • TELEM2 → DDS MAV_1_CONFIG = DisabledUXRCE_DDS_CFG = TELEM2

        (추가로 보드레이트는 경우에 따라 변경가능하나 DDS와 동일하게 설정바람)

        SER_TEL2_BAUD = 921600

      • 현재는 위와 같이 설정하였음 (추후 DXL을 고려할때 UART포트는 이동이 필요함)

      • 이후, 실내이기 때문에 GPS를 끄고 추후 vi-con을 켜야함 (현재는 barometer사용)

        EKF2_EV_CTRL = 11 ⇒ 3D velocity 제외 활성화

        EKF2_HGT_REF = 0 = Barometric pressure ⇒ GPS가 아님

        SYS_HAS_GPS = 0 ⇒ system GPS 원천차단용으로 끔 EKF2_GPS_CTRL = 0 ⇒ GPS로 추정하는 것을 모두 비활성화 EKF2_BARO_CTRL = 1 ⇒ Barometor 활성화

      • UXRCE_DDS_DOM_ID = 13 (ROS도메인 번호 맞춰줘야 가능)

      • COM_OBL_RC_ACT = Position mode 이건 offboard가 꺼졌을때 행동하는 모드 설정

        (오프보드모드 시도전에 position모드가 되야함을 의미)

      • COM_KILL_DISARM=1s ⇒ 5s여도 상관없지만 빠르게 꺼지는게 그냥 맘에 듦

    2. Actuator : 기하구성, 모터위치, 방향, 번호 설정

      Note* Rev Range는 건드리지말기 (사고났음)

    3. Radio : ELRS 연결 (GX12기준) 및 캘리브레이션

      sys버튼→ ExpressLRS→Bind 선택 (Bind하기전에 ELRS칩 reset버튼 눌러 주황점멸로 전환)

      radio 탭에 가서 calibration 진행

    4. Power : 배터리 설정

      1. 배터리 전압 체크 이후 전압 켈리브레이션 진행 (잘안되도 비행은 가능)
      2. D-shot ESC : 캘리브레이션 불필요 (난 GT Drone 45A BLHeli으로 안해도 되지만 했다)

      위의 내용은 일반적인 아날로그 방식의 파워모듈 (HV_PM같은것)에 해당하는 내용이며, 현재 이용중인 PMU Lite는 아래 메뉴얼을 따라야함 .

      UAVCAN_ENABLE ⇒ 2 UAVCAN_SUB_BAT ⇒ 1 BAT1_SOURCE ⇒ 1

      PMU Lite는 CAN통신을 활용하여 센서값을 보내기에 별도의 캘리브레이션을 수행하지않음.

      Power 탭은 아날로그 탭으로 사실상 바꿔도 의미가 없음

      현재 관측값을 확인하는 구문 : listener battery_status 5

      Note* CAN은 POWER C 에 연결(IN1쪽포트) 아날로그형은 POWER A에 연결해야함.

    5. Sensor : 메뉴얼에 맞춰 잘 캘리브레이션 진행

    6. Flight Mode : Kill등을 mapping하는것으로 나는 Kil, stabillized → position → Land 만 설정함

      Note* 추후 Servo_kill이나 모드 전환등의 토글을 설정해야하므로 이 부분 조사가 필요

    7. setting : Mavlink간 연결 포트 설정

      Mav-link를 원격(무선)으로 하기 위해서는 telemetry를 쓰며 동일 Hz의 set을 활용한다

      (현재는 Telem1에 연결되있는 놈을 의미)

      컴퓨터에서는 Application Setting → Commlinks 에 들어가 Links에 추가를 시행한다

      image.png

    +alpha

    아래 링크에 들어가면 logger를 확인할 수 있음 (데이터 로깅시 이용가능)

    Flight Review

    +alpha

    아래 링크들어가면 ESC 펌웨어 올릴수 있음

    https://www.rcbank.co.kr/shop/goods/goods_view.php?goodsno=96917dk


Orin Nx 세팅 (환경설정까지)

A603 Carrier Board | Seeed Studio Wiki

A603-Carrier-Board-for-Jetsson-Orin-NX-Nano-Datasheet.pdf

  1. Desktop에서 OS설치파일 준비

    기본적으로 orin은 라떼판다나 ubuntu와 같이 AppImage같은걸 설치하는것이 아니고, 별도 desktop에서 올리는 방식을 사용한다. 아래의 코드는 별도 ubuntu에서 올려서 진행하는것임.

    1. 현재 설치를 하기위해서 Downloads/a603_jp72 를 만들어서 os 설치할 예정

      (싹다 여기안에서 작업)

      mkdir -p ~/Downloads/a603_jp72
      cd ~/Downloads/a603_jp72
      
      sudo apt update
      sudo apt install -y wget tar xz-utils bzip2 gzip python3 \
        python3-pip libxml2-utils qemu-user-static sshpass \
        abootimg nfs-kernel-server liblz4-tool binutils
        
      cd ~/Downloads/a603_jp72
      
      wget <https://developer.nvidia.com/downloads/embedded/L4T/r39_Release_v2.0/release/Jetson_Linux_R39.2.0_aarch64.tbz2>
      
      wget <https://developer.nvidia.com/downloads/embedded/L4T/r39_Release_v2.0/release/Tegra_Linux_Sample-Root-Filesystem_R39.2.0_aarch64.tbz2>
      
      • 위를 시행하여 아래 두 파일을 얻는다.
        • Jetson_Linux_R39.2.0_aarch64.tbz2
        • Tegra_Linux_Sample-Root-Filesystem_R39.2.0_aarch64.tbz2
    2. 추가로 아래의 링크에 들어가 JetPack Version=7.2 ⇒ ubuntu 24.04를 추가로 다운한다

      A603 Carrier Board | Seeed Studio Wiki

      image.png

      다운받은 603_jp72.tbz2 파일을 우리의 작업공간으로 옮겨줘서 3가지의 파일을 준비

      (이 모든건 현재 Downloads/a603_jp72 에 있어야 한다)

      1. Jetson_Linux_R39.2.0_aarch64.tbz2
      2. Tegra_Linux_Sample-Root-Filesystem_R39.2.0_aarch64.tbz2
      3. 603_jp72.tbz2 (따로 다운받은 놈)
    3. 이후, 아래 구문으로 열어서 압축풀어 설치 준비까지 완료

  2. HW상에서 배선을 통하여 리커버리모드로 진입

  3. 연결이 된 상태로 아래 구문을 통하여 OS설치