GSOC 2014 project proposition - ArduPilot for the BeagleBone

Dear BeagleBone community,

This is Víctor Mayoral Vilches, a PhD student who worked this summer on the Beagle-ROS project under Koen’s supervision. My GSOC time was really a nice experience so I’m hoping i can participate again on 2014.

Even if it’s a bit early i’d like to suggest a topic for BeagleBoard GSOC 2014: ArduPilot for the BeagleBone.

As some of you might know, ArduPilot has became one of the most used and important autopilots for flying robots, being used now in a growing number of drones. There has already been an initiative to put ArduPilot on the BeagleBone Black. I reached the guys behind it and I’m willing to start collaborating with them immediately however it seems that there’s much that could be done about this (both on the software and on the hardware side) and a lot of people that could benefit from it thereby i came up with this proposition.

I hope you all find it well.
I will be looking forward to hear about your opinion regarding this matter.

Best regards,

Hey Victor,

I think this is a great initiative.
I have 2 points here:

  1. I’d love to help in anyway I can. We are undertaking something on the similar lines at my local hackerspace. We have 2 drones, a Arduino pro mini based on the multiwii project. The second one is a work in progress. I had been given the task of porting the multiwii platform on the BeagleBone Black ( because of my gsoc project of course :slight_smile: ). So I am going to be doing a lot of Beagle+quadcopter in the forthcoming months. Let me know about any progress that you make on the same.

  2. Have you considered if this would be a good project for the Arduino TRE ? Not many details about this right now, but maybe some of our mentors could help us here :slight_smile:

Cheers,
Anuj

Dear Anuj,

Thanks for your feedback. Let’s keep in close touch then.
For now I just reached out Andrew Tridgell who offered to supervise this initiative. I will start working with them in the following weeks.

Regarding your second point. I have not done anything with the Arduino TRE but your suggestion definitely sounds interesting :).
Regards,

Víctor.

An update on this topic:

BeaglePilot project has just been launched. The idea behind it is exactly the same as described above.

Hi again,

Just wanted to inform that I’m still up to work on this idea during the summer. BeaglePilot has been advancing nicely and i’m guessing that eventually the work of ArduPilot and BeaglePilot will merge.

I’ve already shared some ideas with Andrew Tridgell and Philip Rowse (the ones behind the ArduPilot port of the BBB) and Andrew showed interest in mentoring the project.

As pointed out in Andrew’s talk there’s still a couple of things to program and test so I believe that there’s room for more than one student within this project. Anuj Deshpande is working with me at BeaglePilot and i believe we can do make quite a nice team together to face this idea.

Regards,

Víctor.

Jason should i put this idea on the ideas page?

Also, as I commented out i strongly believe that there’s room for more students this year on this particular project. The guys working at BeaglePilot would be a great fit. We are a multidisciplinary-engineering team and I strongly believe that if we work under this hood during the summer we can achieve really nice results.

We are looking forward to submit the applications.

Víctor.

@Jason would you mind sharing what’s the status of this project?. So far three persons have shown interest in participating on this project during the summer: Anuj, Siddharth and myself.
Not sure if it’s necessary to inform Google about the seats allocated now. If so, would it be possible to allocate three seats for us?

Víctor.

@Jason would you mind sharing what’s the status of this project?. So far three persons have shown interest in participating on this project during the summer: Anuj, Siddharth and myself.
Not sure if it’s necessary to inform Google about the seats allocated now. If so, would it be possible to allocate three seats for us?

It doesn’t work that way. We have to get approved to be a mentoring organization. Writing a good ideas page to encourage students to sign-up with us and show that we have many useful ideas is what is currently required.

The BeaglePilot GSOC proposal can be reviewed [here](http://BeaglePilot GSOC proposal). Feel free to add comments.

Andrew Tridgell informed us that he would like to mentor this project however after speaking with jkridner about the proposal he noted that we should have 5+ mentors for the current 3 students involved so we would like to invite 4 more mentors to join the project this summer.

Philip, Lorenz and Craig, would you like to jump in?

Kevin Hester offered to mentor this project, information has been updated in the Ideas page.

Is there room for more students on this project or is it full? I was going to actually propose a similar project before seeing this. I was thinking of a ground based mobile robot running ROS. Something sort of like a mini turtlebot building on some of the work from the ROS project done last year.

Jason,

We usually hang out in #beaglepilot at Freenode. Feel free to join us and share your ideas with us.

Dear all,

I am an undergraduate student in electronics and telecommunication engineering University of Moratuwa, Sri Lanka. This is my first experience in GSOC and I’m interested in Ardupilot for the BeagleBone. Truly I’m not having any experiences with BeagleBoard. After googling I found that is almost similar to Rasbery Pi which I’m having some experience. While reading the Beagle Pilot project description I found out the project goals.

  • PRU drivers (PWM and PPM)
  • SPI drivers for cape sensors
  • RC Input (PPM)
  • Power handling
  • Analog sensing
  • Flight tests
    I’m having good expierience with how to read PWM signals,generating PWM signals,How RC works, How Interrupt works and how to manage their priorities in a manageable way without collision and destroying CPU performances. And also I’m having experience in reading sensors(Accelerometer,Sonar) via I2C or USART. Currently I’m covering my industrial training period. At their I have to make a quad copter which having capability to indoor navigation. As the first step I completed Amplitude hold.

As the microcontroller I’m using STM32F103RBT6.These microcontrollers use Cortex M3 core with a maximum CPU speed of 72 Mhz. I’m programming microcontroller Using Keil IDE. I was able to read PWM signals from receiver through external interrupts and timers and similarly to drive ESCs by generating PWM signals.To measure the height I’m using a sonar which out its data via Serial communication.I studied how Arducopter source code and other similar altitude hold quad copter designs to get an idea. After studdying many resources I developed an special PID algorithm to Altitude hold. Arducopter uses two controlling loops to altitude hold. One is for acceleration and the other for height. By controlling acceleration according to the height,Arducopter do altitude hold. But in my algorithm I use only sonar data to altitude hold. It works perfectly up to 4 to 5 fetes. It cannot control more than that, due to tilt of the quad copter while flying. So I have to interface more sensors(accelerometer + barometer) to controller board. These days I’m adding accelerometer (LIS3LV02DL) to controller board. Microcontroller communicate with it via I2C. So I’m having good background in how I2C and it’s interrupts work. By experience I know Accelerometer is very noisy. Adding filters I was able to get smooth data from accelerometer to calculate angle and acceleration. From all the experiences I got, I can say that the most hard part is tuning (flight test).

So far I learnt many thing on Quad copter mechanical structure,where to place sensors on a quad copter, STM microcontroller programming,control algorithms, Sensors and filtering methods. I’m really good at hardware implementation. I have participated national and international level robot competitions(IRC 2013 and 2014 IIT Bombay,India) and have won them. I think I can actively participate on BeaglePilot project. I would like to know are there any room for more students in this project.

Thank you all.

Supun,

Thanks for your ideas. We are usually hanging out at #beaglepilot in Freenode. Feel free to join our discussions.

Hi everyone,

I only heard about GSoC recently, so I know I am a bit late to the game, but as I was browsing through the ideas pages this project immediately caught my eye.

I am currently an undergraduate computer science student studying at Western Washington University, and have long been interested in robotics. In high school I competed in the FIRST Robotics Competition as co-president of my schools robotics club, and I recently became the president of Western’s robotics club. We are currently in the early stages of constructing a quad copter, and in my research I had come across ArduPilot, so this project stood out to me both as something I would like to contribute to as well as use on my own projects.

I have some recent experience working with Arduino and its PWM and PPM capabilities, and have also been working on the idea of using an Android phone as the sensor platform for our quad copter for stabilization and navigation, and potentially for remote control.
I would love to work on this project regardless, but I was hoping to find out if it was not to late to participate through GSoC.

Thank you for any information you have,

-Jamie Campbell

Hi Jamie,

As far as i know no decisions have been made yet so you are welcome to join us and apply for it ;).
Bests,

Víctor.

Hello Victor,
I am Sanjay Reddy from Odisha and I am really interested to work on this field. Although I have less experience in this field but I want to learn all the things necessary for it and really want to contribute. Will you please guide me in this regard.