Java and Robotics

Hi all,

Is anyone using Java in their robots? Any ideas on where to start?

I'm an electrical engineer who converted to systems programming a LONG time ago, but I've always kept an interest in the field and a recent article in Circuit Cellar really piqued my interest to get back into robotics. Can anyone recommend a reasonably priced way to get into robotics control using Java? I've looked at the JStamp from the article but it's really pricy ($319 - $390 for dev starter kits). I also looked at Imsys but that's way up there pricewise too. I would love to use Java because it's what I know, and I can spend a lot less time learning a new language and a lot more time on getting things like motion control to work.

Any help, ideas, or feedback would be greatly appreciated. Thanks!

John

Reply to
jc1771
Loading thread data ...

: Is anyone using Java in their robots? Any ideas on where to start?

The Rossum Project has a number of robot programs in Java -

formatting link
However this is higher-level code, intended to be running on a back end PC doing planning, mapping, etc. There is also a simulator.

: article in Circuit Cellar really piqued my interest to get back into : robotics. Can anyone recommend a reasonably priced way to get into : robotics control using Java? I've looked at the JStamp from the : article but it's really pricy ($319 - $390 for dev starter kits). I : also looked at Imsys but that's way up there pricewise too. I would : love to use Java because it's what I know, and I can spend a lot less : time learning a new language and a lot more time on getting things : like motion control to work.

Not with Java, but I started this way -- wanting to use an old AT type motherboard because it was what I know. I think it's worth it to learn the correct tool, because in the end it makes life easier.

And, as you've seen, less expensive. A single Jstamp module seems to be at least $100, then you need a dev kit with it. Contrast that with, say an Atmel ATmega 16 for about $7.00. An STK-500 devel board is about $80 at Digikey, and there are cheaper programmers available.

Interesting that you mention that Circuit Cellar article -- I assume you mean the one in the latest issue that has a Java-based PID. Since you say you know Java -- did you find the example code easy to follow ? While I'm not a Java programmer, I do know OO from C++ and Perl, and I found it very difficult to follow what he was doing -- and I've been working on a similar PID method !

If you know C at all, try comparing it to the method Larry Barello uses here:

formatting link
. He has written his own real-time OS for the AVR. I was able to just about drop his Dilbert 2 code into my bot and have it work, just by adjusting the .h file parameters.

My C was quite rusty when I started this project, but I'm getting better.

All this is a round-about way of saying, don't pick the tool just because you know it.

Reply to
Christopher X. Candreva

Gumstix --

formatting link
-- has some small X-Scale based boards starting at $109 with a Linux kernel. You may be able to get a small JVM to fit. I'm thinking of getting one of them as soon as I can think of a cool project for it. You might also want to keep up with anything happening at
formatting link
I haven't used Java for control applications, but I do use Python for a simple application that controls lighting for a small aquarium through the serial port (the Python app calls another app written in C). Java has progressed well past the 1.1 SDK that the earlier poster mentioned, so you shouldn't have trouble using it for control.

Reply to
lyndon

When it comes down to it a robot controller does only a few functions, so any programming language for the controller will use just a small subset of keywords. You're basically setting or reading bits, doing some If or Switch branches, and a few other things.

What really helps the development process, IMO, are function libraries. Ideally these libraries -- when not built into the chip itself -- are contributed by others so you don't have to sit there and re-invent the wheel. So, for example, if you want to implement I2C in your controller, it's nice to know that (if it's not already built in) there's a library routine somewhere you can add and compile into your program. And conversely, if you come up with a nifty routine, you post it for others to use.

Java is not all that much diferent than C, and Basic is easy to follow once you know any language. Learning a new language for your robot controller is not a hard process, IMO. While you're looking for the ideal controller, Java or otherwise, look to see what macro functions are already available for it (or are built-in functions). From there you can decide how much development time you'll need to invest to get your robot to do what you want.

-- Gordon Budget Robotics

formatting link

jc1771 wrote:

Reply to
Gordon McComb

Yes, I'm using Java on my bots.

I use a Mini-ITX board running Linux.

In addition, you can use the uVM chips from

formatting link
These are very nice controllers.

The JStamp itself is only about $100 and is *much* more powerful than the other "stamp" processors.

I'm considering designing a small board so that you would only need to get a JTAG cable ($50).

-- D. Jay Newman

formatting link

Reply to
D. Jay Newman

Hi everyone,

I am very sorry for posting and disappearing, but we just finished up a major release that has chewed up all my free time since I posted (I should have thought of that before;-)

One of the things that I found really interesting was the number of people who were positive on learning another language. I guess my biggest issue is that I kind of see programming like playing a sport - the more you do something the better you get - especially if you can focus on one area. I mean the argument could certainly be made that programming in any language is developing skills in algorithm development and general design, but I was hoping that using Java would not only leverage the skills I already have but also help me build on them. The thought of trying to dream up neat new ways to control a servo while searching 'help' for syntax issues that I would normally know off the top of my head is really not what I had in mind for hobby work. I'll keep looking around though and see what I can find.

Chris - thanks for the information regarding the Circuit Cellar article - I hadn't really paid much attention to the algorithm article you mentioned - I was looking at the one about the JStamp (It would be nice if the author included some initial cost information with the article). I'll take a look later this weekend.

Thanks again for all the responses and information - have a great weekend!

John

Reply to
jc1771

Hi D. Jay,

Wow - those muvium boards look really cool. The price is right, but there's not much there in terms of documentation. Have you purchased any of the boards yet? If so:

How is the documentation that comes with them? The dev boards are right in my price range, but I can't find any information on the site to tell me what comes with the board. Do they have things like a power supply included?

How do they support the UART on the PIC?

I'm assuming the dev boards come with whatever you need to program them, but there's so little information on the site that I want to be careful.

I'm going to keep searching - good luck with your own work and thanks for the link!

John

Reply to
jc1771

What about a free Java processor. Ok, almost. The processor is free for personal and research and you still need some silicon to implement it. You can get a low-cost FPGA such as Altera's Cyclone EP1C3 for $18,- in single quantities. JOP (the processor) does not need all logic cells in this FPGA. So you have resources to implement such nice things as PWM output to control your servos or a sigma-delta ADC for the sensors. If you need processing power JOP can be clocked up to 100 MHz in the Cyclone devices (fast speed grade).

The link:

formatting link
Martin

"jc1771" schrieb im Newsbeitrag news:fXuTc.30725$US4.12132@trndny01...

article - I

mentioned - I

Reply to
Martin Schoeberl

I'm do to get some boards soon. I might even have them now, but I'm away from home at the moment so I don't know if they've arrived.

I've played around with the raw chips quite a bit. I *like* them.

The docs are on the site.

I think you have to provide your own power, but that's just a 7805 and a couple of caps.

Check the site soon. He's announced an upgrade (1.0.9) to the software and I suspect that might support the UART. I've been bugging James about that.

Yes. You get a GUI that uses a web connection to get to the real compiler.

Basically the docs are all included with the downloadable file. You can download it even without buying the chip, so you can check out the docs.

Good luck to you!

-- D. Jay Newman

formatting link

Reply to
D. Jay Newman

Sorry, but since costs change so frequently I didn't think it was useful for the article. And the JStamp recently went *down* in price.

You do *not* need Systronix' developement system to use the JStamp, but you do need their (or compatable) JTAG cable. The pinout of the JStamp is part of the online documentation.

The chip is dirt-simple to use. They have a voltage regulator on-board so you don't even need to get to 3.3 volts.

-- D. Jay Newman

Reply to
D. Jay Newman

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.