BeaglePilot 2.0 Weekly Reports

Hi all,

All the weekly reports and updates to the BeaglePilot 2.0 GSoC project can be found here -




In the future, is it possible to copy the content into the e-mail to
avoid needing to go visit the web site?


Hi Jason,

Thanks for the tip. Will make it a point to post the reports in the group too.


Week #1 Report -

Current Progress -

  • Made and uploaded the introductory video which can be found here.

  • Started working on APMSubmarine vehicle.

Goals for next week -

  • Add the following to the APMSubmarine -
  1. log.pde
  2. parameters.pde
  3. sensors.pde
  4. setup.pde
  5. system.pde
  • Start working on the OpenROV’s Arduino code.

Week #2 Report -

Current Progress -

  • Compiled the existing ardupilot code.

  • Got APM Planner running on Arch Linux.

  • The main ardupilot repository has undergone changes, vehicle code now in the form of .cpp files.

  • Synced the forked ardupilot code repository with the upstream one.

  • Started to make changes to the aforementioned .pde files to be compatible with the upstream repo.

Issues -

  • Had trouble SSHing into the Erle Brain.

Goals for next week -

  • Convert to .cpp files.
  • Add Submarine.h vehicle header file.
  • Get the Erle Brain running and connect to APM Planner.
  • Test existing vehicle code on it for better understanding.

Week #3 Report -

Current Progress -

  • Got the Erle Brain running and successfully connected to APM Planner.

  • Tested existing vehicle code on it. Video here -
    Issues -

  • Developed an eye infection which considerably slowed progress.

Goals for next week -

  • Focus work on the OpenROV code.
  • Make OpenROV’s Arduino code work on the BBB’s PRUs.
  • Put in additional hours to compensate for the slow progress.

Week #4 Report -

Current Progress -

  • Dedicated additional hours this week working on the OpenROV code to compensate for the previous weeks.
  • Worked on running the OpenROV’s Arduino code on the BBB’s PRUs but stopped after consulting mentors and being advised against doing so (details below under issues).
  • In the process of implementing the submarine logic on the Ardupilot platform. Used APMrover2 code as a reference for the same since no existing ardupilot code is available for underwater environment.

Issues -

  • The BeagleBone Black’s PRUs are currently used by APM to generate high resolution PWM signals and process RC input and hence cannot be used for running the OpenROV’s Arduino code as mentioned previously.

  • The sheer volume of the Ardupilot code base and the difference in the way the APM vehicles and OpenROV are implemented makes it quite confusing at times.

  • The ‘AP_Baro’ code compiled with ‘make linux’ but provided errors on compiling for the Erle Brain with ‘make pxf’.

Project Status -

Still quite some way to go to achieve what was initially proposed in the student application timeline as the midterm goal, ie ‘complete the porting of OpenROV code to the APM’. The complexity of the project turned out to be more than what was initially expected and hence will have to re-structure the timeline accordingly after consulting my mentors. However, I’m confident that the final deliverable or project goal for the duration of the program, ie ‘implementing an open source underwater vehicle with autopilot capabilities’, will not be affected since the necessary libraries for the APMsubmarine (post midterm in the timeline) are already being worked upon.

Week #5 Report -

Current Progress -

Issues -

  • Some code is still rover based and needs to be modified.
  • Commits are not frequently pushed to the repo.

Goals for next week -

  • Add more files to the APMsubmarine vehicle.
  • Code to be adapted for underwater vehicle.
  • Commits to be pushed more frequently.

Week #6 Report -

Current Progress -

  • Added more files to the APMsubmarine vehicle folder.

  • Added steering mechanism implementation in Notes.txt.

  • Researched on dynamical model of OpenROV.

  • Worked on the compilation of the vehicle code.

  • Rebased the repo to incorporate changes from upstream.
    Issues -

  • OpenROV does not have a dynamical model implemented.

  • APMsubmarine vehicle code does not compile, gives errors.
    Goals for next week -

  • Get the APMsubmarine vehicle code to compile

  • Add steering code for the vehicle.

Week #7 Report -

Current Progress -

  • Tried to resolve the compilation errors obtained while compiling the vehicle code.

  • Researched on the designing of a dynamic model for underwater vehicles.
    Issues -

  • Summer holidays came to an end and hence had to leave for my university.

  • A good part of the week was spent on packing, travelling and unpacking.

  • WiFi connection at university is a bit sketchy now and gets disconnected often.
    Goals for next week -

  • Work on completing the targets set for the previous week.

  • Add more files to the APMsubmarine vehicle class.

Week #8 Report -

Current Progress -

Issues -

  • Tried to get the vehicle code to compile but couldn’t resolve all the errors, although some have been corrected.

  • Using …/mk/ as the Makefile, which is common for all APM vehicles, but the code doesn’t compile. :frowning:

Goals for next week -

  • Add the final few files to complete the vehicle folder.
  • Debug and resolve the remaining errors.

Week #9 Report -

Current Progress -

Goals for next week -

  • Complete the vehicle folder and add APMsubmarine entries in the relevant locations.
  • Build the code on the Erle Brain and try to interface via mavros.

Week #10 Report -

Current Progress -

Goals for next week -

  • Will discuss with my mentors and update.

Week #11 Report -

Current Progress -

Goals for next week -

  • Test the code on Erle Brain.
  • Make a video of the same.
  • Work on the documentation.

Week #12 Report -

Current Progress -

Hi all,

Final report for BeaglePilot 2.0: Making Underwater Drones can be found here -

I haven’t pasted the same here due to possible formatting issues since it is in Markdown.

Wishing my peers Ankur, Apaar, Ariane, Azizul, Ehab, Niko and Shubhangi (in alphabetical order) all the best for their final evaluations!