The Funf Open Sensing Framework is an extensible sensing and data processing framework for mobile phones. The Funf project aims to help both developers as well as non-technical researchers and individuals. The Funf-in-a-Box service lets users configure and build a custom data collection app in less than five minutes, with zero programming. Funf Journal, a mobile app available on the Android Play Store, allows users to collect and explore data about their lives (quantified-self), and gives developers/researchers a chance to evaluate the capabilities underneath the hood. All of these are built on top of the Funf SDK, which can be used by developers to incorporate sensing functionality into their apps, and can be extended to provide new sensing capabilities.
This is Funf’s first year in Google Summer of Code and we formed a small and tight working group consisting of our two organization mentors and our two amazing students, Swetank Kumar Saha and Pararth Shah. We have been working on two fronts: Adding core functionality to the Funf SDK and enhancing Funf In A Box (FIAB) which has become very popular with researchers and data collection enthusiasts. Pararth has spearheaded work on the core library and added support for high bandwidth probes, including raw audio, video, and timelapse. We’re now diving into advanced triggers and scheduling that will allow for dynamic sensing configurations. On the FIAB side, Swetank is adding support for configuring and deploying custom surveys and capturing additional user input. Amazingly, he also managed to fit in porting the FIAB architecture from a single Amazon server to Google Cloud Services, which is going to greatly reduce our costs and increase our performance. The summer isn’t over yet, so stay tuned for more new features and updates!
By Nadav Aharony and Alan Gardner, Funf Organization Administrators
The Open Source Robotics Foundation (OSRF) has a clear mission: "To support the development, distribution, and adoption of open source software for use in robotics research, education, and product development." We have three exciting Google Summer of Code projects contributing to CloudSim, Gazebo, and ROS, which currently represent three of our biggest open source efforts.
Esteve Fernández has been adding support for OpenStack to CloudSim, a project developed by OSRF to run robotics simulations in the cloud. CloudSim was used to support the DARPA Virtual Robotics Challenge and currently supports the Amazon and SoftLayer clouds. Esteve added support for private clouds to CloudSim, enabling organizations to run simulations on their own networks. Furthermore, Esteve is contributing to CloudSim by fixing bugs, improving the code base and helping with any task that comes up. In the following weeks, he will be making CloudSim constellations accessible to users in an OpenStack cloud provided by OSRF as a public service.
Andrei Haidu is developing a fluid dynamics physics engine for the Gazebo robot simulator that will enable the use of aerial and underwater vehicles in simulation.
Gonzalo Abella is developing a new parameter server prototype for ROS. He is exploring making all parameters dynamic, and integrating the capabilities of the dynamic_reconfigure package into the core API.
By Carlos Agüero, Open Source Robotics Foundation Organization Administrator
MLton is an open source, whole program, optimizing compiler for the Standard ML programming language. Standard ML is a strict, statically typed, functional programming language with type inference, abstract data types, a sophisticated module system, garbage collection and many other features. As a high-level language with advanced programming language features, Standard ML is a challenge to implement efficiently. MLton uses whole program compilation to provide both advanced programming language features and superior performance.
This is the first year that MLton is participating in Google Summer of Code and we are excited to be mentoring two students. Tucker DiNapoli is working on adding a rich collection of SIMD primitives to the compiler and developing an SML library that exposes these primitives to the programmer. Nate Burgers is working on tooling support that will allow MLton to target RTEMS (Real-Time Executive for Multiprocessor Systems) and runtime system improvements to make MLton generated code better suited for real-time embedded systems.
By Matthew Fluet, MLton Organization Administrator
In the context of embedded Linux systems, one often needs to create highly-customized Linux systems, comprising a Linux kernel, a bootloader and a root file system with multiple libraries and applications. Buildroot is a tool that allows one to build from source all the components of an embedded Linux system, using cross-compilation. It supports a wide range of CPU architecture (x86, x86-64, ARM, PowerPC, MIPS, Blackfin, ARC, Xtensa and more) and more than 1000 userspace packages (including X.org, Gtk, Qt, Gstreamer and many more). Developed by an active community, Buildroot is used by many embedded CPU vendors as the base for their development kit, and is also used by a number of embedded system makers for their products.
The focus of our Buildroot Google Summer of Code project by Spenser Gilliland is to improve the support of the multimedia features of various ARM processors in Buildroot. This involves creating Buildroot packages for the various OpenGL libraries or hardware-accelerated video encoding/decoding libraries that are needed on ARM processors. So far, thanks to the Google Summer of Code, improvements to video decoding on Raspberry Pi have been integrated, OpenGL support for OMAP3 and AM335x platforms (BeagleBoard, BeagleBone) has been integrated, as well as OpenGL support for Allwinner SOCs (Cubieboard and other similar platforms).
By Thomas Petazzoni, Buildroot Google Summer of Code Organization Administrator
Since mobile browsers are not commonly extendable, Privly needs a different approach for Android and iOS. After a design process led by Google Summer of Code applicants, two students were selected to create a novel way of integrating Privly's security applications with mobile platforms. The mobile apps will be able to post content securely through other mobile applications, as well as pull encrypted content from various sources and display it in-app.
By Sean McGregor, Privly Organization Administrator
The LTTng project (Linux Trace Toolkit - next generation) aims at providing highly efficient tracing tools for Linux. Its tracers help to track down performance issues and debugging problems involving multiple concurrent processes and threads. Tracing across multiple systems is also possible. Apart from LTTng's kernel tracer and userspace tracer, viewing and analysis tools are also part of the project. LTTng's performance relies on techniques such as Userspace RCU, lockless algorithms, per-cpu data structures and cache impact minimization.
During Google Summer of Code 2013, our two students will work on the following projects:
Zifei Tong will work on dynamic instrumentation support for the userspace tracer (UST). The current UST tracer relies on static tracepoint probes manually inserted in the traced application’s source code. This project aims at providing dynamic instrumentation capabilities in arbitrary applications.
Xiaona Han will work on improvement to the Babeltrace Python bindings. Most of the public Babeltrace API is currently mapped using SWIG. However, a more “Pythonic” set of wrapper classes will make trace reading and writing more accessible than using the current native API.
By Christian Babeux, LTTng Organization Administrator
Constellation is a young academic group at the University of Stuttgart, Germany. Our goal is to provide the creative environment for realization of different aerospace projects. As one branch the group offers a distributed supercomputing platform for solving aerospace related numerical problems. The massive computing power is provided by volunteers donating their idle computing time at home by forming a virtual super-computer via the internet. For this citizen space science method we are using the open source software called BOINC (Berkeley Open Interface for Network Computing). We are currently supported by 7,000 volunteers providing 20,000 host PCs to our computing grid where they help us optimize the thrust curve of a hybrid-engine sounding rocket by the student group HyEnD, and find a trajectory between Earth and the Earth-Moon-libration point EML-4 for the communication relay satellite mission TYCHO.
We are really honored to be part of this year's Google Summer of Code, and we have three students working on diverse ideas. We try to find the optimum interplanetary trajectory for one probe to all eight planets in our solar system and Pluto with "Solar System Grand Tour", which includes n-body simulation and implementing optimizing algorithms. We want to support flying observatories like SOFIA by NASA and DLR to maximize their observation times by optimizing flight routes with "airborne observatory". And lastly, we want to excite children about space with an educational and fun "space trumps" card game for Android mobile devices, so that they will be involved in STEM professions when they grow up. This is the power of citizen science and open-source!
By Andreas Hornig, Constellation Organization Administrator
PLASMA is a research group at the University of Massachusetts that works on a diverse array of projects that span the space of programming languages and systems. We are very excited to take part in Google Summer of Code for the first time! This summer we are fortunate to have three excellent students on board working on two of our projects, Doppio and CheckCell.
Doppio is a Java Virtual Machine written in CoffeeScript that can run unmodified JVM programs in the browser -- no plugins or recompilation required! Giles Lavelle is working on adding AWT and Swing support to Doppio, which will enable us to run GUI programs. Braden McDorman is adding networking support to Doppio using WebSockets, which will let JVM programs make use of the network through standard Java socket APIs.
CheckCell is a tool for finding input data errors in spreadsheets. CheckCell combines statistical and program analysis techniques to find errors: values that have an unusually high influence on formulas or charts. These values are either extremely important, or are wrong. Our Google Summer of Code student, Alexandru Toader, is porting CheckCell from Microsoft Excel to Google Spreadsheet, allowing anyone with a modern web browser to use CheckCell online.
By John Vilk, Daniel Barowy, and Emery Berger, PLASMA Organization Administrators
The Maryland Institute for Technology in the Humanities (MITH) is a leading digital humanities center that pursues disciplinary innovation and institutional transformation through applied research, public programming, and educational opportunities. Jointly supported by the University of Maryland College of Arts and Humanities and the University of Maryland Libraries, MITH engages in collaborative, interdisciplinary work at the intersection of technology and humanistic inquiry. MITH specializes in text and image analytics for cultural heritage collections, data curation, digital preservation, linked data applications, and data publishing.
By James Smith, Organization Administrator for MITH
Motion planning is a key area in robotics that finds feasible paths for a robot from some initial state to some desired goal. Over the last couple of years we have developed a standard library for sampling-based motion planning algorithms, a class of algorithms that has been shown to work well on a large variety of systems, ranging from car-like robots to humanoid robots with many degrees of freedom. The Open Motion Planning Library (OMPL) is designed to be very general; the library makes no assumptions about the type of robot or how the environment is represented. This allows it to be integrated into a larger robotics software system such as ROS.
Manipulation Planning - An example of using OMPL on the PR2 from Willow Garage. The robot is asked to move and manipulate the objects on the table. The demo is using ROS.
We are excited to have two very talented students working with us this summer. Caleb Voss is developing a plugin for Blender (a 3D modeling program) that allows one to plan motions for robots in environments drawn within Blender. The project integrates many different components, it relies on the Blender Game Engine to simulate physically realistic robot motion, on MORSE for robot models and high-level controllers, and on OMPL for planning.
Luis Torres is working on a core future within OMPL - the representation of costs and the way planners optimize costs. There already exists some functionality in OMPL to optimize path length and some other common path properties, but in the redesign that Luis is working on this will be done in an abstract way so that the user can specify almost any kind of cost function.
By Mark Moll, OMPL Organization Administrator