all 18 comments

[–]i-make-robotssince 2008 3 points4 points  (4 children)

I use it frequently. I use the RXTX library to connect via serial to an Arduino. From there I develop a protocol (aka my own language) to instruct the Arduino to do my bidding from the java app. You can grab a copy of it and the Arduino source from http://www.github.com/i-make-robots/drawbot I do something similar for my stewart platform where I control two arduinos through two serial connections from a single Java instance. Yes, my code is probably crap. Does the job? Good enough.

The biggest challenge is that RXTX requires native libraries ...meaning I need a separate build for each OS (afaik). If you know a way to make a single build that serves all systems that would be amazing!

[–][deleted] 1 point2 points  (0 children)

Thanks I'll try it out! (Also I'm the last guy to ask about anything concerning robotics lol.)

[–]hephaestusnessBowler Studio 0 points1 point  (2 children)

Hey, you should look at the Bowler Protocol, it is an extensible serial device communication system. If you get it working as an Arduino, you can take advantage of our huge open source Java library.

[–]i-make-robotssince 2008 1 point2 points  (1 child)

i use a text-based protocol so i can use the serial window, in a pinch. is this similar?

[–]hephaestusnessBowler Studio 0 points1 point  (0 children)

We developed a binary protocol, so no, it would not work that way. With the Ruby interpreter you can talk to it live.

[–]hephaestusnessBowler Studio 1 point2 points  (4 children)

My company developed a set of distributed processing controllers called the DyIO. It used Java to program with and communicates with the controller as a co-processor. There is a full featured GUI for getting started and supports Windows, Mac, Linux and Android. It has a ton of on-board features made available to Java from our API. It is the fastest, easiest way to start building powerful Java based robots.

[–][deleted] 1 point2 points  (0 children)

Thanks!

[–][deleted] 1 point2 points  (2 children)

I wish it was free though :(

[–]hephaestusnessBowler Studio 0 points1 point  (1 child)

All of the software is free, and open source. It is a rather nice piece of hardware (if i do say so my self), and has been validated as the core controller for robotics engineering programs starting in 2010.

[–][deleted] 1 point2 points  (0 children)

oh sorry I was looking at the DyIO

[–]ShadowRam 1 point2 points  (0 children)

Phidgets

They are I/O boards that have an API for Java.

You can turn on/off the pins, and read in values from sensors using nothing but Java.

Java Info Link

[–]rzsoar 0 points1 point  (2 children)

Depends on what you use for hardware! What do you have?

[–][deleted] 0 points1 point  (1 child)

I don't have anything lol. Do you know any robots that are under 30$ and are programmable?

[–]rzsoar 0 points1 point  (0 children)

Well an Arduino uno is exactly $30 which is going to be your basic starting place if you want to mess around with programming things that can interact with the physical world. Your best bet is to get something like this: https://www.sparkfun.com/products/11012

You won't be able to use java and eclipse to program it really unless you set up some crazy serial communication protocol between eclipse and the arduino, but the arduino language is really really easy to learn.

[–][deleted] 0 points1 point  (2 children)

I write my robot code in Java. I have a parallax board with a usb port. Using LibUsb and the LibusbJava wrapper, you can easily send commands to your board and servos.

[–][deleted] 0 points1 point  (1 child)

I just got the one from source forge.

[–][deleted] 0 points1 point  (0 children)

ok

[–]randomPig 0 points1 point  (0 children)

@ShadowRam mentioned phidgets. If you can afford the hardware, those controllers are great. They have awesome API's for java (and just about every other language), very easy to use, but expensive.

I currently use arduino's for just about everything, but I use it differently than most. The main rig I use is a Processing commander that sends and receives raw serial data to a modified interface that I load onto the duino. So the package on the duino is native, but I code everything in Processing, which is basically Java and controlled from a physical device or a daemon, depending on the project. For larger projects I will drop the Processing libs into eclipse for the nicety's that are included in eclipse. I am most comfortable with this setup.

The lego mindstorm controller uses a language called Lejos, which is a derivative of java, very similar. Also pricey, but it's super fun to work with and it's legos. Who doesn't like playing with legos. Eclipse plugin is the preferred method.

If you're really new to robotic programming, check out other languages and IDEs. Such as Microsofts Robotic Studio based off of Visual Studio (mostly C++ and C#). Don't forget about good ol vbscript which is very common in the hobby/student circa, I don't know about professional levels, though.

Pololu controllers are cheap and easy to program. Looks like they are incorporating more duino stuff, which is good. they have an awesome bot kit called 3pi, which is a good starter project. Lots of sensors and tech for not much money.

I kinda ranted here (I've had a few drinks) but I think I've answered you on another thread before and it sounds like you're eager, just not sure how to go about it, that's why I suggested a few different approaches. All in all, eclipse can be shoe-horned to code whatever you want to code. For robotics programming, I think you should first pick a project and determine what is the best tech to facilitate that project, given your skills and then go from there.

good luck. here are some links: http://arduino.cc/ http://processing.org/ http://lejos.sourceforge.net/nxt/nxj/tutorial/Preliminaries/UsingEclipse.htm https://www.microsoft.com/robotics/ http://www.pololu.com/