PX4常用sh命令

2023-05-16

PX4常用sh命令

基于NUTTXnsehll的设计,PX4还自定义了一些sh命令,可以在调试飞控时起到重要作用。这些命令在PX4开发者手册中,都有提到。但是为了方便后期使用,这里再单独做一下记录:

  • top 显示当前各个任务的CPU以及RAM的开销 (直接输入top, 可能没有print出来东西,那么就top once)
Usage: top [arguments...]

   once          print load only once

example:

 PID COMMAND                   CPU(ms) CPU(%)  USED/STACK PRIO(BASE) STATE FD
   0 Idle Task                   25883 47.300   272/  512   0 (  0)  READY  3
   1 hpwork                          0  0.000   344/ 1260 249 (249)  w:sig  3
   2 lpwork                         17  0.000  1024/ 1612  50 ( 50)  w:sig  3
   3 init                          891  0.000  2008/ 2924 100 (100)  w:sem  3
   4 wq:manager                      1  0.000   424/ 1252 255 (255)  w:sem  4
 415 log_writer_file                 0  0.000   392/ 1164  60 ( 60)  w:sem  3
  16 wq:lp_default                  54  0.100   944/ 1700 205 (205)  w:sem  4
  18 wq:hp_default                 591  1.100  1112/ 1900 240 (240)  w:sem  4
  20 dataman                         2  0.000   768/ 1204  90 ( 90)  w:sem  4
 127 wq:SPI1                      8670 16.300  1580/ 2332 253 (253)  w:sem  4
 137 wq:I2C3                       356  0.600   892/ 1468 244 (244)  w:sem  4
 139 wq:SPI4                       166  0.300   892/ 2332 250 (250)  w:sem  4
 199 wq:nav_and_controllers       5840 11.200  5288/ 7196 241 (241)  w:sem  4
 200 wq:rate_ctrl                 4162  7.900  1168/ 1660 255 (255)  w:sem  4
 207 commander                     652  1.200  1440/ 3212 140 (140)  w:sig  6
 209 commander_low_prio              1  0.000   736/ 2996  50 ( 50)  w:sem  6
 217 mavlink_if0                  3309  7.600  1968/ 2572 100 (100)  READY  6
 251 gps                            31  0.000  1040/ 1676 205 (205)  w:sem  4
 291 mavlink_if1                   612  1.200  1872/ 2484 100 (100)  w:sig  4
 292 mavlink_rcv_if1               167  0.300  2816/ 4068 175 (175)  w:sem  4
 302 wq:UART4                      257  0.400   752/ 1396 234 (234)  w:sem  4
 370 wq:attitude_ctrl              395  0.900  1212/ 1668 242 (242)  w:sem  4
 376 navigator                      39  0.100   960/ 1764 105 (105)  w:sem  5
 398 mavlink_rcv_if0               263  0.400  2776/ 4068 175 (175)  w:sem  6
 412 logger                        196  0.400  2160/ 3644 230 (230)  w:sem  3
 417 mavlink_shell                   1  0.000   976/ 2020 100 (100)  w:sem  3
 418 top                             0  0.000  1456/ 2020 239 (239)  RUN    3

Processes: 27 total, 3 running, 24 sleeping, max FDs: 15
CPU usage: 50.00% tasks, 2.70% sched, 47.30% idle
DMA Memory: 5120 total, 1024 used 1536 peak
Uptime: 54.127s total, 25.883s idle
  • ps 查看所有的线程信息

example:

 PID PRI POLICY   TYPE    NPX STATE    EVENT     SIGMASK   STACK   USED  FILLED COMMAND
    0   0 FIFO     Kthread N-- Ready              00000000 000000 000000   0.0%  Idle Task
    1 249 FIFO     Kthread --- Waiting  Signal    00000000 001260 000344  27.3%  hpwork
    2  50 FIFO     Kthread --- Waiting  Signal    00000000 001612 001024  63.5%  lpwork
    3 100 FIFO     Task    --- Waiting  Semaphore 00000000 002924 002008  68.6%  init
    4 255 FIFO     Task    --- Waiting  Semaphore 00000000 001252 000424  33.8%  wq:manager
  199                                                      007196 005288  73.4%  wq:nav_and_controllers 0x0x816ad54
  200 255 FIFO     pthread --- Waiting  Semaphore 00000000 001660 001168  70.3%  wq:rate_ctrl 0x0x8198d9c
  137 244 FIFO     pthread --- Waiting  Semaphore 00000000 001468 000892  60.7%  wq:I2C3 0x0x819c5c4
  139 250 FIFO     pthread --- Waiting  Semaphore 00000000 002332 000892  38.2%  wq:SPI4 0x0x819c5f4
  398 175 FIFO     pthread --- Waiting  Semaphore 00000000 004068 002776  68.2%  mavlink_rcv_if0 0x0x20018970
  207 140 FIFO     Task    --- Waiting  Signal    00000000 003212 001440  44.8%  commander start
   16 205 FIFO     pthread --- Waiting  Semaphore 00000000 001700 000944  55.5%  wq:lp_default 0x0x8157104
  209  50 FIFO     pthread --- Waiting  Semaphore 00000000 002996 000736  24.5%  commander_low_prio 0x0
   18 240 FIFO     pthread --- Waiting  Semaphore 00000000 001900 001112  58.5%  wq:hp_default 0x0x815b06c
   20  90 FIFO     Task    --- Waiting  Semaphore 00000000 001204 000768  63.7%  dataman
  217 100 FIFO     Task    --- Waiting  Signal    00000000 002572 001968  76.5%  mavlink_if0 mavlink start -d /dev/ttyACM0
  412 230 FIFO     Task    --- Waiting  Semaphore 00000000 003644 002160  59.2%  logger start -b 64 -t
  415  60 FIFO     pthread --- Waiting  Semaphore 00000000 001164 000392  33.6%  log_writer_file 0x0x20037120
  417 100 FIFO     Task    --- Running            00000000 002020 001152  57.0%  mavlink_shell
  291 100 FIFO     Task    --- Waiting  Signal    00000000 002484 001872  75.3%  mavlink_if1 mavlink start -d /dev/ttyS1 -b p:SER_TEL1_BAUD -m p:MAV_0_MODE -r p:MAV_0_RATE -f -s -x
  292 175 FIFO     pthread --- Waiting  Semaphore 00000000 004068 002816  69.2%  mavlink_rcv_if1 0x0x2001c3a0
  302 234 FIFO     pthread --- Waiting  Semaphore 00000000 001396 001048  75.0%  wq:UART4 0x0x819c62c
  370 242 FIFO     pthread --- Waiting  Semaphore 00000000 001668 001212  72.6%  wq:attitude_ctrl 0x0x816908c
  376 105 FIFO     Task    --- Waiting  Semaphore 00000000 001764 000960  54.4%  navigator start
  251 205 FIFO     Task    --- Waiting  Semaphore 00000000 001676 001040  62.0%  gps start -d /dev/ttyS0 -b p:SER_GPS1_BAUD
  127 253 FIFO     pthread --- Waiting  Semaphore 00000000 002332 001580  67.7%  wq:SPI1 0x0x819c5dc
  • work_queue 查看所有的工作队列。工作队列是各个线程中的子任务(这些线程开头都是wq:) 这里有一个不错的有关task和work_queue的解析 ,下面这个时序图摘自上文原文。

    • 值的注意的是ScheduleOnInterval调用的schedule_trampoline,其实也就是在调用ScheduleNow()。这说明,ScheduleNow()只能起到一次作用,它可以在初始化或者通过中断触发来进行一次Run()函数的运行!

      void ScheduledWorkItem::schedule_trampoline(void *arg)
      {
      	ScheduledWorkItem *dev = static_cast<ScheduledWorkItem *>(arg);
      	dev->ScheduleNow();
      }
      

      此外,ScheduleDelayed(us)这个函数也是很有用处,在传感器初始化配置时可以使用 eg:ICM42688P。hrt_call_afterhrt_call_every在命名上,可以很明显地看出其功能的不同。ScheduleDelayed(us)是过多少us后,再调度这个workitem执行,ScheduleOnInterval(us,delay_us是每隔多久调度一次(使用时,delay_us可以缺省)。

      void ScheduledWorkItem::ScheduleDelayed(uint32_t delay_us)
      {
      	hrt_call_after(&_call, delay_us, (hrt_callout)&ScheduledWorkItem::schedule_trampoline, this);
      }
      
      void ScheduledWorkItem::ScheduleOnInterval(uint32_t interval_us, uint32_t delay_us)
      {
      	hrt_call_every(&_call, delay_us, interval_us, (hrt_callout)&ScheduledWorkItem::schedule_trampoline, this);
      }
      
队列任务模块 ScheduledWorkItem hrt WorkItem WorkQueue WorkQueueManager start() ScheduleOnInterval() hrt_call_every() hrt_call_internal hrt_tim_isr loop [高精度定时- 器中断] hrt_call_invoke schedule_trampoline Add() 加入任务队列管理器 WorkQueueRunner loop [WorkQueueRun- ner] Run() Run() 队列任务模块 ScheduledWorkItem hrt WorkItem WorkQueue WorkQueueManager
Usage: work_queue <command> [arguments...]
 Commands:

   start

   stop

   status        print status info

example:

Work Queue: 9 threads                        RATE        INTERVAL
|__ 1) wq:rate_ctrl    
|   |__ 1) mc_rate_control               800.6 Hz         1249 us
|   |__ 2) pwm_out                       799.5 Hz         1251 us
|   \__ 3) vehicle_angular_velocity      800.6 Hz         1249 us
|__ 2) wq:SPI1         
|   |__ 1) bmi055                        997.3 Hz         1003 us
|   |__ 2) bmi055                       1043.4 Hz          958 us
|   |__ 3) icm20602                      800.3 Hz         1250 us
|   \__ 4) icm20689                      798.3 Hz         1253 us
|__ 3) wq:SPI4         
|   \__ 1) ms5611                         99.5 Hz        10048 us
|__ 4) wq:I2C3         
|   \__ 1) ist8310                        88.9 Hz        11245 us
|__ 5) wq:attitude_ctrl
|   \__ 1) mc_att_control                200.2 Hz         4996 us
|__ 6) wq:nav_and_controllers
|   |__ 1) ekf2                          200.2 Hz         4996 us
|   |__ 2) land_detector                  92.2 Hz        10846 us
|   |__ 3) mc_hover_thrust_estimator       0.0 Hz            0 us
|   |__ 4) mc_pos_control                 50.0 Hz        19993 us
|   |__ 5) sensors                       200.1 Hz         4999 us
|   |__ 6) vehicle_acceleration          208.5 Hz         4796 us
|   |__ 7) vehicle_air_data               74.6 Hz        13410 us
|   |__ 8) vehicle_imu                   200.1 Hz         4998 us
|   |__ 9) vehicle_imu                   199.9 Hz         5003 us
|   \__10) vehicle_imu                   200.2 Hz         4996 us
|__ 7) wq:hp_default   
|   |__ 1) adc                           100.0 Hz         9999 us (10000 us)
|   |__ 2) battery_status                100.0 Hz        10000 us (10000 us)
|   |__ 3) rc_update                       0.0 Hz            0 us
|   |__ 4) safety_button                  30.3 Hz        32997 us (33000 us)
|   \__ 5) tone_alarm                     10.1 Hz        99473 us
|__ 8) wq:UART4        
|   \__ 1) rc_input                      250.0 Hz         4000 us (4000 us)
\__ 9) wq:lp_default   
    |__ 1) load_mon                        2.0 Hz       499696 us (500000 us)
    |__ 2) rgbled_pwm                     39.8 Hz        25130 us
    \__ 3) send_event                     30.0 Hz        33325 us (33333 us)
  • uorb 主要可以用于查看当前的uorb话题【uorb top -1 (是数字1)较为常用】
Usage: uorb <command> [arguments...]
 Commands:

   start

   status        Print topic statistics

   top           Monitor topic publication rates
     [-a]        print all instead of only currently publishing topics with subscribers
     [-1]        run only once, then exit
     [<filter1> [<filter2>]] topic(s) to match (implies -a)

example:

update: 1s, num topics: 76
TOPIC NAME                     INST #SUB RATE #Q SIZE
actuator_armed                    0    6    2  1   24 
actuator_controls_0               0    6  801  1   48 
actuator_outputs                  0    3  800  1   80 
adc_report                        0    1  100  1   96 
battery_status                    0    6  200  1  112 
battery_status                    1    6  200  1  112 
commander_state                   0    1    2  1   16 
cpuload                           0    4    2  1   16 
estimator_innovation_test_ratios  0    1   99  1  144 
estimator_innovation_variances    0    1   99  1  144 
estimator_innovations             0    1   99  1  144 
estimator_sensor_bias             0    4   99  1   56 
estimator_status                  0    4   99  1  288 
input_rc                          0    4   71  1   72 
multirotor_motor_limits           0    2  800  1   16 
rate_ctrl_status                  0    1  801  1   24 
safety                            0    2    1  1   16 
sensor_accel                      0    4  800  8   48 
sensor_accel                      1    3  799  8   48 
sensor_accel                      2    3 1044  8   48 
sensor_baro                       0    2   74  1   32 
sensor_combined                   0    3  200  1   48 
sensor_gyro                       0    4  800  8   40 
sensor_gyro                       1    3  799  8   40 
sensor_gyro                       2    3  993  8   40 
sensor_mag                        0    3   89  1   48 
sensor_preflight                  0    1  200  1   24 
system_power                      0    2  100  1   24 
telemetry_status                  0    2    1  1  104 
telemetry_status                  1    2    1  1  104 
vehicle_acceleration              0    1  200  1   32 
vehicle_air_data                  0    8   19  1   40 
vehicle_angular_acceleration      0    1  800  1   32 
vehicle_angular_velocity          0    5  800  1   32 
vehicle_attitude                  0    6  200  1   48 
vehicle_control_mode              0    8    2  1   32 
vehicle_imu                       0    3  200  1   56 
vehicle_imu                       1    3  200  1   56 
vehicle_imu                       2    3  200  1   56 
vehicle_imu_status                0    4    9  1   56 
vehicle_imu_status                1    4   10  1   56 
vehicle_imu_status                2    4    9  1   56 
vehicle_land_detected             0    9    1  1   24 
vehicle_local_position            0   11   99  1  160 
vehicle_magnetometer              0    3   89  1   24 
vehicle_odometry                  0    1   99  1  256 
vehicle_status                    0   17    2  1   56 
vehicle_status_flags              0    1    2  1   40 
  • sensors status (传感器数据状态监视) sensors也是PX4重要的一个module,它负责处理所有的传感器信息,比如进行低通滤波,多传感器的冗余选择等,将原始的传感器驱动程序获得的数据进行适当地处理。
nsh> sensors status
INFO  [sensors] selected gyro: 3670026 (0)
INFO  [data_validator] validator: best: 0, prev best: 0, failsafe: NO (0 events)
INFO  [data_validator] sensor #0, prio: 100, state: OK
INFO  [data_validator]     val:  -0.0010, lp:  -0.0019 mean dev:  -0.0000 RMS:   0.0043 conf:   1.0000
INFO  [data_validator]     val:  -0.0014, lp:  -0.0010 mean dev:  -0.0000 RMS:   0.0020 conf:   1.0000
INFO  [data_validator]     val:   0.0001, lp:  -0.0005 mean dev:   0.0000 RMS:   0.0010 conf:   1.0000
INFO  [data_validator] sensor #1, prio: 100, state: OK
INFO  [data_validator]     val:  -0.0044, lp:  -0.0031 mean dev:   0.0000 RMS:   0.0042 conf:   1.0000
INFO  [data_validator]     val:   0.0014, lp:   0.0010 mean dev:  -0.0000 RMS:   0.0020 conf:   1.0000
INFO  [data_validator]     val:  -0.0002, lp:  -0.0001 mean dev:  -0.0000 RMS:   0.0011 conf:   1.0000
INFO  [data_validator] sensor #2, prio: 75, state: OK
INFO  [data_validator]     val:   0.0004, lp:  -0.0003 mean dev:   0.0000 RMS:   0.0056 conf:   1.0000
INFO  [data_validator]     val:  -0.0030, lp:  -0.0005 mean dev:   0.0000 RMS:   0.0036 conf:   1.0000
INFO  [data_validator]     val:  -0.0028, lp:  -0.0007 mean dev:   0.0000 RMS:   0.0031 conf:   1.0000

INFO  [sensors] selected accel: 3670026 (0)
INFO  [data_validator] validator: best: 0, prev best: 0, failsafe: NO (0 events)
INFO  [data_validator] sensor #0, prio: 100, state: OK
INFO  [data_validator]     val:   0.1830, lp:   0.1770 mean dev:  -0.0000 RMS:   0.0114 conf:   1.0000
INFO  [data_validator]     val:   0.0054, lp:   0.0205 mean dev:  -0.0000 RMS:   0.0183 conf:   1.0000
INFO  [data_validator]     val:  -9.6658, lp:  -9.6973 mean dev:  -0.0001 RMS:   0.0619 conf:   1.0000
INFO  [data_validator] sensor #1, prio: 100, state: OK
INFO  [data_validator]     val:   0.1572, lp:   0.1594 mean dev:  -0.0001 RMS:   0.0146 conf:   1.0000
INFO  [data_validator]     val:  -0.0000, lp:   0.0140 mean dev:  -0.0001 RMS:   0.0204 conf:   1.0000
INFO  [data_validator]     val:  -9.7818, lp:  -9.8008 mean dev:  -0.0000 RMS:   0.0608 conf:   1.0000
INFO  [data_validator] sensor #2, prio: 75, state: OK
INFO  [data_validator]     val:  -0.0745, lp:  -0.0491 mean dev:   0.0000 RMS:   0.0174 conf:   1.0000
INFO  [data_validator]     val:  -0.1883, lp:  -0.1693 mean dev:  -0.0000 RMS:   0.0197 conf:   1.0000
INFO  [data_validator]     val:  -9.7579, lp:  -9.7845 mean dev:  -0.0001 RMS:   0.0621 conf:   1.0000

INFO  [sensors] selected mag: 396825 (0)
INFO  [data_validator] validator: best: 0, prev best: 0, failsafe: NO (0 events)
INFO  [data_validator] sensor #0, prio: 75, state: OK
INFO  [data_validator]     val:   0.0021, lp:   0.0049 mean dev:  -0.0000 RMS:   0.0015 conf:   1.0000
INFO  [data_validator]     val:   0.1681, lp:   0.1683 mean dev:   0.0000 RMS:   0.0012 conf:   1.0000
INFO  [data_validator]     val:  -0.0139, lp:  -0.0177 mean dev:  -0.0000 RMS:   0.0033 conf:   1.0000

INFO  [vehicle_air_data] selected barometer: 3997730 (0)
INFO  [data_validator] validator: best: 0, prev best: 0, failsafe: NO (0 events)
INFO  [data_validator] sensor #0, prio: 75, state: OK
INFO  [data_validator]     val: 94513.0000, lp: 94516.2891 mean dev:  -0.1046 RMS:   2.6126 conf:   1.0000
INFO  [data_validator]     val:  27.8700, lp:  27.8496 mean dev:   0.0315 RMS:   0.0150 conf:   1.0000
INFO  [data_validator]     val:   0.0000, lp:   0.0000 mean dev:   0.0000 RMS:   0.0000 conf:   1.0000

INFO  [sensors] Airspeed status:
INFO  [data_validator]     no data

INFO  [vehicle_acceleration] selected sensor: 3670026 (0), rate: 800.6 Hz
INFO  [vehicle_acceleration] estimated bias: [0.0000 0.0000 0.0000]
INFO  [sensor_calibration] ACC 3670026 EN: 1, offset: [0.0556 -0.0322 0.0141] scale: [0.9992 1.0003 1.0002]

INFO  [vehicle_angular_velocity] selected sensor: 3670026 (0), rate: 800.6 Hz
INFO  [vehicle_angular_velocity] estimated bias: [0.0000 0.0000 0.0000]
INFO  [sensor_calibration] GYRO 3670026 EN: 1, offset: [-0.0317 0.0321 0.0104]


INFO  [vehicle_imu] IMU ID: 3670026, accel interval: 1248.9 us, gyro interval: 1248.9 us
vehicle_imu: accel data gap: 1 events
vehicle_imu: gyro data gap: 1 events
vehicle_imu: accel update interval: 181828 events, 1249.04us avg, min 971us max 1481us 23.714us rms
vehicle_imu: gyro update interval: 181832 events, 1249.04us avg, min 971us max 1481us 23.714us rms
INFO  [sensor_calibration] ACC 3670026 EN: 1, offset: [0.0556 -0.0322 0.0141] scale: [0.9992 1.0003 1.0002]
INFO  [sensor_calibration] GYRO 3670026 EN: 1, offset: [-0.0317 0.0321 0.0104]

INFO  [vehicle_imu] IMU ID: 3932170, accel interval: 1249.4 us, gyro interval: 1249.4 us
vehicle_imu: accel data gap: 1 events
vehicle_imu: gyro data gap: 1 events
vehicle_imu: accel update interval: 181586 events, 1250.85us avg, min 830us max 1675us 31.126us rms
vehicle_imu: gyro update interval: 181586 events, 1250.85us avg, min 830us max 1675us 31.126us rms
INFO  [sensor_calibration] ACC 3932170 EN: 1, offset: [-0.0909 0.1831 -0.1208] scale: [0.9980 0.9986 0.9935]
INFO  [sensor_calibration] GYRO 3932170 EN: 1, offset: [0.0112 -0.0308 0.0091]

INFO  [vehicle_imu] Accel ID: 4259850, interval: 955.2 us, Gyro ID: 4325386, interval: 1002.3 us
vehicle_imu: accel data gap: 1 events
vehicle_imu: gyro data gap: 1 events
vehicle_imu: accel update interval: 237163 events, 957.82us avg, min 48us max 2114us 162.976us rms
vehicle_imu: gyro update interval: 226733 events, 1001.88us avg, min 46us max 1395us 157.701us rms
INFO  [sensor_calibration] ACC 4259850 EN: 1, offset: [0.1842 0.2454 0.1875] scale: [0.9882 0.9913 0.9830]
INFO  [sensor_calibration] GYRO 4325386 EN: 1, offset: [0.0013 0.0015 0.0007]
  • dmsg DeBug消息打印

example:

sercon: Registering CDC/ACM serial driver
sercon: Successfully registered the CDC/ACM serial driver
HW arch: PX4_FMU_V5
HW type: V560
HW version: 0x00000006
HW revision: 0x00000000
FW git-hash: 71db0903a910d35a18f10d74c851446a6f66d61f
FW version: Release 1.11.0 (17498367)
OS: NuttX
OS version: Release 8.2.0 (134349055)
OS git-hash: ec20f2e6c5cc35b2b9bbe942dea55eabb81297b6
Build datetime: Mar 12 2022 18:35:12
Build uri: localhost
Toolchain: GNU GCC, 9.3.1 20200408 (release)
PX4GUID: 0002000000003533383731385118002a002c
MCU: STM32F76xxx, rev. Z
INFO  [param] selected parameter default file /fs/mtd_params
INFO  [tune_control] Publishing standard tune 1
Board defaults: /etc/init.d/rc.board_defaults
INFO  [dataman] Unknown restart, data manager file '/fs/microsd/dataman' size is 362560 bytes
Board sensors: /etc/init.d/rc.board_sensors
icm20602 #0 on SPI bus 1 (devid=0x38)
icm20689 #0 on SPI bus 1 (devid=0x3c)
bmi055 #0 on SPI bus 1 (devid=0x41)
bmi055 #1 on SPI bus 1 (devid=0x42)
ist8310 #0 on I2C bus 3
ms5611 #0 on SPI bus 4 (devid=0x3d)
Board extras: /etc/init.d/rc.board_mavlink
INFO  [mavlink] mode: Config, data rate: 800000 B/s on /dev/ttyACM0 @ 57600B
Starting Main GPS on /dev/ttyS0
Starting MAVLink on /dev/ttyS1
INFO  [mavlink] mode: Normal, data rate: 1200 B/s on /dev/ttyS1 @ 57600B
INFO  [init] Mixer: /etc/mixers/quad_x.main.mix on /dev/pwm_output0
Addons script: /fs/microsd/etc/extras.txt
INFO  [logger] logger started (mode=all)

NuttShell (NSH)
nsh> INFO  [ecl/EKF] reset position to last known position
INFO  [ecl/EKF] reset velocity to zero
INFO  [ecl/EKF] 9901680: EKF aligned, (baro hgt, IMU buf: 18, OBS buf: 14)
INFO  [mavlink] Starting mavlink shell
WARN  [commander] Manual control lost
  • listener 监听uorb消息,用来内部调试非常好用。可惜也是有bug, 后面的一些选项不一定都能启用
Usage: listener <command> [arguments...]
 Commands:
     <topic_name> uORB topic name
     [-i <val>]  Topic instance
                 default: 0
     [-n <val>]  Number of messages
                 default: 1
     [-r <val>]  Subscription rate (unlimited if 0)
                 default: 0

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PX4常用sh命令 的相关文章

  • 编译PX4固件

    PX4编译 文章目录 PX4编译疑难杂症bug1bug2catkin build isolated 官方脚本Step1Step2 安装常用依赖Step3 创建并运行脚本Step4 补全代码子模块Step5 验证仿真 官方offboard 例
  • PX4/Pixhawk---uORB深入理解和应用

    The Instructions of uORB PX4 Pixhawk 软件体系结构 uORB 主题发布 主题订阅 1 简介 1 1 PX4 Pixhawk的软件体系结构 PX4 Pixhawk的软件体系结构主要被分为四个层次 xff0c
  • PX4 SITL Gazebo 仿真时 libgazebo_multirotor_base_plugin 插件运行时出错

    PX4 SITL Gazebo 仿真时 libgazebo multirotor base plugin 插件运行时出错 问题描述原因分析解决办法总结 问题描述 在 Gazebo 中进行 PX4 的软件在环仿真时 xff0c 执 make
  • Ubuntu20.04+MAVROS+PX4+Gazebo保姆级安装教程

    Ubuntu20 04 43 MAVROS 43 PX4 43 Gazebo 安装PX4步骤安装MAVROS安装QGCPX4仿真 安装PX4步骤 从github上clone源码 span class token function git s
  • PX4 Bootloader下载及编译过程中的问题解决

    买来的雷迅的板子都是Bootloader已经烧进去了 xff0c Fireware也已经刷进去了 如果是自制的板子 xff0c 上位机根本没法识别板子 xff0c 必须先烧写下载Bootloader后编译好的bin文件 这篇记一下自己下载及
  • PX4源代码下载编译

    sudo git clone https github com PX4 PX4 Autopilot git recursivegit submodule update init recursivegit submodule update r
  • 初学PX4之环境搭建

    文章转自 xff1a http www jianshu com p 36dac548106b 前言 前段时间linux崩溃了 xff0c 桌面进去后只有背景 xff0c 折腾好久没搞定 xff0c 为了节省时间索性重装了系统 xff0c 同
  • 从Simulink到PX4——Simulink-PX4插件安装与环境搭建

    从Simulink到PX4 Simulink PX4插件安装与环境搭建 前言0 准备工作1 安装WSL2 Setting up the PX4 Toolchain on Windows3 Setting up the PX4 Tool Ch
  • PX4模块设计之四:MAVLink简介

    PX4模块设计之四 xff1a MAVLink简介 1 MAVLink PX4 应用简介2 MAVLink v2 0新特性3 MAVLink协议版本4 MAVLink通信协议帧4 1 MAVLink v1 0 帧格式4 2 MAVLink
  • PX4模块设计之二十六:BatteryStatus模块

    PX4模块设计之二十六 xff1a BatteryStatus模块 1 BatteryStatus模块简介2 模块入口函数2 1 主入口battery status main2 2 自定义子命令custom command 3 Batter
  • PX4模块设计之三十六:MulticopterPositionControl模块

    PX4模块设计之三十六 xff1a MulticopterPositionControl模块 1 MulticopterPositionControl模块简介2 模块入口函数2 1 主入口mc pos control main2 2 自定义
  • PX4模块设计之四十五:param模块

    PX4模块设计之四十五 xff1a param模块 1 param模块简介2 模块入口函数param main3 重要函数列表4 总结5 参考资料 1 param模块简介 Description Command to access and
  • px4仿真无法起飞问题(Failsafe enabled: no datalink)

    报错信息 问题描述 xff1a 使用JMAVSim和gazebo仿真px4起飞时报错如下 xff1a WARN commander Failsafe enabled no datalink 说不安全 解决方法 打开QGC 就可以起飞了
  • Px4源码框架结构图

    此篇blog的目的是对px4工程有一个整体认识 xff0c 对各个信号的流向有个了解 xff0c 以及控制算法采用的控制框架 PX4自动驾驶仪软件 可分为三大部分 xff1a 实时操作系统 中间件和飞行控制栈 1 NuttX实时操作系统 提
  • PX4飞控之自主返航(RTL)控制逻辑

    本文基于PX4飞控1 5 5版本 xff0c 分析导航模块中自护返航模式的控制逻辑和算法 自主返航模式和导航中的其他模式一样 xff0c 在Navigator main函数中一旦触发case vehicle status s NAVIGAT
  • PX4 OffBoard Control

    终于还是走上了这一步 xff0c 对飞控下手 xff0c 可以说是一张白纸了 记录一下学习的过程方便以后的查阅 目录 一 ubuntu18 04配置px4编译环境及mavros环境 二 PX4的OffBoard控制 1 搭建功能包 2 编写
  • 步骤八:PX4使用cartographer与move_base进行自主建图导航

    首先老样子硬件如下 飞控 HOLYBRO PIXHAWK V4 PX4 机载电脑 jetson nano b01 激光雷达 思岚a2 前提 你已经完成了cartographer建图部分 能够正常输出map话题 前言 由于要参加中国机器人大赛
  • 【PX4 飞控剖析】06 树莓派加载安装ROS,Mavros以及PX4固件

    PX4 飞控剖析 06 树莓派加载安装Mavros以及PX4固件 1 树莓派 刷镜像1 1 用Win32DiskImager刷入ubuntu mate 16 04 2 desktop armhf raspberry pi的镜像 1 2 开机
  • PX4之常用函数解读

    PX4Firmware 经常有人将Pixhawk PX4 APM还有ArduPilot弄混 这里首先还是简要说明一下 xff1a Pixhawk是飞控硬件平台 xff0c PX4和ArduPilot都是开源的可以烧写到Pixhawk飞控中的
  • 四、无人机知识笔记(初级:基本运动原理)

    笔记来源于 沈阳无距科技 工业级无人机的中国名片 编程外星人 目录 一 多旋翼直升机 二 基本飞行姿态 三 多旋翼飞行原理 四 反扭力与偏航运动 五 螺旋桨 六 有刷电机和无刷电机 七 电调与PWM信号 八 动力电池 九 遥控器 十 机架设

随机推荐

  • Debian 源(source.list)

    在debian下 xff0c 用apt方式安装软件除了可以以网络上的资源为源之外 xff0c 还可以使用本地的资源 下面我就以安装GCC的过程为例 xff0c 说一下整个过程 平台 xff1a debian 4 0 图形界面 资源 xff1
  • boa 编译步骤&&常见错误

    第一步 xff1a 源码包 xff1a boa 0 94 13 tar gz 解压 tar xvf 第二步 xff1a 你会看到10个文件 xff0c 其中有一个是src xff0c 直接进入 src文件目录下 第三步 xff1a 配置 x
  • 推荐几款SSH工具

    SSH 是建立在应用层基础上的安全协议 xff0c 专为远程登录会话和其他网络服务提供安全性的协议 利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题 SSH最初是UNIX系统上的一个程序 xff0c 后来又迅速扩展到其他操作平台
  • WinForm应用实战开发指南 - 如何设计展示应用程序主界面

    WinForm应用程序的开发 xff0c 主窗口的界面设计一般都要求做的更好一些 xff0c 可以根据不同的系统功能模块进行归类整合 xff0c 能使客户迅速寻找到相关功能的同时 xff0c 也能感觉到整体性的美观大方 xff0c 因此主窗
  • PX4+光流模块MTF01的一点使用心得

    1 不知道怎么样把这个给接到飞控的串口4上 应该是因为没找到地方设置串口4的波特率啥的 xff0c 最后还是接到了TELEM2接口上 xff0c 又设置了一下波特率才好用 2 定高效果很好 xff0c 定位效果也还行 3 在出现位置模式下y
  • [论文] Feature Squeezing:Detecting Adversarial Examples in Deep Neural Networks

    思路 xff1a 对抗样本经过feature squeeze处理后大部分增加的干扰会被消除或者减小 xff0c 致使feature squeeze前后的分类结果向量 xff08 distributed vector xff09 L1距离很大
  • 手把手教用matlab做无人驾驶(三)-路径规划A*算法

    这里 xff0c 我们更新主程序如下 xff1a editor Robert Cao 2018 9 1 clc clear all close all disp 39 A Star Path Planing start 39 p start
  • eve-ng导入华为路由器镜像

    iol位置 opt unetlab addons iol bin qemu位置 xff1a opt unetlab addons qemu 设备图标位置 opt unetlab html images icons 设备脚本位置 opt un
  • ROS入门保姆级教程:7-ROS话题通信实现2:自定义消息类型(msg)

    ROS入门往期 xff1a ROS入门保姆级教程 xff1a 1 hello world初体验 ROS入门保姆级教程 xff1a 2 VScode中使用ROS ROS入门保姆级教程 xff1a 3 ROS文件系统 ROS入门保姆级教程 xf
  • 设计模式---订阅发布模式(Subscribe/Publish)

    订阅发布模式定义了一种一对多的依赖关系 xff0c 让多个订阅者对象同时监听某一个主题对象 这个主题对象在自身状态变化时 xff0c 会通知所有订阅者对象 xff0c 使它们能够自动更新自己的状态 将一个系统分割成一系列相互协作的类有一个很
  • 能ping通虚拟机,但ssh连接不上,访问虚拟机服务也不行NAT

    自己的windows ip 跟虚拟机的ip一样 xff0c 产生错觉 xff0c 其实ping的是自己的window主机 xff0c 修改windows 地址后就可以了
  • html5是什么?五大浏览器、网页基本骨架结构与含义、常用标签——学习HTML5第一天的心得总结,若有错误望指正,我将持续更新与大家共同进步。

    注意 xff1a 上方P标签所说的块元素不可嵌套块元素是指在p元素中不建议嵌套块元素 xff0c 如不建议 lt P gt lt div gt lt div gt lt P gt 这种嵌套 xff0c 其他块元素则根据需求嵌套即可 1 ht
  • 新手入门 - 详解 frp 内网穿透 frpc.ini 配置

    本文为 Stille 原创文章 经实践 测试 整理发布 如需转载请联系作者获得授权 并注明转载地址 转载地址 xff1a 新手入门 详解 frp 内网穿透 frpc ini 配置 思有云 IOIOX 前言 本站关于 frp 内网穿透的相关教
  • pixhawk硬件设计粗略解析

    文章目录 前言一 pixhawk是什么 xff1f 二 pixhawk硬件解析总结 前言 本片是个人对NFCYv5飞控的硬件设计的个人分析与笔记 为什么要这么做呢 xff1f 原因很简单 xff0c 一是对pixhawk硬件组成有更加深入的
  • Android IPC机制

    本文首发于个人博客 胖蔡叨叨叨 xff0c 更多相关信息可点击查看 Android IPC机制 IPC IPC Inter Process Communication 进程间通信 xff0c 是指系统中运行的不同进程间的信息交互过程 And
  • PX4的控制与输出

    文章目录 前言控制器部分输出部分控制组混控器混控器的启动信号输出 前言 这篇记录一下自己分析PX4从位置控制 gt 速度控制 gt 姿态控制 gt 角速度控制 gt 电机输出的源码框架的阅读与理解 xff0c 便于之后自己修改控制器 在这个
  • 悬停油门的参数估计方法

    悬停油门的参数估计方法 估计悬停油门 xff0c 实际上就是完成油门值与飞机加速度之间的映射关系 xff0c 准确的估计值可以让飞行控制更为准确 在PX4中 xff0c 对悬停油门的估计方法采用的是扩展卡尔曼滤波 xff0c Fast dr
  • D435/D435i使用技巧

    D435 D435i使用技巧 D435 D435i是目前市场上使用最为方便的双目深度相机 虽然淘宝上其价格有些让人望而却步 xff0c 但是咸鱼上成色不错的D435 D435i 价格就在1000左右 xff0c 依旧是自主无人机视觉定位和感
  • PX4 imu传感器配置

    PX4 传感器配置 坐标系定义 旋转变化 reference 在机器人中各个坐标系之间的变换是非常常见的 xff0c 而在ROS tf 工具中 xff0c 以及Eigen 中 我们常常会见到RPY的旋转表示和四元数的旋转表示 当然学航空出生
  • PX4常用sh命令

    PX4常用sh命令 基于NUTTXnsehll的设计 xff0c PX4还自定义了一些sh命令 xff0c 可以在调试飞控时起到重要作用 这些命令在PX4开发者手册中 xff0c 都有提到 但是为了方便后期使用 xff0c 这里再单独做一下