Mavros: MAVROS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ PX4 рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдирд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 31 рдЕрдЧре░ 2017  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: mavlink/mavros

рдирдорд╕реНрддреЗ

рдореИрдВ MAVROS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ PX4 рдлреНрд▓рд╛рдЗрдЯ рд╕реНрдЯреИрдХ рдкрд░ рдХреБрдЫ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореИрдВ рдорд╛рд╡рд░реЛрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ
rosservice рдХреЙрд▓ /mavros/param/MPC_LAND_SPEED рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рдорд╛рд╡рд░реЛрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╡рд╣ рд╕рд╣реА рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХреНрдпрд╛ рд╣реИ

рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА
rosservice рдХреЙрд▓/рдорд╛рд╡рд░реЛрд╕/рдкрд░рдо/рд╕реЗрдЯ MPC_LAND_SPEED '0.4'
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИред рдЕрдЧрд░ рдХреЛрдИ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдореИрдВ рдмрд╣реБрдд рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛!

рд╢реБрдХреНрд░рд┐рдпрд╛

рд╕реЗрдмрд╛рд╕реНрдЯрд┐рдпрди

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдХрд┐рд╕реА рд╕реЗрд╡рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрдЯ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, ROS рддрд░реАрдХрд╛ рд╣реИ:

rosservice call /param/set "param_id: 'MPC_LAND_SPEED'
value:
  integer: 0
  real: 0.4" 

рд╕рднреА 10 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдХреНрдпрд╛ рдЖрдкрдиреЗ mavparam рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА? rosrun mavros mavparam set MPC_LAND_SPEED 0.4 ?

рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдХрд┐рд╕реА рд╕реЗрд╡рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрдЯ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, ROS рддрд░реАрдХрд╛ рд╣реИ:

rosservice call /param/set "param_id: 'MPC_LAND_SPEED'
value:
  integer: 0
  real: 0.4" 

рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ @sheningред рд╕рдорд╛рдкрди

рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдХрд┐рд╕реА рд╕реЗрд╡рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрдЯ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, ROS рддрд░реАрдХрд╛ рд╣реИ:
rosservice рдХреЙрд▓/рдкрд░рдо/рд╕реЗрдЯ "param_id: 'MPC_LAND_SPEED'
рдореВрд▓реНрдп:
рдкреВрд░реНрдгрд╛рдВрдХ: 0
рд╡рд╛рд╕реНрддрд╡рд┐рдХ: 0.4"

рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдзрд┐ рдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ рдпрд╣рд╛рдБ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЙрдкрд░реЛрдХреНрдд рдЖрджреЗрд╢ рдореЗрд░реЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди 'рдкреВрд░реНрдгрд╛рдВрдХ' рдФрд░ 'рд╡рд╛рд╕реНрддрд╡рд┐рдХ' рд╕реЗ рдкрд╣рд▓реЗ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред рдФрд░ '/mavros' рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛:

rosservice рдХреЙрд▓ /mavros/param/set "param_id: 'SENS_EN_THERMAL'
рдореВрд▓реНрдп:
рдкреВрд░реНрдгрд╛рдВрдХ: 55
рд╡рд╛рд╕реНрддрд╡рд┐рдХ: 0.0"

cf) рдЗрд╕ рдХрдореЗрдВрдЯ рдПрдбрд┐рдЯрд░ рдореЗрдВ ''(рд╕реНрдкреЗрд╕) рдХреА рдЬрдЧрд╣   рд▓рд┐рдЦрдХрд░ рдПрдХ рдЦрд╛рд▓реА рдЬрдЧрд╣ рдЬреЛрдбрд╝реА рдЬрд╛ рд╕рдХрддреА рд╣реИред

@bigbellmercy рдХреНрдпрд╛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХреЛрдВ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд╣реИ? рдпрд╛ рдпрд╣ рднреА рд╕рдЪ рд╣реИ рдЬрдм рдЖрдк roscpp рдкрд░ rosservice рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?

@bigbellmercy рджрд░рдЕрд╕рд▓, рд╡рд╣ 3 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдерд╛ рдФрд░ рдЬрдЧрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдереА, рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ ``` рдЬреЛрдбрд╝рд╛ рд╣реИ рдФрд░ рдЕрдм рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИред рдореИрдВ rosservice рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЯрд╛рдЗрдкреЛ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдВрд╕рдирд╛:

@bigbellmercy рдХреНрдпрд╛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХреЛрдВ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд╣реИ? рдпрд╛ рдпрд╣ рднреА рд╕рдЪ рд╣реИ рдЬрдм рдЖрдк roscpp рдкрд░ rosservice рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?

@ Jaeyoung-Lim рдореИрдВ рдЙрдкрд░реЛрдХреНрдд рдХрдорд╛рдВрдб рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 'roscpp рдкрд░ rosservice рдХреЙрд▓' рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ред

рд▓реЗрдХрд┐рди рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб roscpp рдореЗрдВ PX4 рдкреИрд░рд╛рдореАрдЯрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

system("rosrun mavros mavparam set SENS_EN_THERMAL 55");

@ Jaeyoung-Lim рдореЗрд░рд╛ рдорддрд▓рдм ros рд╕реЗрд╡рд╛ рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ roscpp рдерд╛, рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛

@ рдЬреЗрдпреЙрдиреНрдЧ-рд▓рд┐рдо рдореБрдЭреЗ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛ред

Roscpp рд╕реЗрд╡рд╛ рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдореИрдВ рд╕реАрдзреЗ PX4 рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдпрд╛ рд╕реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рднреА рдЕрд╕рдорд░реНрде рдерд╛ред рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА:

[/mavros:std_plugins::ParamPlugin::get_cb]: PR: Unknown parameter to get: MPC_XY_VEL_MAX
[/mavros:std_plugins::ParamPlugin::set_cb]: PR: Unknown parameter to set: MPC_XY_VEL_MAX

рдХреНрдпрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдЖрдИрдбреА рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЙрдкрд╕рд░реНрдЧ рд╣реИ?

рдЗрд╕рдиреЗ рдорд╛рд╡рдкрд░рдо рд▓рд┐рдкрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд┐рдпрд╛:
rosrun mavros mavparam -n /mavros get MPC_XY_VEL_MAX

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдЗрд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЖрд░рдУрдПрд╕ рдореЗрдВ рдЦреАрдВрдЪрдХрд░, рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдХреЗ, рдФрд░ рдлрд┐рд░ рдЙрди рд╕рднреА рдХреЛ рдкреАрдЫреЗ рдзрдХреЗрд▓ рдХрд░ рдПрдХ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛:

ServiceClient pull_client = nh.serviceClient<mavros_msgs::ParamPull>("mavros/param/pull");
pull_client.waitForExistence();
mavros_msgs::ParamPull pull;
if (pull_client.call(pull)) {
    if (pull.response.success) {
        ROS_DEBUG("Pulled %d parameters from FCU", pull.response.param_received);
        nh.setParam("mavros/param/MPC_XY_VEL_MAX", max_velocity);
        ServiceClient push_client = nh.serviceClient<mavros_msgs::ParamPush>("mavros/param/push");
        push_client.waitForExistence();
        mavros_msgs::ParamPush push;
        if (push_client.call(push)) {
            if (push.response.success)
                ROS_DEBUG("Pushed %d parameters to FCU", push.response.param_transfered);
            else
                ROS_ERROR("Failed push parameters to FCU, cannot set maximum horizontal velocity!");
        }
        else {
            ROS_ERROR("Failed to push parameters to FCU, cannot set maximum horizontal velocity!");
        }
    }
    else {
        ROS_ERROR("Failed to pull parameters from FCU, cannot set maximum horizontal velocity!");
    }
}
else {
    ROS_ERROR("Failed to pull parameters from FCU, cannot set maximum horizontal velocity!");
}
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

SubMishMar picture SubMishMar  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

fionachui picture fionachui  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MasterRos picture MasterRos  ┬╖  12рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Tutorgaming picture Tutorgaming  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

zhahaoyu picture zhahaoyu  ┬╖  12рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ