diff options
author | Thomas Gubler <thomasgubler@gmail.com> | 2015-01-15 12:37:24 +0100 |
---|---|---|
committer | Thomas Gubler <thomasgubler@gmail.com> | 2015-01-15 12:38:09 +0100 |
commit | e60c1a842c856e1a19fcdc1b169dfdbc813e9ce2 (patch) | |
tree | a1a7dc293b7b58cc907f1956d1fa4574e2ebea62 | |
parent | 1f26e1f5ebb0d0fffec98644d2a824f88415e9d7 (diff) | |
download | px4-firmware-e60c1a842c856e1a19fcdc1b169dfdbc813e9ce2.tar.gz px4-firmware-e60c1a842c856e1a19fcdc1b169dfdbc813e9ce2.tar.bz2 px4-firmware-e60c1a842c856e1a19fcdc1b169dfdbc813e9ce2.zip |
ros mixer: add iris
-rw-r--r-- | launch/iris.launch | 1 | ||||
-rw-r--r-- | src/platforms/ros/nodes/mc_mixer/mc_mixer.cpp | 17 |
2 files changed, 16 insertions, 2 deletions
diff --git a/launch/iris.launch b/launch/iris.launch index 81a137173..44a0ae034 100644 --- a/launch/iris.launch +++ b/launch/iris.launch @@ -14,6 +14,7 @@ <param name="MC_YAWRATE_P" type="double" value="0.5" /> <param name="MC_MAN_R_MAX" type="double" value="10.0" /> <param name="MC_MAN_P_MAX" type="double" value="10.0" /> + <param name="mixer" type="string" value="i" /> </group> </launch> diff --git a/src/platforms/ros/nodes/mc_mixer/mc_mixer.cpp b/src/platforms/ros/nodes/mc_mixer/mc_mixer.cpp index 9954692bc..54f5fa78b 100644 --- a/src/platforms/ros/nodes/mc_mixer/mc_mixer.cpp +++ b/src/platforms/ros/nodes/mc_mixer/mc_mixer.cpp @@ -108,12 +108,19 @@ const MultirotorMixer::Rotor _config_quad_wide[] = { { 0.927184, 0.374607, -1.000000 }, { -0.777146, -0.629320, -1.000000 }, }; +const MultirotorMixer::Rotor _config_quad_iris[] = { + { -0.876559, 0.481295, 1.000000 }, + { 0.826590, -0.562805, 1.000000 }, + { 0.876559, 0.481295, -1.000000 }, + { -0.826590, -0.562805, -1.000000 }, +}; -const MultirotorMixer::Rotor *_config_index[4] = { +const MultirotorMixer::Rotor *_config_index[5] = { &_config_x[0], &_config_quad_plus[0], &_config_quad_plus_euroc[0], - &_config_quad_wide[0] + &_config_quad_wide[0], + &_config_quad_iris[0] }; MultirotorMixer::MultirotorMixer(): @@ -216,13 +223,19 @@ void MultirotorMixer::actuatorControlsCallback(const PX4_TOPIC_T(actuator_contro _n.getParamCached("mixer", mixer_name); if (mixer_name == "x") { _rotors = _config_index[0]; + ROS_WARN("using x"); } else if (mixer_name == "+") { _rotors = _config_index[1]; } else if (mixer_name == "e") { _rotors = _config_index[2]; } else if (mixer_name == "w") { _rotors = _config_index[3]; + ROS_WARN("using w"); + } else if (mixer_name == "i") { + _rotors = _config_index[4]; + ROS_WARN("using i"); } + ROS_WARN("mixer_name %s", mixer_name.c_str()); // mix mix(); |