< >
Home » ROS与Bebop入门教程 » ROS与Bebop-底层

ROS与Bebop-底层

ROS与Bebop-底层

说明:

  • 介绍驱动结构和不同开发技术

待发布

  • Automatic Code Generation
  • Threading Model
  • Publishing the States
  • Configuring the Drone

测试

  • 启用测试模式
$ cd /path/to/bebop_ws
$ catkin clean --cmake-cache
$ catkin build bebop_driver --cmake-args -DRUN_HARDWARE_TESTS=ON
  • 运行测试
    • 测试请保持Bebop 5米半径的范围没有障碍物
    • 测试方法:
$ cd /path/to/bebop_ws/build/bebop_driver
$ make tests
$ rostest --text bebop_driver bebop_itl_test.test

更新SDK

  • version 0.6之后,Parrot ARSDK,bebop_autonomy的主要底层依赖不再建立内联
  • 替代为少量补丁和catkin编译的版本,叫parrot_arsdk
  • 以下的文档需要做更新
  • Update the GIT_TAG of ARDroneSDK3 in bebop_driver/CMakeLists.txt::add_custom_target::./repo init ... -b GIT_TAG to your desired commit hash, branch or tag (release). The official upstream repository is hosted here.
  • Checkout (or browse) the upstream repository at the same hash used in step (1) and open release.xml file. From this file, extract the commit hash of arsdk-xml from the revision property of this XML tag: <project name="arsdk-xml" ... revision="" />.
  • Open bebop_driver/scripts/meta/generate.py and update LIBARCOMMANDS_GIT_HASH variable to the hash obtained in step (2).
  • Change the working diretory to bebop_driver/scripts/meta, then execute generate.py from the command line. This will regenerate all automatically generated message definitions, header files and documentations.
  • Copy the generated files to their target locations by calling ./install.sh.
  • In bebop_driver/include/bebop_driver/autogenerated/ardrone3_setting_callbacks.h change the following varialbles:
ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_MAXDISTANCECHANGED_VALUE to ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_MAXDISTANCECHANGED_CURRENT.
ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_BANKEDTURNCHANGED_VALUE to ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_BANKEDTURNCHANGED_STATE
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.

  • Remove build and devel space of your catkin workspace, then re-build it.

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros与bebop