22 Apr 2002 NateW   » (Master)

steve had a couple of things to say/ask about my Juice project in the story about snake robots, and I thought I'd answer them here since I haven't done a diary update lately anyhow...

[...] your Juice project looks like an interesting simulator that could come in handy for robot builders.

I hope so - that is the whole reason I started the project. :-)

Does it currently have any mechanism for implementing sensors? For example, could one build a biped robot with a walking algorithm that used a sense of "balance" - perhaps from measuring its inclination or angular velocity or something?

As luck would have it, Juice provides exactly the type of sensor you're looking for, and some of the examples that come with Juice use that feature to balance themselves as they walk. During the simulation, the rotation of any of the 'beams' in the robot's structure can be used as an input to any of the joints in the structure. I tried using sensors based on angular velocity, but the 'virtual pendulum' approach is easier to work with.

Juice does not yet include any other sensors, but I in the not-too-distant future I hope to add support for proximity sensors (for navigation over/around obstacles) and pressure sensors (to help weight distribution while walking).

I look forward to seeing a linux port so I can try it out - and a GNU GPL license so we can hack on it! :)

It'll happen. My first priority is to finish implementing the features I had in mind back when I decided to start this project. There are two reasons I'm keeping the source to myself for the moment, both stemming from the fact that I'm unemployed right now. First, Juice is featured on my resume and I want to be unambiguous about the fact that I wrote everything but the low-level physical simulation math. With a GPLed code base that claim becomes a little bit less compelling, than it already is with a closed code base. Second, I'm having a lot of fun creating this thing. Perhaps this is selfish, but I've been wanting to do this project for a long time, I'm enjoying every minute of it, and I want to see it though to the end just for the satisfaction of creating it on my own. :-)

When I have a full-time job, I won't be so concerned with my resume and I probably won't have the time or energy to keep working at this pace anyhow. At that point, the GPL will be the logical next step. And Linux, too.

I went with Windows for this version because that's where I can be most productive (I have loads of experience here, so I'm already familiar with the tools and APIs), and because that's the environment my future employers are interested in... but I'd really like to see this running on Linux. I built a new Mandrake 8.1 box specifically for the purpose of porting Juice, and I can hardly wait to begin. First things first, though: feature completeness under the OS I started with.

Speaking of features, the latest beta adds a new user interface with which to define the robot's behavior. check it out... I hope to have this stuff stabilized by the end of the week for a production-quality release of version 1.2.

Latest blog entries     Older blog entries

Share this page