Here are some amazing software projects which warrant being assimilated into MRL ! RESISTANCE IS FUTILE !
Please add your favorite open source Java project to the list as a comment !
Who's up next ?
JHLabs - visual BufferedImage filters - http://www.jhlabs.com/ip/filters/index.html
SLAM
Inverse Kinematics
Speech Deep Learning
Physics & Kinetics
-
http://en.wikipedia.org/wiki/Bullet_(software)
demo - of most interest is the Generic Joint Demo http://jbullet.advel.cz/applet
I'm interested in find a Kinematics library - this one is more a Physics package, although kinematics would be a subset. Definately looks great
http://stackoverflow.com/questions/12927654/jbullet-example - LIBGDX is the definitive game framework. wrapper of OpenGL ES and also has a Bullet wrapper.
- Java Open Kinematic Chains Library
-
JavaFX Library for Inverse Kinematics 2.0- graphics only - no data back
http://java.dzone.com/articles/javafx-library-inverse - Stanford Natural Language Parser
- AI-MA
- http://hejp.co.uk/flash/inverse-kinematics-part-2-of-2/ excellent explanation of kinematics
- http://digilander.libero.it/carmine.lia/jroboop/ Robot Kinematics Library
AI
- https://www.tensorflow.org/
- https://www.captionbot.ai/
- http://deeplearning4j.org/
- Subsumption Architecture
Arduino/AdaFruit Sensors
Competitions
Q-Learging
- http://www.youtube.com/watch?v=iNL5-0_T1D0
- http://kunuk.wordpress.com/2010/09/24/q-learning/
- http://www.cse.unsw.edu.au/~cs9417ml/RL1/sourcecode.html
- http://en.wikipedia.org/wiki/Q-learning
- https://www.cs.ubc.ca/~poole/demos/rl/q.html (online demo)
- http://www.cse.unsw.edu.au/~cs9417ml/RL1/applet.html (cat mouse - online demo)
- http://thierry.masson.free.fr/IA/en/qlearning_about.htm (draw in good and bad tiles)
- http://somesaba.github.io/posts/robot-foosball-part-3--artificial-intel… (FOOSBALL!)
raver1975: so the next time the robot is in a similar state, it will know what the best actionisGroG: like subsumption architecture with memoryraver1975: the robot is in a state, and there is a list of actions the robot can take while in that state. The robot leanrs through trial and error, which actions are the best to take when it is in a certain stateraver1975: but if it is holding a small child, and it takes the "eat" action, the robot is rewardedraver1975: the grids don't have to be robot positions, they are robot "states", and the 4 directions are the 4 "actions" the robot can take in each state. so if the robot is holding poison, and it takes the action "eat", it is bad.
- VideoStreaming - http://www.bogotobogo.com/VideoStreaming/videostreaming_etc.php
- https://github.com/teradeep/demo-apps Teradeep visual recognition
3D Representations
-
3D Scene Graph Libraries - Java3D JMonkey JReality LWJGL Ardor3D http://jogamp.org/jogl/www/
JOGL is pretty awesome - http://threejs.org/docs/index.html#Manual/Introduction/Creating_a_scene
- http://robotwebtools.org/ - Javascript library from ROS
- ROS PointCloud from streaming Kinect
- MeshLab
- http://bostondynamics.com/bd_diguy.html
Looking for a 3D simulator + physics engine for WebGL - this one I think combines the bullet engine with its own framework more research needed - http://cjcliffe.github.io/CubicVR.js/cubicvr/samples/vehicle_physics_demo/stunt_track1.html
more about it - http://www.cubicvr.org/45-news/webgl/82-cubicvr-js-vehicle-physics-demo
Review of different WebGL js frameworks - http://weblog.benjaminsommer.com/blog/2012/05/13/comparison-of-webgl-framework-apis/
GUI 2.0 for MRL needs to be based on HTML 5, WebGL & WebSockets !
Above is an amazing demonstration of what can be done with WebGL (http://madebyevan.com/webgl-water/)
Here is a kinect point cloud display demo - http://www.mrdoob.com/lab/javascript/webgl/kinect/
These and many more demos are @ http://www.chromeexperiments.com/
Point Cloud Library PCL - http://pointclouds.org
WebGUI over Smart Phones
The new gui will be web based allowing it to work on any phone, tablet, or computer. MRL's GUI system is already client / server based - so it will fairly straight forward to make the existing architecture work with a new web base gui view.
To mitigate the differences between different mobile operating systems - phonegap or similar framework will probably be used.
- AngularJS - http://www.angularjs.org/
- "Think in AngularJS"
- Angualar IDE - http://angular-ui.github.io/
- http://briantford.com/blog/angular-phonegap.html
- JQuery
- gwt-mobile video - http://www.devoxx.com/display/DV12/mgwt+-+GWT+goes+mobile
- start here - phone gap - http://docs.phonegap.com/en/2.5.0/guide_getting-started_ios_index.md.html
- Hello world phone gap
- http://jquerymobile.com/
- http://nodejs.org/
- https://code.google.com/p/gwtmobile/
- mgwt phonegap+mgwt plugin
- phone gap + websockets - http://stackoverflow.com/questions/14482954/websockets-or-an-alternative-with-phonegap
- phone gap + websockets - http://remysharp.com/2010/10/04/websockets-in-phonegap-projects/
Distributed Computing
- http://nodejs.org/
- https://npmjs.org/
- Node.js
- http://www.ibm.com/developerworks/library/j-nodejs/ NodeJS for Java
Interface Related
- NodeJS Robotics http://cylonjs.com/documentation/getting-started/
Video or OpenGL related
- WebGL - definately in MRL's future - http://www.chromeexperiments.com/webgl/
- JOGLE - https://jogamp.org/jogl/www/
- OculusOverlay
- VideoPal
- http://slick.ninjacave.com/ Slick2D
- http://lwjgl.org/ Light Weight Java Game Library
- http://twl.l33tlabs.org/ Themable Widget Library
- http://nifty-gui.lessvoid.com/ - OpenGL GUI Library
- JBox2d (A Java Physics Engine)
- Artemis (Entity System Framework)
SIMULATORS
- List of Simulators
- Blender
- Simbad
- Morse
KINECT
OCR
Speech Recognition (Speech to Text)
- JARVIS - https://github.com/lkuza2/java-speech-api
- Julius
- eSpeak - make Java Wrapper on RasPI
- http://www.developer.com/java/other/article.php/1471001/Processing-Spee…
- JSAPI Wrapper in CogChar
- PocketSphinx - runs on RasPi !
- Jasper
Speech Synthesis (Text to Speech)
- http://www.fromtexttospeech.com/
- http://tts-api.com/ - looks awesome !
- http://www.voicerss.org/
- http://text-to-speech.imtranslator.net/
- http://www.cepstral.com/en/demos
- http://www.readspeaker.com/voice-demo/
- http://www.sitepal.com/ttswidgetdemo/
- http://www.ispeech.org/text.to.speech
- http://www.voiceforge.com/demo#
- http://www.cstr.ed.ac.uk/projects/festival/onlinedemo.html Festival can be done locally
- http://www.cstr.ed.ac.uk/projects/festival/download.html
RXTX Replacement
- PureJavaComm
- JavaComm
- NRJavaSerial
- JSSC
- sockets over Linux - http://www.rfc1149.net/blog/2011/12/01/accessing-serial-ports-the-easy-…
Genetic Programming
Wavefront Algorithm
TLD+
Security
Others
- http://jscience.org/
- Javolution - http://javolution.org/ "real time"
- http://www.tekkotsu.org/downloads.html Tekkostsu - a framework with probably a lot of interesting stuff - the challenge though is it is all written in C++ so it would need a JNA/JNI adapters - nice robots - http://chiara-robot.org/Calliope/ & http://chiara-robot.org/HandEye/
- http://geeknizer.com/diy-build-google-glass/
Point Cloud Reconstruction
- http://letsmakerobots.com/node/35363
- raspi has own i2c port - kernel has driver - which kernel
-
soo want an very low profile headless I2C restful interface !!!
- http://www.computer-vision-software.com/blog/2009/05/tracking-overlappi…
- http://www.rhondasoftware.com/ wow - the Intel russian group?
- google overlap opencv
Ring Buffer
OpenCV
USB over IP
- http://www.techthefuture.com/technology/rapyuta-a-collective-brain-for-…
- http://www.roboearth.org/software-components#object_models
Perhaps our next GUI service
Perhaps our next GUI service ?
http://www.badlogicgames.com/wordpress/?p=2640
http://libgdx.badlogicgames.com/features.html
raver1975 says "
libgdx is the graphics bomb.. the google game Ingress on Android is built in LibGDX"
More path planning and maze solving algorithms
To add to the wavefront algorithm, here are a few others that may be interesting:
Bug1 and Bug2: http://www.cs.cmu.edu/~motionplanning/lecture/Chap2-Bug-Alg_howie.pdf
A* (in python): http://www.laurentluce.com/posts/solving-mazes-using-python-simple-recursivity-and-a-search/
Simple maze-solving optomization (think micromouse competitions): http://campus.murraystate.edu/academic/faculty/bob.pilgrim/245/lab_06.html
elastic and lwjgl
We've already got solr support... I'll try and get elasticsearch support baked in. https://www.elastic.co
We're already using LWJGL in the oculus display class, that is based on JOGL. Our support for LWJGL comes from the "Thin Matrix" tutorials on working with java open gl stuffs. https://www.youtube.com/playlist?list=PLRIWtICgwaX0u7Rf9zkZhLoLuZVfUksDP
They are really excellent
SLAM
What would be good with the SLAM is to be able to take data from OpenCV and YOLO so that it remembers where objects are and can find its way back to them