2016

Overview

The following list shows a set of potential ideas for 2016 Google Summer of Code that extend the functionality and inter-operatically of robotics/humanoid research software led by JSK Robotics Laboratory, the ideas are organized as two main project, EusLisp/roseus and hrpsys. We're open to the new idea for robotics/humanoid research software, so the GSoC projects at JSK is not limited to the ideas listed in this page. If you have a new idea please fill in that in your application proposal.


EusLisp is a Lisp-based programming environment for developing robotics programs. It combines a solid modeler, visualization, geometric libraries, simulation and more into a single development environment
. EusLisp was originally developed by Toshihiro Matsui at AIST in 1986 and has been heavily used by the JSK Lab at Tokyo University in their humanoid robotics research for more than 30 years. All of robots in our lab is modeled using EusLisp language and we use this as toplevel interpreter environment for most of research results. EusLisp has
ROS client library called roseus , which we used to integrate variety of ROS based intelligent robotics modules. Recent JSK demos as JSK visits to WillowGarage,  PR2 getting sandwich are all integrate using roseus.

hrpsys is an OpenRTM-aist-based robot controller package suite including forward/inverse kinematics and dynamics, trajectory interpolator, collision detection walking pattern generator, stabilizer and so on,  which is mainly used for humanoid (dual-arm and/or biped) robots. This has been used for research humanoid robots like HRP2, HRP3, HRP4 and early version of Googles's SCHAFT robot. Moreover, this is also used for commercial robots such as Kawada's Nextage Open. We also have rtm-ros-robotics software package that connect hrpsys/OpenRTM environment to ROS environment and also provide automatic tools to generate conversion software modules between these two frameworks.

 
http://www.technology.org/texorgwp/wp-content/uploads/2014/01/hrp2-jsk.jpg
 
 
 
 HRP2-JSK HRP2-V S-1 Nextage Open
Robots actually used (including past) in JSK Lab with hrpsys-based controller

Organization


JSK Robotics Laboratory (Professor Masayuki Inaba and Associate Professor Kei Okada) is an principle organization
Life with Robots
of this project along with TORK(Tokyo Opensource Robotics Kyokai Association), where Kei Okada is also participate as board member. JSK lab is located in the center of tokyo city and  there are 3 faculty members and 4 post-docs, who will  kindly mentor accepted students. We accept offshore development, but also welcome students who willing to enjoy Tokyo city, see our last year's interns blog post.


EusLisp Project List

Realtime GC for robot applications

  • List of prerequisites: Lisp, Garbage Collection, Real time Programming
  • Description of programming skills: write C, Lisp
  • Difficulty level: Medium
  • List of potential mentors: Kei Okada
  • Detailed description: Current EusLisp use standard mark and sweep GC algorithm thus it stops enter processing during  GC stage. To consider robotics application, which the process send some message periodically, realtime GC will provide enable using EusLisp as low-level controllers.
  • Related papers: Taiichi Yuasa, et al. Return Barrier. In Proceedings of International Lisp Conference 2002, San Franisco, October 2002.
  • Project status: We tried to implement Return Barrier on EusLisp about a decade ago, which is not completed at that time. However, the code written at that time could be good starting point for your project, For example https://github.com/euslisp/EusLisp/blob/master/lisp/Makefile.rgc for more details.
  • Propose tips: Applicant is expected to review current implementation of Return Barrier, tried to compile and file a tickets to solve during the first week in the GSoC period.
  • Communication : Issue Tracker

Extending humanoid modeling class to musculoskeletal structure

  • List of prerequisites: Musculo skeletal system, Robot modeling, Lisp, C++
  • Description of programming skills: write C, C++, Lisp
  • Difficulty level: Medium
  • List of potential mentors: Yohei Kakiuchi
  • Detailed description: The musculoskeletal robots is a next generation humanoid robot that mimic entire human body down to muscles and bones, We, at JSK is developing musculoskeltal humanoid robots but they are too complex to model in computer language. This project is to design new representation of robot modeling that can describe not only traditional kinematics using links and joints but also describe muscles and bones.
  • Related papers: Yuto Nakanishi, Ikuo Mizuuchi, et al.. Design Approach of Biologically-Inspired Musculoskeletal Humanoids, International Journal of Advanced Robotic Systems, Vol.10, No.216, pp.1--13, 2013
  • Project status: We had extend our robot model to support inter-locking joints in a last few years. Althgouh bone/muscle model is much more complex thatn this one but https://github.com/euslisp/jskeus/blob/master/irteus/demo/special-joints.l could be good starting point on how to deal with non conventional joint model in the EusLisp.
  • Popose tips: Applicant is expected to propose how do you model bone/muscle in the robot modeling framework. If you have specific robot platform, please describe that information.
  • Communication : Issue Tracker for EusLisp basics, Issue Tracker for EusLisp robot modeling

Interpreter for 3D printing machine

  • List of prerequisites: Lisp, 3D Geometric Modeling
  • Description of programming skills: write Lisp
  • Difficulty level: Medium
  • List of potential mentors: Masayuki Inaba
  • Detailed description: 3D Printing Machine enable us to create many kind of objects, however, as a EusLisp programmer, we want to directly print out our modeling the language, not to convert our Lisp code to 3D format as STL/3DM to print the  object. This project is to control 3D Printing Machine from a EusLisp and "physically print out" a object which is instantiate in the programming language environment.
  • Project status: This idea is inspired from a conversation with Dr. Henry Baker at https://sourceforge.net/p/jskeus/mailman/jskeus-users/, he said 'I am quite interested in finding Lisp-based software for dealing with 3D objects for 3D printers & it appears that EusLisp might be useful for this task.'
  • Propose tips: Applicant is expected to have some experience on 3D printer controls.
  • Communication : Issue Tracker

EusLisp/roseus integration of modern robotics library/systems

  • List of prerequisites: Lisp, Foreign Function Interface (FFI), one of caffe, chainer, nlopt, qpOASES or others.
  • Description of programming skills: write Lisp, C++
  • Difficulty level: Medium
  • List of potential mentors: Shunichi Nozawa
  • Detailed description: Recent advance in Computer Science and Artificial Intelligence with Open Source community provide a dozens of powerful software libraries/systmes, specially in the area of Optimization and Learning. In this project, we improve the integration of these advance libraries into EusLisp/roseus integration.
  • Project status: We already have eus_qp, eus_qpoaseseus_nlopt integration, but they are a far from complete. You are welcome to extend these projects or create new integration with libraries proposed above, or you can propose any libraries/systems that you think that is more powerful if that is integrated with EusLisp/roseus
  • Propose tips: Applicant is expected to illustrate the the library to be integrated. how long are you using target library? In what area? What do you think of the strength of target library/systems.

EusLisp integration of dynamic simulation

  • List of prerequisites: Lisp, Foreign Function Interface (FFI), Dynamics Simulation.
  • Description of programming skills: write Lisp, C++
  • Difficulty level: Medium
  • List of potential mentorsKei Okada
  • Detailed description: Integrating Dynamics Simulator into EusLisp environment has been a long project in JSK, starting 2004 by T. Ogura with ODE library and 2008 by R. Ueda with PhysX library. The goal of this project is to provide interactive  3D object environment with dynamics property and this would be great potential for robot brain software environment.
  • Related papers: R. Ueda et al. Design and Implementation of Humanoid Programming System Powered by Deformable Objects Simulation. pp. 374 - 381 Intelligent Autonomous Systems 10, 2008
  • Project status: Latest trial on bringing dynamics functionality into the EusLisp is named eusgazebo project. This package could be good starting point.
  • Propose tips: Applicant is expected to look at eusgazebo package and get an overview of the entire system components. Application with a current eusgazebo package system diagram and your proposal to extend the system or list of achievement during the GSoC are welcome.

Extending EusLisp/roseus supported robots

  • List of prerequisites: Lisp, ROS, Robotics
  • Description of programming skills: write EusLisp/roseus
  • Difficulty level: Easy
  • List of potential mentorsKei Okada
  • Detailed description: EusLisp is a great environment for robotics research but supported robot platform is mainly humanoid or mobile manipulation robots such as HRP2, PR2 and so on. They are nice hardware platform, but same time, it is very expensive. In order to extend EusLisp users, we need to supported more cost friendly robot platform such as LEGO Mindstorm, Turtlebot and so on.
  • Project status: Please look at peppereus package, which we added to support on EusLisp/roseus in last year. This project basically create this kind of package for their robots. Project applicant is desired to have robotic platform and we'll help this into EusLisp/roseus environment.
  • Propose tips: Applicant is desired to follow roseus tutorials to run sample programs, and also expected to have any of robotics platform to use GSoC projects.

hrpsys Project List

Develop CoP based walking/stability controller for hrpsys

  • List of prerequisites: Walking control, Robot dyanmics, C++
  • Description of programming skills: write C++
  • Difficulty level: Medium
  • List of potential mentors: Shunichi Nozawa
  • Detailed description: Current implementation in hrpsys walking pattern generator is based on ZMP offline pattern generation and apply a stability filter to follow target ZMP trajectory, but recent research revailed using CoP-ZMP controller enable us to integrate these two stages and high-speed feedback will archive humanoid robot walking in uneven terrains. At this moment, there are no other opensource implementation of walking pattern generator then one we implemented in hrpsys and this project is to leverage the level of this implementation.
  • Project status: We have implemented some of the walking controllers and stabilizer at https://github.com/fkanehiro/hrpsys-base/tree/master/rtc/AutoBalancer. In this project, we'd like to extend the list of the controllers and stabilizer and enable us to compare between existing techniques.
  • Propose tips: Applicant is expected to list a research paper which you wish to implement in hrpsys controllers.
  • Communication : Issue Tracker

Realtime Online Self-Collision detector and avoid motion generation

  • List of prerequisites: CD Library, Dyanmics, C++
  • Description of programming skills: write C++
  • Difficulty level: Medium
  • List of potential mentors: Kei Okada, Yohei Kakiuchi
  • Detailed description: Recent advance in Collision Detection library such as FCL provide more fast and flexible collision checking. This project aim to replace current collision detection modules using classic PQP/Rapid library and integrate with simple motion planning pipeline to enable not only "detect" collision but also generate "avoid" motions on the fly.
  • Project status: Yohei's reposiotry could be good starting point for implementing FCL based collision detectors, so projects includes rewrite this code, add test code that ensure switching from current collision library to FCL did not break current status. As for motion planning side, the strategy is still open and any proposal are welcome.
  • Propose tips: Applicant is expected to fork the Yohei's repository and propose on-the-fly motion planning approach.
  • Communication :  Issue Tracker

Body sensation-based Odometry for walking robots

  • List of prerequisites: SLAM, 3D Vision, Signal processing, C++
  • Description of programming skills: write C++
  • Difficulty level: Medium
  • List of potential mentors: Kei Okada, Yohei Kakiuchi
  • Detailed description: This project aim to develop sensor-based odometry system using "Body sensation" which include vision, force, acceleration sensing. Odometry is key technology for robots moving around and widely used as wheel encoder based, laser scanner based and vision based technique. However they are mainly focused on wheel robots and in order to work on walking robots, we must to integrate as many sensors as possible.
  • Project status: We'll correct sensor data as bag file or hrpsys logger data and applicant is expected to write odometry codes.
  • Propose tips: Applicant is expected to list a research paper which you wish to implement in hrpsys controllers and rtmros_common.
  • Communication :  Issue Tracker

Continuous Integration using real robots

  • List of prerequisites: Software integration and deployment,  C++, python, bash
  • Description of programming skills: write C++, Python, Bash, manager Jenkins, Travis
  • Difficulty level: Medium
  • List of potential mentors: Kei Okada
  • Detailed description: CI is useful tools for developing software and we're also actively using them on travis or in-house jenkins servers. However they are all tested in software simulation environment and  we're not sure if it is "really" works until we run on real robots. This project is to connect jenkins and real robot, we mocap sensors to observe a robot motion and everytime we every new jenkins jobs runs real robot hardware and confirm the motion of the real robot.
  • Project status: Our software utilizes jsk_travis package to run test code within Travis/Jenkins framework with simulated environment. This project includes encapsulate this environment, send to the robots and running on the real robots.
  • Propose tips: Applicant is expected to understand jsk_travis framework and extend system diagram to connect to the robots. 
  • Communication :  Issue Tracker

Application Template for Students

    If you meet the general requirements and are interested in working on one of the EusLisp/roseus or hrpsys projects during the Google Summer of Code, you can apply by:

  • Sending an email to: k-okada+gsoc@jsk.imi.i.u-tokyo.ac.jp , with the subject line: GSoC Application, AND
  • Submit your application through the Google Summer of Code web page. Your application should include the following information:
Contact information

  • Your Name
  • Account of Github or other public code hosting system 
  • An email address where we can reach you for daily communication

Experience

  • Please list software repositories, pull requests and issues on public code hosting systems that you're proud of or you think that is impressive.
  • If you have participated in undergraduate or graduate research, please include a copy of any relevant publications.
In addition to that, if you have experience/skills in particular  dareas that you believe would be useful to one of our projects, please let us know. Also provide us names and contact information for people you have worked with who can recommend you.

Project ideas

In a paragraph or two, describe your idea on the proposed project. 'Propose tips' on the above list may help.

FAQ

  • Do I required Japanese skill?
    • It is not required, if you understand this English description.
  • Do I have to visit Japan.
    • It up to you. But in that case, unfortunately we have to ask you to find hotels by your self. 
If you have any questions, feel free to contact us! (k-okada+gsoc@jsk.imi.i.u-tokyo.ac.jp)