Mavros: ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ NED ΠΈ ENU

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 10 Ρ„Π΅Π²Ρ€. 2015  Β·  21ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: mavlink/mavros

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π― ΡΠΌΠΎΡ‚Ρ€ΡŽ Π½Π° это:
http://wiki.ros.org/geometry/CoordinateFrameConventions ΠΈ
http://www.ros.org/reps/rep-0103.html

Π•ΡΡ‚ΡŒ ряд ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ (ΠΈ Ссли ΠΎΠ½Π° прСдставляСт ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, ΠΊΠΎΠ΄):

Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ°Π΄Ρ€ΠΎΠΌ Ρ‚Π΅Π»Π° ΠΈ ΠΌΠΈΡ€ΠΎΠ²Ρ‹ΠΌ ΠΊΠ°Π΄Ρ€ΠΎΠΌ ΠΏΡ€ΠΈ Π½ΡƒΠ»Π΅Π²ΠΎΠΌ Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ, ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ NED ΠΈ ENU ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ для ΠΎΠ±ΠΎΠΈΡ… ΠΊΠ°Π΄Ρ€ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ / Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ссылку, соотвСтствСнно.

ВсС 21 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠœΠΎΠΆΠ΅Ρ‚ ΠΊΡ‚ΠΎ ΠΏΡ€ΠΎΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС? Π’ настоящСС врСмя Ρƒ мСня Π½Π΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° просмотр ΠΊΠΎΠ΄Π°, Π½ΠΎ я Π±Ρ‹Π» Π±Ρ‹ Ρ€Π°Π΄ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ трансформации.

@LorenzMeier Π‘ΠΌ. PR β„–208.

@LorenzMeier На самом Π΄Π΅Π»Π΅, это Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ соглашСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ:

фиксированный Π² Ρ‚Π΅Π»Π΅ NED β†’ ROS ENU: (xyz) β†’ (x -y -z) ΠΈΠ»ΠΈ (wxyz) β†’ (x -y -zw)
Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ NED β†’ ROS ENU: (xyz) β†’ (yx -z) ΠΈΠ»ΠΈ (wxyz) β†’ (yx -zw)

image

Π― Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ этой Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, Π½ΠΎ я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это Ρ‚ΠΎ, Ρ‡Π΅ΠΌ ΠΌΡ‹ сСйчас занимаСмся.

Π”Π° это моя схСма. Π― ΠΌΠΎΠ³Ρƒ это ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ, ΠΈ я использовал ΠΈ объяснил это Π² своСй диссСртации.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: это ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ - это Ρ‚ΠΎ, ΠΎ Ρ‡Π΅ΠΌ ΠΌΡ‹ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈΡΡŒ нСсколько мСсяцСв Π½Π°Π·Π°Π΄, ΠΈ я смог ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ это Π½Π° Rviz.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Π² фактичСском ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ, Π° Π² Ρ‚ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅.

Π― ΡΠΌΠΎΡ‚Ρ€ΡŽ Π½Π° это:
http://wiki.ros.org/geometry/CoordinateFrameConventions ΠΈ
http://www.ros.org/reps/rep-0103.html

Π•ΡΡ‚ΡŒ ряд ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ (ΠΈ Ссли ΠΎΠ½Π° прСдставляСт ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, ΠΊΠΎΠ΄):

Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ°Π΄Ρ€ΠΎΠΌ Ρ‚Π΅Π»Π° ΠΈ ΠΌΠΈΡ€ΠΎΠ²Ρ‹ΠΌ ΠΊΠ°Π΄Ρ€ΠΎΠΌ ΠΏΡ€ΠΈ Π½ΡƒΠ»Π΅Π²ΠΎΠΌ Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ, ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ NED ΠΈ ENU ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ для ΠΎΠ±ΠΎΠΈΡ… ΠΊΠ°Π΄Ρ€ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ / Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ссылку, соотвСтствСнно.

Π― Π² основном согласСн с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ сказал @LorenzMeier . Однако, Ссли я Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ошибаюсь, всС ΠΊΠ°Π΄Ρ€Ρ‹ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π½Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ рисункС, ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ лСвостороннСй систСмой ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π²Ρ‹ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ оси x ΠΈ y Π² Π»Π΅Π³Π΅Π½Π΄Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ?

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, я согласСн с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ENU Π² NED ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π»ΠΈ это для Π½Π°Π·Π΅ΠΌΠ½ΠΎΠΉ Ρ€Π°ΠΌΡ‹ ΠΈΠ»ΠΈ корпуса. На корпусС Ρ‚Π΅Π»Π° имя ENU ΠΈΠ»ΠΈ NED Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ особого смысла, Π½ΠΎ всС ΠΆΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΊΠ°Π΄Ρ€Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² ROS, Π² FCU, я Π΄ΡƒΠΌΠ°ΡŽ, всСгда Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ.

Π― Π΅Ρ‰Π΅ Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ» ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ @mhkabir ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π²Ρ‹ΡˆΠ΅. Π”ΡƒΠΌΠ°ΡŽ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ сначала ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ

@thedinuka НС

Π£ мСня Π΅ΡΡ‚ΡŒ исходный Ρ„Π°ΠΉΠ», я ΠΌΠΎΠ³Ρƒ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ (Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ paint @mhkabir). Π’ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΈ Π»Π΅Π²ΠΎΠΉ Ρ€ΡƒΠΊΠ΅, каТСтся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ. Но Ρƒ мСня всС Π΅Ρ‰Π΅ Π΅ΡΡ‚ΡŒ сомнСния ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ наличия Π΄Π²ΡƒΡ… Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΈ ΠΊΠΎΠ³Π΄Π° я Ρ‚ΠΎΠ³Π΄Π° Π΄Π΅Π»Π°Π» это ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠ½ΠΈ Ρƒ мСня Ρ‚ΠΎΠΆΠ΅ Π±Ρ‹Π»ΠΈ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ, вСроятно, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ, насколько я помню, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ прСобразования.

Π’ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉ вСрсии рисунка ΠΎΡ‚ @ TSC21 я ΠΏΠΎΠ΄ΡƒΠΌΠ°Π» ΠΎΠ± этом Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС, ΠΈ это каТСтся Π±ΠΎΠ»Π΅Π΅ слоТным, Ρ‡Π΅ΠΌ я ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π΄ΡƒΠΌΠ°Π». Π― Π²Ρ€ΠΎΠ΄Π΅ ΠΊΠ°ΠΊ согласСн с @ TSC21. Нам Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Π΄Π²ΡƒΡ… Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°Ρ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚.

1) ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚ соглашСния ROS ΠΎ фиксированном ΠΊΠ°Π΄Ρ€Π΅ ΠΊ соглашСнию Pixhawk ΠΎ фиксированном ΠΊΠ°Π΄Ρ€Π΅.
2) ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· соглашСния ROS ΠΎ фиксированном ΠΊΠ°Π΄Ρ€Π΅ Π—Π΅ΠΌΠ»ΠΈ Π² соглашСниС Pixhawk для фиксированного ΠΊΠ°Π΄Ρ€Π° Π—Π΅ΠΌΠ»ΠΈ.

Π₯отя Π΅ΡΡ‚ΡŒ докумСнтация ΠΊΠ°ΠΊ Π½Π° сторонС ROS, Ρ‚Π°ΠΊ ΠΈ Π½Π° сторонС Pixhawk ΠΎ соглашСнии, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌ для ΠΊΠ°Π΄Ρ€Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ с фиксированным Ρ‚Π΅Π»ΠΎΠΌ, я Π½Π΅ смог Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ соглашСнии, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌ Π½Π° сторонС Pixhawk ΠΎΠ± ΠΈΠ½Π΅Ρ€Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ (ΠΈΠ»ΠΈ фиксированной Π½Π° Π—Π΅ΠΌΠ»Π΅) систСмС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚. Если Π±Ρ‹ ΠΌΠ½Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π³Π°Π΄Π°Ρ‚ΡŒ, я Π±Ρ‹ сказал, Ρ‡Ρ‚ΠΎ Π½Π° сторонС Pixhawk, Π² отсутствиС GPS, Ρ€Π°ΠΌΠΊΠ° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Earth Fixed совпадаСт с исходной ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ фиксированной Ρ€Π°ΠΌΠΊΠΈ Ρ‚Π΅Π»Π°, Π½ΠΎ я Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½ Π½Π° 100%, Π’ этом случаС. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок ΠΈ Π½Π΅Π΄ΠΎΡ€Π°Π·ΡƒΠΌΠ΅Π½ΠΈΠΉ, я ΠΏΠΎΠΊΠ° Π±ΡƒΠ΄Ρƒ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΡƒΡŽ Ρ€Π°ΠΌΡƒ корпуса.

Π‘ΡΡ‹Π»Π°ΡΡΡŒ Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ [1] для ROS ΠΈ [2] для Pixhawk, я сдСлал ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ.
body_coordinate_frames

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ систСмы ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ для ΠΎΠ±ΠΎΠΈΡ… (1) ΠΈ (2), ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π½Ρ‹Ρ… ΠΈ согласованных, Ρ‚ΠΎΠ³Π΄Π° ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° для выполнСния фактичСских ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Π½Π° сторонС mavros становится ΠΎΡ‡Π΅Π½ΡŒ простой.

[1] http://www.ros.org/reps/rep-0103.html
[2] https://pixhawk.org/dev/know-how/frames_of_reference

Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅ β„– 148 (ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ).

Π’ этом ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ros-Infrastructure / rep # 95

ΠœΡ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈ с этим? ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ Π»ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ прСобразования ΠΈΠ· ENU / NED, Ρ‚Π΅Π»Π° / ΠΌΠΈΡ€Π°? Π― ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽ ΠΎΠ± этом, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ
@vooon , @mhkabir , @tonybaltovski , @thedinuka ping!

@thedinuka МнС нравится .

Если Π±Ρ‹ ΠΌΠ½Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π³Π°Π΄Π°Ρ‚ΡŒ, я Π±Ρ‹ сказал, Ρ‡Ρ‚ΠΎ Π½Π° сторонС Pixhawk, Π² отсутствиС> GPS, Ρ€Π°ΠΌΠΊΠ° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Earth Fixed совпадаСт с Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Ρ€Π°ΠΌΠΊΠΈ> body-fixed.

На самом Π΄Π΅Π»Π΅ Π½Π΅ Π½ΡƒΠΆΠ΅Π½ GPS. Π£ нас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ глобальная справка ΠΏΠΎ Ρ€Ρ‹ΡΠΊΠ°Π½ΡŒΡŽ ΠΈΠ· ΠΆΡƒΡ€Π½Π°Π»Π°. Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°ΠΌΠ° EF ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого рыскания.

ΠŸΡ€ΠΈΠ²Π΅Ρ‚,
Π― ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π°ΡŽ Ρ‚Π΅ΠΌΡƒ с mocap_optitrack Π½Π° vision_pose / pose Π² mavros. ΠΎΠ΄Π½Π°ΠΊΠΎ mav Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π»Π΅Ρ‚Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, поэтому я мСняю ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄
vision_position_estimate (ΡˆΡ‚Π°ΠΌΠΏ.toNSec () / 1000,
position.y (), position.x (), -position.z (),
roll, -pitch, -yaw); // ??? поТалуйста, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅!
ΠΊ
vision_position_estimate (ΡˆΡ‚Π°ΠΌΠΏ.toNSec () / 1000,
position.y (), position.x (), -position.z (),
roll, -pitch, -yaw + 1,57);
Ρ‚.Π΅. ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ -yaw Π½Π° -yaw + 1.57.
ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ корпуса ΠΈΠ· ENU Π² NED, mavros Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚
(xyz) -> (x, -y, -z)
(w, x, y, z) -> (x, -y, -z, w), поэтому ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ
ЕНУ ---> НЭД
Ρ€ΡƒΠ»ΠΎΠ½ ----> Ρ€ΡƒΠ»ΠΎΠ½
шаг -----> - шаг
Ρ€Ρ‹ΡΠΊΠ°Π½ΡŒΠ΅ -----> - рысканиС.
ΠΎΠ΄Π½Π°ΠΊΠΎ я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ошибаСмся, Ρ‡Ρ‚ΠΎ рысканиС основано Π½Π° оси x Π² ΠΌΠΈΡ€ΠΎΠ²ΠΎΠΉ систСмС отсчСта (ΠΊΠΎΠ³Π΄Π° x Π² ΠΊΠ°Π΄Ρ€Π΅ Ρ‚Π΅Π»Π° находится вмСстС с x Π² ΠΌΠΈΡ€ΠΎΠ²ΠΎΠΉ систСмС отсчСта, рысканиС Ρ€Π°Π²Π½ΠΎ 0) ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π½Π° 90 градусов. поэтому ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ -yaw + 1.57. Ρ‚.Π΅.
ЕНУ ---> НЭД
Ρ€ΡƒΠ»ΠΎΠ½ ----> Ρ€ΡƒΠ»ΠΎΠ½
шаг -----> - шаг
рысканиС -----> - рысканиС + 1,57.
послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ я Π΅Π³ΠΎ помСнял, mav ΠΌΠΎΠΆΠ΅Ρ‚ Π»Π΅Ρ‚Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. поэтому я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° этот.

@congleetea, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ каТСтся Π·Π°ΠΊΠΎΠ½Π½Ρ‹ΠΌ. НС ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ прСобразования ΠΊ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌ уставок ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚? ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠ΅ ΠΈΠ· Ρ‚Π΅ΠΌΡ‹ local_position ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Π±Π΅Π· примСнСния Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ прСобразования?

Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅ β„– 148 (ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ).

ΠœΡ‹ Ρ‚ΠΎΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ это ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ.

PR # 317 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ конвСрсии.

Π― ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ» это ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅

NED (Pixhawk) -> ENU (ROS)
(X, Y, Z) -> (X, -Y, -Z)

ENU (ROS) -> NED (Pixhawk)
(X, Y, Z) -> (X, -Y, -Z)

Π­Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π² Ρ€Π²ΠΈΠ·Π΅, Ρ‚Π°ΠΊ ΠΈ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ.

@supermice , ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ # 317, спасибо! :)

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ