From e00904ca25bfea0da09aa93be3e098ef469ba0ac Mon Sep 17 00:00:00 2001 From: Thomas Bamford Date: Fri, 18 Aug 2017 12:24:31 -0400 Subject: [PATCH] Add support for SDK 3.12.6 (#120) * Add support for SDK 3.12.6 * Update tested bebop 2 software version and bebop 2 camera calibration * Fix autogenerated PilotingSettingsMaxDistanceValue * Update changelog and installation instructions for 64bit ubuntu xenial * Update installation.rst * Add doc for SDK 3.12.6p1 * Relax the SDK version constraint --- README.md | 2 +- bebop_autonomy/CHANGELOG.rst | 3 + bebop_autonomy/package.xml | 2 +- bebop_description/CHANGELOG.rst | 3 + bebop_description/package.xml | 2 +- bebop_driver/CHANGELOG.rst | 7 + .../cfg/autogenerated/BebopArdrone3.cfg | 6 +- bebop_driver/data/bebop2_camera_calib.yaml | 10 +- .../ardrone3_setting_callback_includes.h | 2 +- .../ardrone3_setting_callbacks.h | 2 +- .../ardrone3_state_callback_includes.h | 22 ++- .../autogenerated/ardrone3_state_callbacks.h | 164 +++++++++++++++++- .../autogenerated/callbacks_common.h | 2 +- .../common_state_callback_includes.h | 18 +- .../autogenerated/common_state_callbacks.h | 28 +-- bebop_driver/package.xml | 6 +- bebop_driver/scripts/meta/generate.py | 4 +- bebop_driver/scripts/meta/last_build_info | 6 +- bebop_msgs/CHANGELOG.rst | 5 + ...one3AccessoryStateConnectedAccessories.msg | 20 +++ .../Ardrone3PilotingStatemoveToChanged.msg | 30 ++++ ...ightPlanStateComponentStateListChanged.msg | 9 +- ...CommonMavlinkStateMissionItemExecuted.msg} | 2 +- bebop_msgs/msg/autogenerated/last_build_info | 6 +- bebop_msgs/package.xml | 2 +- bebop_tools/CHANGELOG.rst | 3 + bebop_tools/package.xml | 2 +- .../autogenerated/ardrone3_settings_param.rst | 2 +- .../ardrone3_states_param_topic.rst | 36 +++- .../common_states_param_topic.rst | 18 +- docs/dev.rst | 15 +- docs/index.rst | 4 +- 32 files changed, 371 insertions(+), 72 deletions(-) create mode 100644 bebop_msgs/msg/autogenerated/Ardrone3AccessoryStateConnectedAccessories.msg create mode 100644 bebop_msgs/msg/autogenerated/Ardrone3PilotingStatemoveToChanged.msg rename bebop_msgs/msg/autogenerated/{CommonMavlinkStateMissonItemExecuted.msg => CommonMavlinkStateMissionItemExecuted.msg} (91%) diff --git a/README.md b/README.md index cd52d2c..1c0d2d3 100644 --- a/README.md +++ b/README.md @@ -19,4 +19,4 @@ [![Build Status (ROS I,J,K) - TravisCI](https://travis-ci.org/AutonomyLab/bebop_autonomy.svg?branch=indigo-devel)](https://travis-ci.org/AutonomyLab/bebop_autonomy) [![Build Status (ROS I,J) - Semaphore](https://semaphoreci.com/api/v1/projects/11786233-d505-4d79-b27c-80c2742243a4/537552/badge.svg)](https://semaphoreci.com/mani_monaj/bebop_autonomy) -Built against [parrot_arsdk](https://github.com/AutonomyLab/parrot_arsdk) 3.11.0 +Built against [parrot_arsdk](https://github.com/AutonomyLab/parrot_arsdk) 3.12.6p1 diff --git a/bebop_autonomy/CHANGELOG.rst b/bebop_autonomy/CHANGELOG.rst index ea32c07..d5ffd1d 100644 --- a/bebop_autonomy/CHANGELOG.rst +++ b/bebop_autonomy/CHANGELOG.rst @@ -2,6 +2,9 @@ Changelog for package bebop_autonomy ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.7.0 (2017-07-29) +------------------ + 0.6.0 (2016-11-02) ------------------ diff --git a/bebop_autonomy/package.xml b/bebop_autonomy/package.xml index 265808a..610dca4 100644 --- a/bebop_autonomy/package.xml +++ b/bebop_autonomy/package.xml @@ -1,7 +1,7 @@ bebop_autonomy - 0.6.0 + 0.7.0 bebop_autonomy is a ROS driver for Parrot Bebop drone, based on Parrot’s official ARDroneSDK3 Mani Monajjemi diff --git a/bebop_description/CHANGELOG.rst b/bebop_description/CHANGELOG.rst index 4809a3d..e889325 100644 --- a/bebop_description/CHANGELOG.rst +++ b/bebop_description/CHANGELOG.rst @@ -2,6 +2,9 @@ Changelog for package bebop_description ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.7.0 (2017-07-29) +------------------ + 0.6.0 (2016-11-02) ------------------ diff --git a/bebop_description/package.xml b/bebop_description/package.xml index 06b4fb4..301fa3b 100644 --- a/bebop_description/package.xml +++ b/bebop_description/package.xml @@ -1,7 +1,7 @@ bebop_description - 0.6.0 + 0.7.0 URDF robot description for Parrot Bebop Drones Mani Monajjemi diff --git a/bebop_driver/CHANGELOG.rst b/bebop_driver/CHANGELOG.rst index b81d12e..0dd8cca 100644 --- a/bebop_driver/CHANGELOG.rst +++ b/bebop_driver/CHANGELOG.rst @@ -2,6 +2,13 @@ Changelog for package bebop_driver ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.7.0 (2017-07-29) +------------------ +* SDK 3.12.6 support (except 64bit Ubuntu Xenial, working on fix) + - ROS API change: states/common/MavlinkState/MissonItemExecuted topic renamed + to states/common/MavlinkState/MissionItemExecuted +* Contributors: Thomas Bamford, Mani Monajjemi + 0.6.0 (2016-11-02) ------------------ * Use Parrot ARSDK as a thirdparty dependency diff --git a/bebop_driver/cfg/autogenerated/BebopArdrone3.cfg b/bebop_driver/cfg/autogenerated/BebopArdrone3.cfg index 137258d..f4b2763 100755 --- a/bebop_driver/cfg/autogenerated/BebopArdrone3.cfg +++ b/bebop_driver/cfg/autogenerated/BebopArdrone3.cfg @@ -1,7 +1,7 @@ #!/usr/bin/env python # BebopArdrone3.cfg -# auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/e73425074471c58561d04c85da4a6400b638779d/xml/ardrone3.xml +# auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/ab28dab91845cd36c4d7002b55f70805deaff3c8/xml/ardrone3.xml # Do not modify this file by hand. Check scripts/meta folder for generator files. PACKAGE = "bebop_driver" @@ -23,7 +23,7 @@ PilotingSettingsAbsolutControlOn_enum = gen.enum([ ], "1 to enable, 0 to disable") pilotingsettings_group_gen.add("PilotingSettingsAbsolutControlOn", int_t, 0, "1 to enable, 0 to disable", 0, 0, 1, edit_method=PilotingSettingsAbsolutControlOn_enum) # Set max distance.\n You can get the bounds from the event [MaxDistance](#1-6-3).\n\n If [Geofence](#1-6-4) is activated, the drone wont fly over the given max distance. -pilotingsettings_group_gen.add("PilotingSettingsMaxDistanceValue", double_t, 0, "Current max distance in meter", 0 , 0, 160) +pilotingsettings_group_gen.add("PilotingSettingsMaxDistanceValue", double_t, 0, "Current max distance in meter", 0 , 0.0, 2000.0) # Enable geofence.\n If geofence is enabled, the drone wont fly over the given max distance.\n You can get the max distance from the event [MaxDistance](#1-6-3). \n For copters: the distance is computed from the controller position, if this position is not known, it will use the take off.\n For fixed wings: the distance is computed from the take off position. PilotingSettingsNoFlyOverMaxDistanceShouldnotflyover_enum = gen.enum([ gen.const("PilotingSettingsNoFlyOverMaxDistanceShouldnotflyover_OFF", int_t, 0, "Disabled"), @@ -135,4 +135,4 @@ gpssettings_group_gen.add("GPSSettingsHomeTypeType", int_t, 0, "The type of the gpssettings_group_gen.add("GPSSettingsReturnHomeDelayDelay", int_t, 0, "Delay in second", 0 , 0, 120) -exit(gen.generate(PACKAGE, "bebop_driver_nodelet", "BebopArdrone3")) \ No newline at end of file +exit(gen.generate(PACKAGE, "bebop_driver_nodelet", "BebopArdrone3")) diff --git a/bebop_driver/data/bebop2_camera_calib.yaml b/bebop_driver/data/bebop2_camera_calib.yaml index f50621a..8c7f045 100644 --- a/bebop_driver/data/bebop2_camera_calib.yaml +++ b/bebop_driver/data/bebop2_camera_calib.yaml @@ -1,15 +1,15 @@ -image_width: 640 -image_height: 368 +image_width: 856 +image_height: 480 camera_name: bebop_front camera_matrix: rows: 3 cols: 3 - data: [395.006308, 0.000000, 314.697857, 0.000000, 404.392711, 174.704342, 0.000000, 0.000000, 1.000000] + data: [537.292878, 0.000000, 427.331854, 0.000000, 527.000348, 240.226888, 0.000000, 0.000000, 1.000000] distortion_model: plumb_bob distortion_coefficients: rows: 1 cols: 5 - data: [0.009430, -0.001107, -0.011436, -0.002274, 0.000000] + data: [0.004974, -0.000130, -0.001212, 0.002192, 0.000000] rectification_matrix: rows: 3 cols: 3 @@ -17,4 +17,4 @@ rectification_matrix: projection_matrix: rows: 3 cols: 4 - data: [400.769714, 0.000000, 312.419488, 0.000000, 0.000000, 407.883575, 169.238191, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000] + data: [539.403503, 0.000000, 429.275072, 0.000000, 0.000000, 529.838562, 238.941372, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000] diff --git a/bebop_driver/include/bebop_driver/autogenerated/ardrone3_setting_callback_includes.h b/bebop_driver/include/bebop_driver/autogenerated/ardrone3_setting_callback_includes.h index 8d70317..cce9163 100644 --- a/bebop_driver/include/bebop_driver/autogenerated/ardrone3_setting_callback_includes.h +++ b/bebop_driver/include/bebop_driver/autogenerated/ardrone3_setting_callback_includes.h @@ -23,7 +23,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCL ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * Ardrone3_setting_callback_includes.h - * auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/e73425074471c58561d04c85da4a6400b638779d/xml/ardrone3.xml + * auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/ab28dab91845cd36c4d7002b55f70805deaff3c8/xml/ardrone3.xml * Do not modify this file by hand. Check scripts/meta folder for generator files. */ diff --git a/bebop_driver/include/bebop_driver/autogenerated/ardrone3_setting_callbacks.h b/bebop_driver/include/bebop_driver/autogenerated/ardrone3_setting_callbacks.h index 97daad9..f47b1ab 100644 --- a/bebop_driver/include/bebop_driver/autogenerated/ardrone3_setting_callbacks.h +++ b/bebop_driver/include/bebop_driver/autogenerated/ardrone3_setting_callbacks.h @@ -23,7 +23,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCL ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * Ardrone3_setting_callbacks.h - * auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/e73425074471c58561d04c85da4a6400b638779d/xml/ardrone3.xml + * auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/ab28dab91845cd36c4d7002b55f70805deaff3c8/xml/ardrone3.xml * Do not modify this file by hand. Check scripts/meta folder for generator files. */ #ifndef BEBOP_AUTONOMY_AUTOGENERATED_Ardrone3_SETTING_CALLBACKS_H diff --git a/bebop_driver/include/bebop_driver/autogenerated/ardrone3_state_callback_includes.h b/bebop_driver/include/bebop_driver/autogenerated/ardrone3_state_callback_includes.h index 285130a..8d04c7e 100644 --- a/bebop_driver/include/bebop_driver/autogenerated/ardrone3_state_callback_includes.h +++ b/bebop_driver/include/bebop_driver/autogenerated/ardrone3_state_callback_includes.h @@ -23,7 +23,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCL ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ardrone3_state_callback_includes.h - * auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/e73425074471c58561d04c85da4a6400b638779d/xml/ardrone3.xml + * auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/ab28dab91845cd36c4d7002b55f70805deaff3c8/xml/ardrone3.xml * Do not modify this file by hand. Check scripts/meta folder for generator files. */ @@ -47,6 +47,7 @@ namespace cb class Ardrone3PilotingStateGpsLocationChanged; class Ardrone3PilotingStateLandingStateChanged; class Ardrone3PilotingStateAirSpeedChanged; + class Ardrone3PilotingStatemoveToChanged; class Ardrone3NetworkStateWifiScanListChanged; class Ardrone3NetworkStateAllWifiScanChanged; class Ardrone3NetworkStateWifiAuthChannelListChanged; @@ -64,6 +65,7 @@ namespace cb class Ardrone3GPSStateHomeTypeAvailabilityChanged; class Ardrone3GPSStateHomeTypeChosenChanged; class Ardrone3PROStateFeatures; + class Ardrone3AccessoryStateConnectedAccessories; } // namespace cb #endif // FORWARD_DECLARATIONS @@ -103,6 +105,8 @@ boost::shared_ptr ardrone3_pilotingstate_landingstatechanged_ptr; boost::shared_ptr ardrone3_pilotingstate_airspeedchanged_ptr; +boost::shared_ptr + ardrone3_pilotingstate_movetochanged_ptr; boost::shared_ptr ardrone3_networkstate_wifiscanlistchanged_ptr; boost::shared_ptr @@ -137,6 +141,8 @@ boost::shared_ptr ardrone3_gpsstate_hometypechosenchanged_ptr; boost::shared_ptr ardrone3_prostate_features_ptr; +boost::shared_ptr + ardrone3_accessorystate_connectedaccessories_ptr; #endif // DEFINE_SHARED_PTRS #ifdef UPDTAE_CALLBACK_MAP @@ -192,6 +198,9 @@ ardrone3_pilotingstate_landingstatechanged_ptr.reset( ardrone3_pilotingstate_airspeedchanged_ptr.reset( new cb::Ardrone3PilotingStateAirSpeedChanged( nh, priv_nh, "states/ardrone3/PilotingState/AirSpeedChanged")); +ardrone3_pilotingstate_movetochanged_ptr.reset( + new cb::Ardrone3PilotingStatemoveToChanged( + nh, priv_nh, "states/ardrone3/PilotingState/moveToChanged")); ardrone3_networkstate_wifiscanlistchanged_ptr.reset( new cb::Ardrone3NetworkStateWifiScanListChanged( nh, priv_nh, "states/ardrone3/NetworkState/WifiScanListChanged")); @@ -243,6 +252,9 @@ ardrone3_gpsstate_hometypechosenchanged_ptr.reset( ardrone3_prostate_features_ptr.reset( new cb::Ardrone3PROStateFeatures( nh, priv_nh, "states/ardrone3/PROState/Features")); +ardrone3_accessorystate_connectedaccessories_ptr.reset( + new cb::Ardrone3AccessoryStateConnectedAccessories( + nh, priv_nh, "states/ardrone3/AccessoryState/ConnectedAccessories")); // Add all wrappers to the callback map callback_map_.insert(std::pair >( @@ -313,6 +325,10 @@ callback_map_.insert(std::pairGetCommandKey(), ardrone3_pilotingstate_airspeedchanged_ptr)); // Add all wrappers to the callback map +callback_map_.insert(std::pair >( + ardrone3_pilotingstate_movetochanged_ptr->GetCommandKey(), + ardrone3_pilotingstate_movetochanged_ptr)); +// Add all wrappers to the callback map callback_map_.insert(std::pair >( ardrone3_networkstate_wifiscanlistchanged_ptr->GetCommandKey(), ardrone3_networkstate_wifiscanlistchanged_ptr)); @@ -380,4 +396,8 @@ callback_map_.insert(std::pair >( ardrone3_prostate_features_ptr->GetCommandKey(), ardrone3_prostate_features_ptr)); +// Add all wrappers to the callback map +callback_map_.insert(std::pair >( + ardrone3_accessorystate_connectedaccessories_ptr->GetCommandKey(), + ardrone3_accessorystate_connectedaccessories_ptr)); #endif // UPDTAE_CALLBACK_MAP diff --git a/bebop_driver/include/bebop_driver/autogenerated/ardrone3_state_callbacks.h b/bebop_driver/include/bebop_driver/autogenerated/ardrone3_state_callbacks.h index 6be19a5..87c63cc 100644 --- a/bebop_driver/include/bebop_driver/autogenerated/ardrone3_state_callbacks.h +++ b/bebop_driver/include/bebop_driver/autogenerated/ardrone3_state_callbacks.h @@ -23,7 +23,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCL ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ardrone3_state_callbacks.h - * auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/e73425074471c58561d04c85da4a6400b638779d/xml/ardrone3.xml + * auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/ab28dab91845cd36c4d7002b55f70805deaff3c8/xml/ardrone3.xml * Do not modify this file by hand. Check scripts/meta folder for generator files. */ @@ -56,6 +56,7 @@ extern "C" #include "bebop_msgs/Ardrone3PilotingStateGpsLocationChanged.h" #include "bebop_msgs/Ardrone3PilotingStateLandingStateChanged.h" #include "bebop_msgs/Ardrone3PilotingStateAirSpeedChanged.h" +#include "bebop_msgs/Ardrone3PilotingStatemoveToChanged.h" #include "bebop_msgs/Ardrone3NetworkStateWifiScanListChanged.h" #include "bebop_msgs/Ardrone3NetworkStateAllWifiScanChanged.h" #include "bebop_msgs/Ardrone3NetworkStateWifiAuthChannelListChanged.h" @@ -73,6 +74,7 @@ extern "C" #include "bebop_msgs/Ardrone3GPSStateHomeTypeAvailabilityChanged.h" #include "bebop_msgs/Ardrone3GPSStateHomeTypeChosenChanged.h" #include "bebop_msgs/Ardrone3PROStateFeatures.h" +#include "bebop_msgs/Ardrone3AccessoryStateConnectedAccessories.h" namespace bebop_driver { @@ -1059,6 +1061,92 @@ class Ardrone3PilotingStateAirSpeedChanged : public AbstractState }; // Ardrone3PilotingStateAirSpeedChanged +// The drone moves or moved to a given location. +class Ardrone3PilotingStatemoveToChanged : public AbstractState +{ +private: + ::bebop_msgs::Ardrone3PilotingStatemoveToChanged::Ptr msg_ptr; + +public: + + Ardrone3PilotingStatemoveToChanged(::ros::NodeHandle& nh, ::ros::NodeHandle& priv_nh, const ::std::string& topic) + : AbstractState(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSTATE_MOVETOCHANGED) + { + if (priv_nh.getParam("states/enable_pilotingstate_movetochanged", pub_enabled_) && pub_enabled_) + { + ARSAL_PRINT(ARSAL_PRINT_INFO, "CB" , "[STATES] Enabling %s", topic.c_str()); + ros_pub_ = nh.advertise(topic, 10, true); + } // pub_enabled_ is false + } + + ::bebop_msgs::Ardrone3PilotingStatemoveToChanged::ConstPtr GetDataCstPtr() const + { + ::boost::lock_guard lock(mutex_); + return msg_ptr; + } + + void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t) + { + if (arguments == NULL) + { + ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB", "Ardrone3PilotingStatemoveToChanged::Update() arguments is NULL"); + return; + } + + ::boost::lock_guard lock(mutex_); + msg_ptr.reset(new ::bebop_msgs::Ardrone3PilotingStatemoveToChanged()); + msg_ptr->header.stamp = t; + msg_ptr->header.frame_id = "base_link"; + + + arg = NULL; + HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSTATE_MOVETOCHANGED_LATITUDE, arg); + if (arg) + { + msg_ptr->latitude = arg->value.Double; + } + + arg = NULL; + HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSTATE_MOVETOCHANGED_LONGITUDE, arg); + if (arg) + { + msg_ptr->longitude = arg->value.Double; + } + + arg = NULL; + HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSTATE_MOVETOCHANGED_ALTITUDE, arg); + if (arg) + { + msg_ptr->altitude = arg->value.Double; + } + + arg = NULL; + HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSTATE_MOVETOCHANGED_ORIENTATION_MODE, arg); + if (arg) + { + msg_ptr->orientation_mode = arg->value.I32; + } + + arg = NULL; + HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSTATE_MOVETOCHANGED_HEADING, arg); + if (arg) + { + msg_ptr->heading = arg->value.Float; + } + + arg = NULL; + HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSTATE_MOVETOCHANGED_STATUS, arg); + if (arg) + { + msg_ptr->status = arg->value.I32; + } + + if (pub_enabled_) ros_pub_.publish(msg_ptr); + } + +}; // Ardrone3PilotingStatemoveToChanged + + // Wifi scan results.\n Please note that the list is not complete until you receive the event [WifiScanEnded](#1-14-1). class Ardrone3NetworkStateWifiScanListChanged : public AbstractState { @@ -1989,6 +2077,78 @@ class Ardrone3PROStateFeatures : public AbstractState }; // Ardrone3PROStateFeatures +// List of all connected accessories. This event presents the list of all connected accessories. To actually use the component, use the component dedicated feature. +class Ardrone3AccessoryStateConnectedAccessories : public AbstractState +{ +private: + ::bebop_msgs::Ardrone3AccessoryStateConnectedAccessories::Ptr msg_ptr; + +public: + + Ardrone3AccessoryStateConnectedAccessories(::ros::NodeHandle& nh, ::ros::NodeHandle& priv_nh, const ::std::string& topic) + : AbstractState(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_ACCESSORYSTATE_CONNECTEDACCESSORIES) + { + if (priv_nh.getParam("states/enable_accessorystate_connectedaccessories", pub_enabled_) && pub_enabled_) + { + ARSAL_PRINT(ARSAL_PRINT_INFO, "CB" , "[STATES] Enabling %s", topic.c_str()); + ros_pub_ = nh.advertise(topic, 10, true); + } // pub_enabled_ is false + } + + ::bebop_msgs::Ardrone3AccessoryStateConnectedAccessories::ConstPtr GetDataCstPtr() const + { + ::boost::lock_guard lock(mutex_); + return msg_ptr; + } + + void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t) + { + if (arguments == NULL) + { + ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB", "Ardrone3AccessoryStateConnectedAccessories::Update() arguments is NULL"); + return; + } + + ::boost::lock_guard lock(mutex_); + msg_ptr.reset(new ::bebop_msgs::Ardrone3AccessoryStateConnectedAccessories()); + msg_ptr->header.stamp = t; + msg_ptr->header.frame_id = "base_link"; + + + arg = NULL; + HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_ACCESSORYSTATE_CONNECTEDACCESSORIES_ID, arg); + if (arg) + { + msg_ptr->id = arg->value.U8; + } + + arg = NULL; + HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_ACCESSORYSTATE_CONNECTEDACCESSORIES_ACCESSORY_TYPE, arg); + if (arg) + { + msg_ptr->accessory_type = arg->value.I32; + } + + arg = NULL; + HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_ACCESSORYSTATE_CONNECTEDACCESSORIES_UID, arg); + if (arg) + { + msg_ptr->uid = arg->value.String; + } + + arg = NULL; + HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_ACCESSORYSTATE_CONNECTEDACCESSORIES_SWVERSION, arg); + if (arg) + { + msg_ptr->swVersion = arg->value.String; + } + + if (pub_enabled_) ros_pub_.publish(msg_ptr); + } + +}; // Ardrone3AccessoryStateConnectedAccessories + + } // namespace cb } // namespace bebop_driver -#endif // BEBOP_AUTONOMY_AUTOGENERATED_ardrone3_STATE_CALLBACKS_H \ No newline at end of file +#endif // BEBOP_AUTONOMY_AUTOGENERATED_ardrone3_STATE_CALLBACKS_H diff --git a/bebop_driver/include/bebop_driver/autogenerated/callbacks_common.h b/bebop_driver/include/bebop_driver/autogenerated/callbacks_common.h index 96b1d9b..e67f3b7 100644 --- a/bebop_driver/include/bebop_driver/autogenerated/callbacks_common.h +++ b/bebop_driver/include/bebop_driver/autogenerated/callbacks_common.h @@ -23,7 +23,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCL ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * bebop_common_commands.h - * auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/e73425074471c58561d04c85da4a6400b638779d/xml/ardrone3.xml + * auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/ab28dab91845cd36c4d7002b55f70805deaff3c8/xml/ardrone3.xml * Do not modify this file by hand. Check scripts/meta folder for generator files. */ #ifndef BEBOP_COMMON_COMMANDS_H diff --git a/bebop_driver/include/bebop_driver/autogenerated/common_state_callback_includes.h b/bebop_driver/include/bebop_driver/autogenerated/common_state_callback_includes.h index f84b89b..cba9ea9 100644 --- a/bebop_driver/include/bebop_driver/autogenerated/common_state_callback_includes.h +++ b/bebop_driver/include/bebop_driver/autogenerated/common_state_callback_includes.h @@ -23,7 +23,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCL ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * common_state_callback_includes.h - * auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/e73425074471c58561d04c85da4a6400b638779d/xml/common.xml + * auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/ab28dab91845cd36c4d7002b55f70805deaff3c8/xml/common.xml * Do not modify this file by hand. Check scripts/meta folder for generator files. */ @@ -49,7 +49,7 @@ namespace cb class CommonOverHeatStateOverHeatRegulationChanged; class CommonMavlinkStateMavlinkFilePlayingStateChanged; class CommonMavlinkStateMavlinkPlayErrorStateChanged; - class CommonMavlinkStateMissonItemExecuted; + class CommonMavlinkStateMissionItemExecuted; class CommonCalibrationStateMagnetoCalibrationStateChanged; class CommonCalibrationStateMagnetoCalibrationRequiredState; class CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged; @@ -115,8 +115,8 @@ boost::shared_ptr common_mavlinkstate_mavlinkfileplayingstatechanged_ptr; boost::shared_ptr common_mavlinkstate_mavlinkplayerrorstatechanged_ptr; -boost::shared_ptr - common_mavlinkstate_missonitemexecuted_ptr; +boost::shared_ptr + common_mavlinkstate_missionitemexecuted_ptr; boost::shared_ptr common_calibrationstate_magnetocalibrationstatechanged_ptr; boost::shared_ptr @@ -222,9 +222,9 @@ common_mavlinkstate_mavlinkfileplayingstatechanged_ptr.reset( common_mavlinkstate_mavlinkplayerrorstatechanged_ptr.reset( new cb::CommonMavlinkStateMavlinkPlayErrorStateChanged( nh, priv_nh, "states/common/MavlinkState/MavlinkPlayErrorStateChanged")); -common_mavlinkstate_missonitemexecuted_ptr.reset( - new cb::CommonMavlinkStateMissonItemExecuted( - nh, priv_nh, "states/common/MavlinkState/MissonItemExecuted")); +common_mavlinkstate_missionitemexecuted_ptr.reset( + new cb::CommonMavlinkStateMissionItemExecuted( + nh, priv_nh, "states/common/MavlinkState/MissionItemExecuted")); common_calibrationstate_magnetocalibrationstatechanged_ptr.reset( new cb::CommonCalibrationStateMagnetoCalibrationStateChanged( nh, priv_nh, "states/common/CalibrationState/MagnetoCalibrationStateChanged")); @@ -370,8 +370,8 @@ callback_map_.insert(std::pair >( - common_mavlinkstate_missonitemexecuted_ptr->GetCommandKey(), - common_mavlinkstate_missonitemexecuted_ptr)); + common_mavlinkstate_missionitemexecuted_ptr->GetCommandKey(), + common_mavlinkstate_missionitemexecuted_ptr)); // Add all wrappers to the callback map callback_map_.insert(std::pair >( common_calibrationstate_magnetocalibrationstatechanged_ptr->GetCommandKey(), diff --git a/bebop_driver/include/bebop_driver/autogenerated/common_state_callbacks.h b/bebop_driver/include/bebop_driver/autogenerated/common_state_callbacks.h index f0267dc..a5d7527 100644 --- a/bebop_driver/include/bebop_driver/autogenerated/common_state_callbacks.h +++ b/bebop_driver/include/bebop_driver/autogenerated/common_state_callbacks.h @@ -23,7 +23,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCL ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * common_state_callbacks.h - * auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/e73425074471c58561d04c85da4a6400b638779d/xml/common.xml + * auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/ab28dab91845cd36c4d7002b55f70805deaff3c8/xml/common.xml * Do not modify this file by hand. Check scripts/meta folder for generator files. */ @@ -58,7 +58,7 @@ extern "C" #include "bebop_msgs/CommonOverHeatStateOverHeatRegulationChanged.h" #include "bebop_msgs/CommonMavlinkStateMavlinkFilePlayingStateChanged.h" #include "bebop_msgs/CommonMavlinkStateMavlinkPlayErrorStateChanged.h" -#include "bebop_msgs/CommonMavlinkStateMissonItemExecuted.h" +#include "bebop_msgs/CommonMavlinkStateMissionItemExecuted.h" #include "bebop_msgs/CommonCalibrationStateMagnetoCalibrationStateChanged.h" #include "bebop_msgs/CommonCalibrationStateMagnetoCalibrationRequiredState.h" #include "bebop_msgs/CommonCalibrationStateMagnetoCalibrationAxisToCalibrateChanged.h" @@ -1219,24 +1219,24 @@ class CommonMavlinkStateMavlinkPlayErrorStateChanged : public AbstractState // Mission item has been executed. -class CommonMavlinkStateMissonItemExecuted : public AbstractState +class CommonMavlinkStateMissionItemExecuted : public AbstractState { private: - ::bebop_msgs::CommonMavlinkStateMissonItemExecuted::Ptr msg_ptr; + ::bebop_msgs::CommonMavlinkStateMissionItemExecuted::Ptr msg_ptr; public: - CommonMavlinkStateMissonItemExecuted(::ros::NodeHandle& nh, ::ros::NodeHandle& priv_nh, const ::std::string& topic) - : AbstractState(ARCONTROLLER_DICTIONARY_KEY_COMMON_MAVLINKSTATE_MISSONITEMEXECUTED) + CommonMavlinkStateMissionItemExecuted(::ros::NodeHandle& nh, ::ros::NodeHandle& priv_nh, const ::std::string& topic) + : AbstractState(ARCONTROLLER_DICTIONARY_KEY_COMMON_MAVLINKSTATE_MISSIONITEMEXECUTED) { - if (priv_nh.getParam("states/enable_mavlinkstate_missonitemexecuted", pub_enabled_) && pub_enabled_) + if (priv_nh.getParam("states/enable_mavlinkstate_missionitemexecuted", pub_enabled_) && pub_enabled_) { ARSAL_PRINT(ARSAL_PRINT_INFO, "CB" , "[STATES] Enabling %s", topic.c_str()); - ros_pub_ = nh.advertise(topic, 10, true); + ros_pub_ = nh.advertise(topic, 10, true); } // pub_enabled_ is false } - ::bebop_msgs::CommonMavlinkStateMissonItemExecuted::ConstPtr GetDataCstPtr() const + ::bebop_msgs::CommonMavlinkStateMissionItemExecuted::ConstPtr GetDataCstPtr() const { ::boost::lock_guard lock(mutex_); return msg_ptr; @@ -1246,18 +1246,18 @@ class CommonMavlinkStateMissonItemExecuted : public AbstractState { if (arguments == NULL) { - ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB", "CommonMavlinkStateMissonItemExecuted::Update() arguments is NULL"); + ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB", "CommonMavlinkStateMissionItemExecuted::Update() arguments is NULL"); return; } ::boost::lock_guard lock(mutex_); - msg_ptr.reset(new ::bebop_msgs::CommonMavlinkStateMissonItemExecuted()); + msg_ptr.reset(new ::bebop_msgs::CommonMavlinkStateMissionItemExecuted()); msg_ptr->header.stamp = t; msg_ptr->header.frame_id = "base_link"; arg = NULL; - HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_COMMON_MAVLINKSTATE_MISSONITEMEXECUTED_IDX, arg); + HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_COMMON_MAVLINKSTATE_MISSIONITEMEXECUTED_IDX, arg); if (arg) { msg_ptr->idx = arg->value.U32; @@ -1266,7 +1266,7 @@ class CommonMavlinkStateMissonItemExecuted : public AbstractState if (pub_enabled_) ros_pub_.publish(msg_ptr); } -}; // CommonMavlinkStateMissonItemExecuted +}; // CommonMavlinkStateMissionItemExecuted // Magneto calib process axis state. @@ -2484,4 +2484,4 @@ class CommonRunStateRunIdChanged : public AbstractState } // namespace cb } // namespace bebop_driver -#endif // BEBOP_AUTONOMY_AUTOGENERATED_common_STATE_CALLBACKS_H \ No newline at end of file +#endif // BEBOP_AUTONOMY_AUTOGENERATED_common_STATE_CALLBACKS_H diff --git a/bebop_driver/package.xml b/bebop_driver/package.xml index 158660e..1c0a3cb 100644 --- a/bebop_driver/package.xml +++ b/bebop_driver/package.xml @@ -1,7 +1,7 @@ bebop_driver - 0.6.0 + 0.7.0 ROS driver for Parrot Bebop drone, based on Parrot’s official ARDroneSDK3 Mani Monajjemi @@ -18,7 +18,7 @@ catkin - parrot_arsdk + parrot_arsdk bebop_msgs bebop_description pkg-config @@ -36,7 +36,7 @@ roslint rostest - parrot_arsdk + parrot_arsdk bebop_msgs bebop_description nodelet diff --git a/bebop_driver/scripts/meta/generate.py b/bebop_driver/scripts/meta/generate.py index e4d97b5..bf4d647 100755 --- a/bebop_driver/scripts/meta/generate.py +++ b/bebop_driver/scripts/meta/generate.py @@ -12,9 +12,9 @@ import subprocess import urllib2 -# SDK 3.11.0: https://github.com/Parrot-Developers/arsdk_manifests/blob/a6acc778f9d4d852985cccba91b854630921768e/release.xml +# SDK 3.12.6: https://github.com/Parrot-Developers/arsdk_manifests/blob/d7640c80ed7147971995222d9f4655932a904aa8/release.xml LIBARCOMMANDS_GIT_OWNER = "Parrot-Developers" -LIBARCOMMANDS_GIT_HASH = "e73425074471c58561d04c85da4a6400b638779d" +LIBARCOMMANDS_GIT_HASH = "ab28dab91845cd36c4d7002b55f70805deaff3c8" # From XML types to ROS primitive types ROS_TYPE_MAP = { diff --git a/bebop_driver/scripts/meta/last_build_info b/bebop_driver/scripts/meta/last_build_info index 6c76209..17c91d4 100644 --- a/bebop_driver/scripts/meta/last_build_info +++ b/bebop_driver/scripts/meta/last_build_info @@ -1,5 +1,5 @@ Last auto-generation build info: -- Source hash e73425074471c58561d04c85da4a6400b638779d -- Date 2017-02-10 13:22:17.661636 -- Generator generate.py @ adc1afe +- Source hash ab28dab91845cd36c4d7002b55f70805deaff3c8 +- Date 2017-06-27 13:53:57.790920 +- Generator generate.py @ 8801830 diff --git a/bebop_msgs/CHANGELOG.rst b/bebop_msgs/CHANGELOG.rst index 29ce629..5cd6dc4 100644 --- a/bebop_msgs/CHANGELOG.rst +++ b/bebop_msgs/CHANGELOG.rst @@ -2,6 +2,11 @@ Changelog for package bebop_msgs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.7.0 (2017-07-29) +------------------ +* Update to Parrot SDK 3.12.6 (from 3.10.1) +* Contributors: Thomas Bamford + 0.6.0 (2016-11-02) ------------------ * Update autogenerated msgs/headers/docs to SDK 3.10.1 diff --git a/bebop_msgs/msg/autogenerated/Ardrone3AccessoryStateConnectedAccessories.msg b/bebop_msgs/msg/autogenerated/Ardrone3AccessoryStateConnectedAccessories.msg new file mode 100644 index 0000000..11d0602 --- /dev/null +++ b/bebop_msgs/msg/autogenerated/Ardrone3AccessoryStateConnectedAccessories.msg @@ -0,0 +1,20 @@ +# Ardrone3AccessoryStateConnectedAccessories +# auto-generated from up stream XML files at +# github.com/Parrot-Developers/libARCommands/tree/master/Xml +# To check upstream commit hash, refer to last_build_info file +# Do not modify this file by hand. Check scripts/meta folder for generator files. +# +# SDK Comment: List of all connected accessories. This event presents the list of all connected accessories. To actually use the component, use the component dedicated feature. + +Header header + +# Id of the accessory for the session. +uint8 id +# Accessory type +uint8 accessory_type_sequoia=0 # Parrot Sequoia (multispectral camera for agriculture) +uint8 accessory_type_unknownaccessory_1=1 # UNKNOWNACCESSORY_1 camera (thermal+rgb camera) +uint8 accessory_type +# Unique Id of the accessory. This id is unique by accessory_type. +string uid +# Software Version of the accessory. +string swVersion diff --git a/bebop_msgs/msg/autogenerated/Ardrone3PilotingStatemoveToChanged.msg b/bebop_msgs/msg/autogenerated/Ardrone3PilotingStatemoveToChanged.msg new file mode 100644 index 0000000..4ba4ccd --- /dev/null +++ b/bebop_msgs/msg/autogenerated/Ardrone3PilotingStatemoveToChanged.msg @@ -0,0 +1,30 @@ +# Ardrone3PilotingStatemoveToChanged +# auto-generated from up stream XML files at +# github.com/Parrot-Developers/libARCommands/tree/master/Xml +# To check upstream commit hash, refer to last_build_info file +# Do not modify this file by hand. Check scripts/meta folder for generator files. +# +# SDK Comment: The drone moves or moved to a given location. + +Header header + +# Latitude of the location (in degrees) to reach +float64 latitude +# Longitude of the location (in degrees) to reach +float64 longitude +# Altitude above sea level (in m) to reach +float64 altitude +# Orientation mode of the move to +uint8 orientation_mode_NONE=0 # The drone wont change its orientation +uint8 orientation_mode_TO_TARGET=1 # The drone will make a rotation to look in direction of the given location +uint8 orientation_mode_HEADING_START=2 # The drone will orientate itself to the given heading before moving to the location +uint8 orientation_mode_HEADING_DURING=3 # The drone will orientate itself to the given heading while moving to the location +uint8 orientation_mode +# Heading (relative to the North in degrees). This value is only used if the orientation mode is HEADING_START or HEADING_DURING +float32 heading +# Status of the move to +uint8 status_RUNNING=0 # The drone is actually flying to the given position +uint8 status_DONE=1 # The drone has reached the target +uint8 status_CANCELED=2 # The move to has been canceled, either by a new moveTo command or by a CancelMoveTo command. +uint8 status_ERROR=3 # The move to has not been finished or started because of an error. +uint8 status diff --git a/bebop_msgs/msg/autogenerated/CommonFlightPlanStateComponentStateListChanged.msg b/bebop_msgs/msg/autogenerated/CommonFlightPlanStateComponentStateListChanged.msg index edefd5e..bafa4d7 100644 --- a/bebop_msgs/msg/autogenerated/CommonFlightPlanStateComponentStateListChanged.msg +++ b/bebop_msgs/msg/autogenerated/CommonFlightPlanStateComponentStateListChanged.msg @@ -9,10 +9,11 @@ Header header # Drone FlightPlan component id (unique) -uint8 component_GPS=0 # GPS for Drone FlightPlan -uint8 component_Calibration=1 # Calibration for Drone FlightPlan -uint8 component_Mavlink_File=2 # Mavlink file for Drone FlightPlan -uint8 component_TakeOff=3 # Take off +uint8 component_GPS=0 # Drone GPS component. State is 0 when the drone needs a GPS fix. +uint8 component_Calibration=1 # Drone Calibration component. State is 0 when the sensors of the drone needs to be calibrated. +uint8 component_Mavlink_File=2 # Mavlink file component. State is 0 when the mavlink file is missing or contains error. +uint8 component_TakeOff=3 # Drone Take off component. State is 0 when the drone cannot take-off. +uint8 component_WaypointsBeyondGeofence=4 # Component for waypoints beyond the geofence. State is 0 when one or more waypoints are beyond the geofence. uint8 component # State of the FlightPlan component (1 FlightPlan component OK, otherwise 0) uint8 State diff --git a/bebop_msgs/msg/autogenerated/CommonMavlinkStateMissonItemExecuted.msg b/bebop_msgs/msg/autogenerated/CommonMavlinkStateMissionItemExecuted.msg similarity index 91% rename from bebop_msgs/msg/autogenerated/CommonMavlinkStateMissonItemExecuted.msg rename to bebop_msgs/msg/autogenerated/CommonMavlinkStateMissionItemExecuted.msg index 2b0fc57..6c2b22e 100644 --- a/bebop_msgs/msg/autogenerated/CommonMavlinkStateMissonItemExecuted.msg +++ b/bebop_msgs/msg/autogenerated/CommonMavlinkStateMissionItemExecuted.msg @@ -1,4 +1,4 @@ -# CommonMavlinkStateMissonItemExecuted +# CommonMavlinkStateMissionItemExecuted # auto-generated from up stream XML files at # github.com/Parrot-Developers/libARCommands/tree/master/Xml # To check upstream commit hash, refer to last_build_info file diff --git a/bebop_msgs/msg/autogenerated/last_build_info b/bebop_msgs/msg/autogenerated/last_build_info index 6c76209..17c91d4 100644 --- a/bebop_msgs/msg/autogenerated/last_build_info +++ b/bebop_msgs/msg/autogenerated/last_build_info @@ -1,5 +1,5 @@ Last auto-generation build info: -- Source hash e73425074471c58561d04c85da4a6400b638779d -- Date 2017-02-10 13:22:17.661636 -- Generator generate.py @ adc1afe +- Source hash ab28dab91845cd36c4d7002b55f70805deaff3c8 +- Date 2017-06-27 13:53:57.790920 +- Generator generate.py @ 8801830 diff --git a/bebop_msgs/package.xml b/bebop_msgs/package.xml index b74c10e..406daee 100644 --- a/bebop_msgs/package.xml +++ b/bebop_msgs/package.xml @@ -1,7 +1,7 @@ bebop_msgs - 0.6.0 + 0.7.0 Common message definitions for bebop_autonomy Mani Monajjemi diff --git a/bebop_tools/CHANGELOG.rst b/bebop_tools/CHANGELOG.rst index 1adbec6..4be5d1d 100644 --- a/bebop_tools/CHANGELOG.rst +++ b/bebop_tools/CHANGELOG.rst @@ -2,6 +2,9 @@ Changelog for package bebop_tools ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.7.0 (2017-07-29) +------------------ + 0.6.0 (2016-11-02) ------------------ * Added Xbox 360 config file diff --git a/bebop_tools/package.xml b/bebop_tools/package.xml index 0f59d8e..e9f595a 100644 --- a/bebop_tools/package.xml +++ b/bebop_tools/package.xml @@ -1,7 +1,7 @@ bebop_tools - 0.6.0 + 0.7.0 Miscellaneous tools for bebop_autonomy metapackage Mani Monajjemi diff --git a/docs/autogenerated/ardrone3_settings_param.rst b/docs/autogenerated/ardrone3_settings_param.rst index 1808b8a..84aca69 100644 --- a/docs/autogenerated/ardrone3_settings_param.rst +++ b/docs/autogenerated/ardrone3_settings_param.rst @@ -1,5 +1,5 @@ .. Ardrone3_settings_param.rst - .. auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/e73425074471c58561d04c85da4a6400b638779d/xml/ardrone3.xml + .. auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/ab28dab91845cd36c4d7002b55f70805deaff3c8/xml/ardrone3.xml .. Do not modify this file by hand. Check scripts/meta folder for generator files. ***************************************************************************************** diff --git a/docs/autogenerated/ardrone3_states_param_topic.rst b/docs/autogenerated/ardrone3_states_param_topic.rst index 3965869..bfc8ca2 100644 --- a/docs/autogenerated/ardrone3_states_param_topic.rst +++ b/docs/autogenerated/ardrone3_states_param_topic.rst @@ -1,5 +1,5 @@ .. ardrone3_states_param_topic.rst - .. auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/e73425074471c58561d04c85da4a6400b638779d/xml/ardrone3.xml + .. auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/ab28dab91845cd36c4d7002b55f70805deaff3c8/xml/ardrone3.xml .. Do not modify this file by hand. Check scripts/meta folder for generator files. ***************************************************************************************** @@ -40,6 +40,8 @@ List of ardrone3 States and Corresponding ROS Parameters and Topics Landing state.\n Only available for fixed wings (which have two landing modes). `Ardrone3PilotingStateAirSpeedChanged`_ Drones air speed changed\n Expressed in the drones referential. +`Ardrone3PilotingStatemoveToChanged`_ + The drone moves or moved to a given location. `Ardrone3NetworkStateWifiScanListChanged`_ Wifi scan results.\n Please note that the list is not complete until you receive the event [WifiScanEnded](#1-14-1). `Ardrone3NetworkStateAllWifiScanChanged`_ @@ -74,6 +76,8 @@ List of ardrone3 States and Corresponding ROS Parameters and Topics Home type.\n This choice is made by the drone, according to the [PreferredHomeType](#1-24-4) and the [HomeTypeAvailability](#1-31-1). The drone will choose the type matching with the user preference only if this type is available. If not, it will chose a type in this order:\n FOLLOWEE ; TAKEOFF ; PILOT ; FIRST_FIX `Ardrone3PROStateFeatures`_ Pro features. +`Ardrone3AccessoryStateConnectedAccessories`_ + List of all connected accessories. This event presents the list of all connected accessories. To actually use the component, use the component dedicated feature. Ardrone3MediaRecordStatePictureStateChanged #################################################################################### @@ -330,6 +334,21 @@ Drones air speed changed\n Expressed in the drones referential. :caption: Ardrone3PilotingStateAirSpeedChanged.msg :name: Ardrone3PilotingStateAirSpeedChanged_msg +Ardrone3PilotingStatemoveToChanged +#################################################################################### +The drone moves or moved to a given location. + +- Parameter: ``~states/enable_pilotingstate_movetochanged`` +- Topic: ``states/ardrone3/PilotingState/moveToChanged`` +- Message type: ``bebop_msgs::Ardrone3PilotingStatemoveToChanged`` + +.. literalinclude:: + ../../bebop_msgs/msg/autogenerated/Ardrone3PilotingStatemoveToChanged.msg + :lines: 8- + :language: python + :caption: Ardrone3PilotingStatemoveToChanged.msg + :name: Ardrone3PilotingStatemoveToChanged_msg + Ardrone3NetworkStateWifiScanListChanged #################################################################################### Wifi scan results.\n Please note that the list is not complete until you receive the event [WifiScanEnded](#1-14-1). @@ -585,3 +604,18 @@ Pro features. :caption: Ardrone3PROStateFeatures.msg :name: Ardrone3PROStateFeatures_msg +Ardrone3AccessoryStateConnectedAccessories +#################################################################################### +List of all connected accessories. This event presents the list of all connected accessories. To actually use the component, use the component dedicated feature. + +- Parameter: ``~states/enable_accessorystate_connectedaccessories`` +- Topic: ``states/ardrone3/AccessoryState/ConnectedAccessories`` +- Message type: ``bebop_msgs::Ardrone3AccessoryStateConnectedAccessories`` + +.. literalinclude:: + ../../bebop_msgs/msg/autogenerated/Ardrone3AccessoryStateConnectedAccessories.msg + :lines: 8- + :language: python + :caption: Ardrone3AccessoryStateConnectedAccessories.msg + :name: Ardrone3AccessoryStateConnectedAccessories_msg + diff --git a/docs/autogenerated/common_states_param_topic.rst b/docs/autogenerated/common_states_param_topic.rst index d348e16..7ad70c4 100644 --- a/docs/autogenerated/common_states_param_topic.rst +++ b/docs/autogenerated/common_states_param_topic.rst @@ -1,5 +1,5 @@ .. common_states_param_topic.rst - .. auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/e73425074471c58561d04c85da4a6400b638779d/xml/common.xml + .. auto-generated from https://raw.githubusercontent.com/Parrot-Developers/arsdk-xml/ab28dab91845cd36c4d7002b55f70805deaff3c8/xml/common.xml .. Do not modify this file by hand. Check scripts/meta folder for generator files. ***************************************************************************************** @@ -44,7 +44,7 @@ List of common States and Corresponding ROS Parameters and Topics Playing state of a FlightPlan. `CommonMavlinkStateMavlinkPlayErrorStateChanged`_ FlightPlan error. -`CommonMavlinkStateMissonItemExecuted`_ +`CommonMavlinkStateMissionItemExecuted`_ Mission item has been executed. `CommonCalibrationStateMagnetoCalibrationStateChanged`_ Magneto calib process axis state. @@ -376,20 +376,20 @@ FlightPlan error. :caption: CommonMavlinkStateMavlinkPlayErrorStateChanged.msg :name: CommonMavlinkStateMavlinkPlayErrorStateChanged_msg -CommonMavlinkStateMissonItemExecuted +CommonMavlinkStateMissionItemExecuted #################################################################################### Mission item has been executed. -- Parameter: ``~states/enable_mavlinkstate_missonitemexecuted`` -- Topic: ``states/common/MavlinkState/MissonItemExecuted`` -- Message type: ``bebop_msgs::CommonMavlinkStateMissonItemExecuted`` +- Parameter: ``~states/enable_mavlinkstate_missionitemexecuted`` +- Topic: ``states/common/MavlinkState/MissionItemExecuted`` +- Message type: ``bebop_msgs::CommonMavlinkStateMissionItemExecuted`` .. literalinclude:: - ../../bebop_msgs/msg/autogenerated/CommonMavlinkStateMissonItemExecuted.msg + ../../bebop_msgs/msg/autogenerated/CommonMavlinkStateMissionItemExecuted.msg :lines: 8- :language: python - :caption: CommonMavlinkStateMissonItemExecuted.msg - :name: CommonMavlinkStateMissonItemExecuted_msg + :caption: CommonMavlinkStateMissionItemExecuted.msg + :name: CommonMavlinkStateMissionItemExecuted_msg CommonCalibrationStateMagnetoCalibrationStateChanged #################################################################################### diff --git a/docs/dev.rst b/docs/dev.rst index 017ade6..2df9d08 100644 --- a/docs/dev.rst +++ b/docs/dev.rst @@ -68,6 +68,19 @@ Upgrading the Bebop SDK - ``ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_CIRCLINGRADIUSCHANGED_VALUE`` to ``ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_CIRCLINGRADIUSCHANGED_CURRENT`` - ``ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_CIRCLINGALTITUDECHANGED_VALUE`` to ``ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_CIRCLINGALTITUDECHANGED_CURRENT`` -These changes are required becasue the upstream XML file is inconsistent for a couple of variable names. +In ``bebop_driver/include/bebop_driver/autogenerated/ardrone3_state_callbacks.h`` remove the following lines: + + ``arg = NULL; + HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_ACCESSORYSTATE_CONNECTEDACCESSORIES_LIST_FLAGS, arg); + if (arg) + { + msg_ptr->list_flags = arg->value.U8; + }`` + +In ``bebop_msgs/msg/autogenerated/Ardrone3AccessoryStateConnectedAccessories.msg`` remove the following lines: + ``# List entry attribute Bitfield. 0x01: First: indicate its the first element of the list. 0x02: Last: indicate its the last element of the list. 0x04: Empty: indicate the list is empty (implies First/Last). All other arguments should be ignored. 0x08: Remove: This value should be removed from the existing list. + uint8 list_flags`` + +These changes are required because the upstream XML file is inconsistent for a couple of variable names. 7. Remove ``build`` and ``devel`` space of your ``catkin`` workspace, then re-build it. diff --git a/docs/index.rst b/docs/index.rst index 45e559e..2703ee8 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -17,9 +17,9 @@ Features and Roadmap .. csv-table:: :header: "Feature", "Status", "Notes" - SDK Version,"3.10.1", "Since v0.6" + SDK Version,"3.12.6", "Since v0.7" Support for Parrot Bebop 1, Yes, "Tested up to Firmware 3.3" - Support for Parrot Bebop 2, Yes, "Tested up to Firmware 3.9" + Support for Parrot Bebop 2, Yes, "Tested up to Firmware 4.0.6" Support for Parrot Disco FPV, No, "Not tested (help wanted)" Core piloting, Yes, "" H264 video decoding, Yes, "Enhancement: `#1 `_"