рдРрд░реЛрдиреЗрдЯ рдореЗрдВ рдкреНрд░рд╡реЗрд╢: рдПрдХ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдПрдХ рд╕реНрд╡рд╛рдпрддреНрдд рдХреНрд╡рд╛рдбреНрд░реЛрдХреЛрдкреНрдЯрд░ рд▓реЙрдиреНрдЪ рдХрд░рдирд╛


рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рд╢рд╛рдпрдж, рд╣рд░ рдХреЛрдИ рдЕрдм рдПрдХ рдХреНрд╡рд╛рдбреЙрдкреНрдЯрд░ рдЙрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕реНрд╡рд╛рдпрддреНрдд рдирд┐рдпрдВрддреНрд░рдг рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рддрд╛рдХрд┐ рдЖрдкрдХреЛ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдХреА рдЫрдбрд╝реЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛ рдФрд░ рдбреНрд░реЛрди рдХреА рд▓рдЧрд╛рддрд╛рд░ рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдВ - рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ, рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ: рдЦрд░реАрджрдирд╛, рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛, рдорд┐рд▓рд╛рдк рдХрд░рдирд╛, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛, рдЙрддрд╛рд░рдирд╛, рдЧрд┐рд░рд╛рдирд╛ рдФрд░ рдЧрд┐рд░рдиреЗ рдХреЗ рдмрд╛рдж - рдЪрдХреНрд░ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╡рд╛рдкрд╕ рдЖрдирд╛ред


рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдПрд░реЛрдиреЗрдЯ рдХреЗ рдиреНрдпрд╛рдпрд╛рдзреАрд╢реЛрдВ / рд╢рд┐рдХреНрд╖рдХреЛрдВ рдХреЛ рдкрдврд╝рд╛рдиреЗ рдХреЗ рд╕рд╛рде, рд╣рдореЗрдВ рд░реЛрдмреЛрдЯрд┐рдХреНрд╕ / рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬреНрдЮрд╛рди рдХреЗ рд╢рд┐рдХреНрд╖рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдирд╡рд░рд╣рд┐рдд рд╡рд╛рд╣рдиреЛрдВ рдХреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ "рд╕рд░рд▓реАрдХреГрдд" рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ, рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмреБрдирд┐рдпрд╛рджреА рдЬреНрдЮрд╛рди рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИред


рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдбреНрд░реЛрди рдЙрдбрд╝рд╛рдиреЛрдВ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╕реАрдЦрдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ - рдПрдХ рдЖрднрд╛рд╕реА рд╕рд┐рдореБрд▓реЗрд╢рди рд╡рд╛рддрд╛рд╡рд░рдг, рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдХрджрдо-рджрд░-рдЪрд░рдг рдЙрджрд╛рд╣рд░рдг рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдЕрдкрдиреЗ рд▓реЗрдЦ рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред


рдмреБрдирд┐рдпрд╛рджреА рдбреНрд░реЛрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреМрд╢рд▓ рдХреЛ рдкрдВрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреБрдЫ рднреА рдЦрд░реАрджрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ - рдмрд╕ PX4 рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ jMAVSim рдбреНрд░реЛрди рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдкреАрдПрдХреНрд╕ 4 рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдУрдкрди рд╕реЛрд░реНрд╕ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕реВрдЯ рд╣реИ, рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рдирд╡рд░рд╣рд┐рдд рд╡рд╛рд╣рдиреЛрдВ рдкрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рджреЛрдиреЛрдВ рдЙрдбрд╝рд╛рди рдФрд░ рдЬрдореАрди рдкрд░ рдпрд╛рддреНрд░рд╛ рдХрд░рддреЗ рд╣реИрдВред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб Github рдкрд░ рд╣реИ ред


рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, PX4 рд▓реЗрдЦрдХ рд▓рд┐рдирдХреНрд╕ рдЙрдмрдВрдЯреВ LTS рдХреЛ рдПрдХ рд╡рд┐рдХрд╛рд╕ рдкрд░рд┐рд╡реЗрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реБрдЭрд╛рддреЗ рд╣реИрдВред рдореИрдХ рд╕рдкреЛрд░реНрдЯ рднреА рд╣реИред рдЗрд╕ рд╕рд╛рд▓, рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рд╕рд┐рдореБрд▓реЗрд╢рди рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдорд╛рд╣реМрд▓ рд╕рд╛рдЗрдЧрд╡рд┐рди рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рдЬреЛ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬреНрдЮрд╛рди рдХреА рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд░реВрд╕реА рд╢реИрдХреНрд╖рд┐рдХ рд╕рдВрд╕реНрдерд╛рдиреЛрдВ рдХреЗ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред


рдЕрдЧрд▓рд╛, рд╣рдо рд▓рд┐рдирдХреНрд╕ рдХреЗ рддрд╣рдд рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ, рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред


рд▓рд┐рдирдХреНрд╕ рдЙрдмрдВрдЯреВ рдкрд░ jMAVSim рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдФрд░ рдЪрд▓рд╛рдирд╛


рдкреАрдПрдХреНрд╕ 4 рдбреЗрд╡рд▓рдкрд░реНрд╕ рд▓рд┐рдирдХреНрд╕ рдЙрдмрдВрдЯреВ 16.04 рдПрд▓рдЯреАрдПрд╕ рдХреЛ рдЙрдирдХреЗ рдорд╛рдирдХ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд░реВрдк рдореЗрдВ рд╕реБрдЭрд╛рддреЗ рд╣реИрдВред рд▓рд┐рдирдХреНрд╕ рдЖрдкрдХреЛ рд╕рднреА рд╕рдорд░реНрдерд┐рдд рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ (NuttX, рдХреНрд╡рд╛рд▓рдХреЙрдо рд╕реНрдиреИрдкрдбреНрд░реИрдЧрди рдЙрдбрд╝рд╛рди, рд▓рд┐рдирдХреНрд╕, рд╕рд┐рдореБрд▓реЗрд╢рди рд╡рд╛рддрд╛рд╡рд░рдг, рдЖрд░рдУрдПрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо) рдХреЗ рд▓рд┐рдП рдкреАрдПрдХреНрд╕ 4 рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдбрд╛рдпрд▓рдЖрдЙрдЯ рд╕рдореВрд╣ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:


sudo usermod -a -G dialout $USER 

рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдкреНрд░рднрд╛рд╡реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВред


Pixavk / NuttX рдХреЗ рд▓рд┐рдП jmavsim рд╕рд╣рд┐рдд рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓рдЪреИрди, ubuntu_sim_nuttx.sh рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдкрдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ


 source ubuntu_sim_nuttx.sh 

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рдкреВрдЫреЗ рдЧрдП рд╕рднреА рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдЬрд╡рд╛рдм рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред


рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВред


рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИ рдЬреЛ рдЙрдбрд╝рд╛рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИред


рд╣рдо github рдХреЗ рд╕рд╛рде PX4 рдлреНрд▓рд╛рдЗрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░рддреЗ рд╣реИрдВ:


 git clone https://github.com/PX4/Firmware.git 

рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреВрд░реНрдг рд╕реНрд░реЛрдд рдХреЛрдб рд╣реИ рдЬрд┐рд╕реЗ рдЙрдбрд╝рд╛рди рдирд┐рдпрдВрддреНрд░рдХ (рдФрд░ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдореЗрдВ) рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдпрд╣ рдЕрдзреНрдпрдпрди рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдФрд░ рдЙрд╕рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛрдиреЛрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдХреЙрдкреА рдХрд┐рдП рдЧрдП рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛рдПрдВ:


 cd src/Firmware 

рд╣рдо рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВ:


 make px4_sitl jmavsim 

рдкрд╣рд▓реЗ рд╕рдВрдХрд▓рди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рд╕рдлрд▓ рд╕рдорд╛рдкрди рдХреЗ рдмрд╛рдж, PX4 рдХрдВрд╕реЛрд▓ рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:


рдкреАрдПрдХреНрд╕ 4 рдХрдВрд╕реЛрд▓


рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░рдХреЗ рдбреНрд░реЛрди рдХреЛ рдЙрдбрд╝рд╛рди рдХреЗ рд▓рд┐рдП рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:


 pxh> commander takeoff 

рдЗрди-рдлреНрд▓рд╛рдЗрдЯ рдбреНрд░реЛрди


рдПрдХ рдбреНрд░реЛрди рд▓реИрдВрдбрд┐рдВрдЧ - рдХрдорд╛рдВрдб commander land , рд╕рд┐рдореБрд▓реЗрд╢рди рд░реЛрдХреЗрдВ - CTRL + C рдпрд╛ рдХрдорд╛рдВрдб shutdown ред


рд╡рд┐рдВрдбреЛрдЬ рдкрд░ jMAVSim рдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рдЪрд▓рд╛рдПрдВ


PX4 рд╕рд╛рдЗрдЧрд╡рд┐рди рдЯреВрд▓рдмреЙрдХреНрд╕ 2018 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред рдпрд╣ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдкреАрдПрдХреНрд╕ 4 рдХреЛ рд╕рдВрдХрд▓рд┐рдд / рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рддрд░реАрдХрд╛ рд╣реИред рдЧрд┐рдердм рдпрд╛ рдЕрдореЗрдЬрд╝реЕрди рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдПред


рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЯреВрд▓рдХрд┐рди C: \ PX4 рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИред


рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЗ рдЕрдВрддрд┐рдо рдЪрд░рдг рдкрд░, рдЖрдк рдмреЙрдХреНрд╕ рдХреЛ "рдкреАрдПрдХреНрд╕ 4 рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЗрдПрдордПрд╡реАрд╕рд┐рдо рдХреЗ рд╕рд╛рде рд╕рд┐рдореБрд▓реЗрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ" (рдкреАрдПрдХреНрд╕ 4 рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЗрдПрдордПрд╡реАрд╕рд┐рдо рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред


рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд░рди-рдХрдВрд╕реЛрд▓.рдмреАрдПрдЯреА рдлрд╛рдЗрд▓ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕реА: \ рдкреАрдПрдХреНрд╕ 4) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд┐рдЧрд╡рд┐рди рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред


рдпрджрд┐ рдЖрдк рд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди jMAVSim рд▓реЙрдиреНрдЪ рдмреЙрдХреНрд╕ рдХреЛ рдЯрд┐рдХ рдХрд░рдирд╛ рднреВрд▓ рдЧрдП - рд╕рд┐рдЧреНрд╡рд┐рди рдореЗрдВ рдЖрдк рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:


 git clone --recursive -j8 https://github.com/PX4/Firmware.git cd Firmware make px4_sitl jmavsim 

рд╕рдВрдХрд▓рди рдХреЗ рдмрд╛рдж, рдкреАрдПрдХреНрд╕ 4 рдХрдВрд╕реЛрд▓ рдФрд░ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рд╡рд┐рдВрдбреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:


рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП JMAVSim рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рд╡рд┐рдВрдбреЛ


рдореИрдВрдиреЗ рдЕрднреА рддрдХ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЖрдХрд╛рд╢ рдФрд░ рдкреЗрдбрд╝реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЙрдирдХреЗ рдмрдЬрд╛рдп рдПрдХ рдХрд╛рд▓реА рдкреГрд╖реНрдарднреВрдорд┐, рдЬреИрд╕рд╛ рдХрд┐ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ ред


рдбреНрд░реЛрди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрд╕реЛрд▓ рдХрдорд╛рдВрдб рд╕рдорд╛рди рд╣реИрдВ: рдЯреЗрдХрдСрдлрд╝ - commander takeoff , рд▓реИрдВрдбрд┐рдВрдЧ - commander land , рд╕реНрдЯреЙрдк рд╕рд┐рдореБрд▓реЗрд╢рди - CTRL + C рдпрд╛ shutdown ред


QGroundControl рдЧреНрд░рд╛рдЙрдВрдб рд╕реНрдЯреЗрд╢рди рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рд╛рде рдЙрдбрд╝рд╛рдиреЗрдВ


QGroundControl рдХрд╛рд░реНрдпрдХреНрд░рдо рдЖрдкрдХреЛ PX4 рдпрд╛ ArduPilot рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдбреНрд░реЛрди рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдЬреАрдкреАрдПрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрд╡рд╛рдпрддреНрдд рдмрд╛рд╣рд░реА рдЙрдбрд╝рд╛рдиреЛрдВ рдХреА рдпреЛрдЬрдирд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рднреА рдХрд░рддрд╛ рд╣реИред


рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреБрд▓рд╛ рд╣реИ, рдФрд░ рдпрд╣ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рд╡рд┐рдВрдбреЛрдЬ, рдУрдПрд╕ рдПрдХреНрд╕, рд▓рд┐рдирдХреНрд╕, рдЖрдИрдУрдПрд╕ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╡рд╛рдВрдЫрд┐рдд рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рдбрд╛рдЙрдирд▓реЛрдб рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред


рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдлрд╛рдЗрд▓ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдВред
рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд▓реЙрдиреНрдЪ рдХреЗ рдмрд╛рдж, рдЕрдЧрд░ jMAVSim рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЗрд╕реЗ рдЕрдкрдиреЗ рдЖрдк рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдЧрд╛ред


рдЖрдк рдлреНрд▓рд╛рдИ-рдЯреЗрдХрдСрдлрд╝ рдмрдЯрди рдФрд░ рднреВрдорд┐ - рднреВрдорд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдбрд╝рд╛рди рдореЗрдВ рдПрдХ рдбреНрд░реЛрди рд▓реЙрдиреНрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк GPS рдкреЙрдЗрдВрдЯ рдкрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдлрд╝реНрд▓рд╛рдЗрдЯ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


QGroundControl


рдорд╛рд╡рд░реНрд╕ рдХреЗ рд╕рд╛рде рд╕реНрд╡рд╛рдпрддреНрдд рдЙрдбрд╝рд╛рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ


JMAVSim рд╡рд░реНрдЪреБрдЕрд▓ рдбреНрд░реЛрди рдХреЛ рдорд╛рд╡рд▓рд┐рдВрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрдИ рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 1 , 2 )ред рдорд╛рд╡рд▓рд┐рдВрдХ рд╕рдВрдЪрд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЖрд░рдУрдПрд╕ (рд░реЛрдмреЛрдЯ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо) рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдорд╛рд╡рд░реЛ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред


PX4 рдбреЗрд╡рд▓рдкрд░реНрд╕ ROS рдХрд╛рдЗрдиреЗрдЯрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВред


рдорд╛рд╡рд░реЛрд╕ рдкреИрдХреЗрдЬ рдЖрд░рдУрдПрд╕ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓рд┐рдирдХреНрд╕ рдпрд╛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдПрдХ рдЖрднрд╛рд╕реА рдорд╢реАрди) рдФрд░ рдПрдХ рдЙрдбрд╝рд╛рди рдирд┐рдпрдВрддреНрд░рдХ (рдЕрд╕рд▓реА рдпрд╛ рдПрдХ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ) рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдмреАрдЪ рдПрдордПрд╡реАрд▓рд┐рдВрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдЪрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред


рдЖрд░рдУрдПрд╕ рдХрд╛рдЗрдиреЗрдЯрд┐рдХ рдХреА рдкреВрд░реНрдг рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди рдорд╛рд╡рд░реЛрд╕ рдкреИрдХреЗрдЬ рдХреЛ рдЕрдиреНрдп рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред


рдорд╛рд╡рд░реЛрд╕ рдкреИрдХреЗрдЬ рдХреЛ рд░рд╕рд▓реЙрдиреНрдЪ рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЖрдИрдкреА рдкрддреЗ рдФрд░ рдкреЛрд░реНрдЯ рдХрд╛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:


 roslaunch mavros px4.launch fcu_url:="udp://@192.168.0.22:14557" 

рдпрджрд┐ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдЙрд╕ рд╣реЛрд╕реНрдЯ рдкрд░ рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдЬрд╣рд╛рдВ jMAVSim рдЪрд▓ рд░рд╣реА рд╣реИ, рддреЛ mavros рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ javAVSim рдХрдВрд╕реЛрд▓ рдореЗрдВ param set MAV_BROADCAST 1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рднреЗрдЬреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ mavlink рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬрдм рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреА рд╣реИ, рддреЛ рдорд╛рд╡рд▓рд┐рдВрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛрд╕реНрдЯ рдЖрдИрдкреА рдПрдбреНрд░реЗрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдкреЛрд░реНрдЯ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ mavlink status рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:


рдорд╛рд╡рд▓рд┐рдВрдХ рдХреА рд╕реНрдерд┐рддрд┐


рдЙрдбрд╝рд╛рди рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреА рд╕рдлрд▓рддрд╛ рдХреЛ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП:


 rostopic echo /mavros/state 

рдпрджрд┐ рдХрдиреЗрдХреНрд╢рди рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рддрдерд╛рдХрдерд┐рдд рд╕рдВрджреЗрд╢ рдХрдВрд╕реЛрд▓ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗред рдорд╛рд╡рд▓рд┐рдВрдХ рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди, рд▓рдЧрднрдЧ рдПрдХ рдмрд╛рд░ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб:


рдорд╛рд╡рд▓рд┐рдВрдХ рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди


рдпрджрд┐ рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддреЗ / рдЕрджреНрдпрддрди рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ / рдлрд╝реАрд▓реНрдб рдХрдиреЗрдХреНрдЯреЗрдб = рдЧрд▓рдд - рдЙрдбрд╝рд╛рди рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреНрдпреЛрдВред


рдЗрд╕ рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд, рдкрд░рдо рдиреЗ MAV_BROADCAST 1 рдХрдорд╛рдВрдб рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, jMAVSim рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд▓реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛:


 WARN [mavlink] getting required buffer size failed. 

рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ src / рдореЙрдбреНрдпреВрд▓ / mavlink / mavlink_main.cpp рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд╛рдЗрди 1029 рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП:


 #if defined(__APPLE__) && defined(__MACH__) || defined(__CYGWIN__) 

рдФрд░ рдХрдорд╛рдВрдб make px4_sitl jmavsim рд╕рд╛рде рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ / рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдВред


рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдмрддрд╛рдИ рдЧрдИ рд╣реИ , рдЗрд╕реЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд░рд┐рд▓реАрдЬ рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рдПрдХ рд╕рдлрд▓ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдмрд╛рдж, рдЖрдк рдЖрд░рдУрдПрд╕ рд╕рд┐рд╕реНрдЯрдо рдХрдВрд╕реЛрд▓ рдХреЗ рдирд┐рдореНрди рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреНрд░реЛрди рдХреЛ рд╕реНрд╡рд╛рдпрддреНрдд рдЙрдбрд╝рд╛рди рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


  • рд╣рдо OFFBOARD рдореЛрдб рдореЗрдВ рдбреНрд░реЛрди рдХреА рдЙрдбрд╝рд╛рди рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 5 рдмрд╛рд░ рд▓рдХреНрд╖реНрдп рдмрд┐рдВрджреБ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдбреНрд░реЛрди рдХреЗ рд▓рд┐рдП рдСрдлрдмреЛрд░реНрдб рдСрдЯреЛрдиреЙрдорд╕ рдлреНрд▓рд╛рдЗрдЯ рдореЛрдб рдХреЗ "рдмрд╛рд╣рд░ рдирд╣реАрдВ" рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд▓рдХреНрд╖реНрдп рдмрд┐рдВрджреБ рдХреЛ рд╣рд░ рд╕рдордп, рдХрдИ рдмрд╛рд░ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:

     rostopic pub -r 5 /mavros/setpoint_position/local geometry_msgs/PoseStamped "header: seq: 0 stamp: secs: 0 nsecs: 0 frame_id: '' pose: position: x: 0.0 y: 0.0 z: 5.0 orientation: x: 0.0 y: 0.0 z: 0.0 w: 0.0" 


  • рд╣рдо рдбреНрд░реЛрди рдХреЛ OFFBOARD рдореЛрдб рдореЗрдВ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ (рдПрдХ рдирдП рдЕрд▓рдЧ рдЯрд░реНрдорд┐рдирд▓ рд╕рддреНрд░ рдореЗрдВ):

     rosservice call /mavros/set_mode "base_mode: 0 custom_mode: 'OFFBOARD'" 

  • рд╣рдо рдбреНрд░реЛрди рдХреЛ рдЙрдбрд╝рд╛рди рдореЛрдб рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдорд╛рдВрдб рднреЗрдЬрддреЗ рд╣реИрдВ (рдЬреИрд╕реЗ, "рдлреАрдб"):

     rosservice call /mavros/cmd/arming "value: true" 

рдЕрдВрддрд┐рдо рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╡рд░реНрдЪреБрдЕрд▓ рдбреНрд░реЛрди рдХреЛ 5 рдореАрдЯрд░ рдХреА рдКрдВрдЪрд╛рдИ рдкрд░ рдЙрддрд╛рд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╣реЛрд╡рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:


рдлреНрд▓рд╛рдЗрдВрдЧ рдЬрдореНрдорд╡реАрдо


рдЖрдк рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд╛рдпрдерди рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдбреНрд░реЛрди рднреА рд▓реЙрдиреНрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


 import rospy from geometry_msgs.msg import PoseStamped from mavros_msgs.srv import CommandBool, SetMode rospy.init_node("offbrd",anonymous=True) rate=rospy.Rate(5) setpoint_pub=rospy.Publisher("/mavros/setpoint_position/local",PoseStamped,queue_size=10) arming_s=rospy.ServiceProxy("/mavros/cmd/arming",CommandBool) set_mode=rospy.ServiceProxy("/mavros/set_mode",SetMode) setpt=PoseStamped() setpt.pose.position.z=5 for i in range (0,10): setpoint_pub.publish(setpt) rate.sleep() set_mode(0,"OFFBOARD") arming_s(True) while (rospy.is_shutdown()==False): setpoint_pub.publish(setpt) rate.sleep() 

рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЙрд▓ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрд╕реА ROS рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред


рдЖрдкрдХреЛ рдХреЛрдб рдХреЛ рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЙрдкреА рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, fly_jmavsim.py, рдФрд░ рдЗрд╕реЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ python fly_jmavsim.py рд╕реЗ рд░рди рдХрд░реЗрдВред


рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдореБрдЭреЗ jMAVSim рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ - рдЗрд╕рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓рд┐рдирдХреНрд╕ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░, рд╡рд╣ рдХреЗрд╡рд▓ 10 рдПрдлрдкреАрдПрд╕ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рдФрд░ рдЯреЗрдХ-рдСрдл рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛ред рд▓реИрдкрдЯреЙрдк рдкрд░, рдЬрдм рдореИрдВ рд▓реЗрдЦ рд▓рд┐рдЦ рд░рд╣рд╛ рдерд╛, рдЙрд╕рдиреЗ рд╕рдордп-рд╕рдордп рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдЦреЛ рджрд┐рдпрд╛ / рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛ред рд▓реИрдкрдЯреЙрдк рдХреА рд╢рдХреНрддрд┐ рдиреЗ рдорджрдж рдХреА - рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдПрдХ рдмреИрдЯрд░реА рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкрд╛рд╡рд░ рд╕реЗрд╡рд┐рдВрдЧ рдореЛрдб рд╕рдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕реАрдзреЗ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред


рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЬреЛ рд▓реЛрдЧ рдЦреБрдж рдХреЛ рд╕реНрд╡рд╛рдпрддреНрдд рдЙрдбрд╝рд╛рди рдХрд╛рд░реНрдпрдХреНрд░рдо рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдПрдХ рд╡рд░реНрдЧ рдореЗрдВ, рдПрдХ рд╕рд░реНрдХрд▓ рдореЗрдВ, рдПрдХ рдордирдорд╛рдирд╛ рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░, рдЖрджрд┐ рдореЗрдВ)ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрднреНрдпрд╛рд╕реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд╡рд╛рдбреНрд░реЛрдХреЙрдкреНрдЯрд░ рдкрд░ рд╕реНрд╡рд╛рдпрддреНрдд рдорд┐рд╢рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред


рд╣рдо рдЖрдкрдХреЛ рд╕рднреА рд╕рдлрд▓ рдЙрдбрд╝рд╛рдиреЛрдВ рдХреА рдХрд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ!


рд╕рдВрджрд░реНрдн:


рд░реЛрдмреЛрдЯ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо (ROS)
рдСрдЯреЛрдкрд╛рдпрд▓рдЯ рдкреАрдПрдХреНрд╕ 4

Source: https://habr.com/ru/post/hi434220/


All Articles