/BebopAutoFly

ROS launch files / settings to fly bebop autonomously in simulator and in real environment.

Primary LanguageC++BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

BebopAutoFly

ROS launch files / settings to fly bebop autonomously in simulator and in real environment.

Prerequisities:

update the FullSystem.cpp call of this method with this call: Eigen::Matrix<Sophus::SE3Group::Scalar, 3, 4> transformation = frame->camToWorld.matrix3x4(); Eigen::Matrix<Sophus::SE3Group::Scalar, 3, 4>* toPass = &transformation; ow->publishCamPose(frame, &Hcalib, toPass);

  • Autonomous-Flight-ROS (containing the controller and used as a starting point for integration of all pieces together) https://github.com/AlessioTonioni/Autonomous-Flight-ROS.git. I have an updated controller for the bebop, which is modified to use parameters for setup instead of inbuild constants in this project and I will publish it later. In general, this page uses the same project as a starting point and contains good setup instructions: https://www.wilselby.com/research/ros-integration/3d-mapping-navigation/ It is using GPS to navigate, but the setup instructions are very useful.

  • yos_cmd_vel_mux subproject of this project https://github.com/yujinrobot/yujin_ocs.git which is used to prioritize the automatic controller over the gamepad I am using. Only the yos_cmd_vel_mux subproject is needed, feel free to delete everything else. Use parameter files in the "cmd vel mux params" directory.

To run the simulated drone, execute the scripts in the sh_files directory in order 1-simulator, 2-controller, 3-planner. To run the bag file recorded with previous flight, execute the scripts 5-realBag, 2-controller, 6-realPlanner. To fly with the actual bebop, execute 4-real, 2-controller, 6-realPlanner.