PDA

View Full Version : Announcing NUKE



lnxfergy
01-03-2010, 04:05 PM
The Nearly Universal Kinematics Engine (NUKE) is finally out in a first beta. NUKE is a PyPose tool that allows users to setup an IK/Gait engine for their ArbotiX-powered bot, regardless of the size, servo orientation, etc (as long as it fits within an available template). Right now our templates only support 3DOF Lizard-legged 4 and 6 leg robots, however 3DOF Mammal-style leg support isn't far off, and low DOF Biped support is in the works. This is the same system that powered Issy, Roz, and Jeff to take the top 3 spots at CNRG's Walker Challenge. It takes about 20-30 minutes to setup your bot once you get the hang of what's going on. The output is fairly straight forward to expand/alter. It's mostly been running on Quads, I've yet to fully test it on Hexapods (first person to post a video of NUKE powering a hexapod gets a cookie at Robogames..)

NUKE is written in Python, and it exports a C/C++ Arduino project that runs on the ArbotiX. NUKE can be downloaded from our Google code site: http://code.google.com/p/arbotix/downloads/list (http://www.google.com/url?sa=D&q=http://code.google.com/p/arbotix/downloads/list&usg=AFQjCNGmFwGO2A4G6KM3BVd4HKCuEtPIew). Documentation is also on that site. We also have a google group for support (it's very new, hence the low traffic) http://groups.google.com/group/robocontroller .


http://www.youtube.com/watch?v=biA7AhWRvpU

Some people deserve credit here. The Body IK is very similar to Xan's work on the Phoenix, as is the gait engine. Jon Hylands, Seth Cook, and a number of other people on this board have helped with debugging early versions.

-Fergs

Noog
01-03-2010, 05:43 PM
Excellent job! A big thanks to you and all your helpers. =)

I really appreciate the video to help walk us through the setup process. Keep up the good work!

Noog

Zenta
01-04-2010, 07:56 AM
Awesome work!
Excellent video demonstration. Setting the max/min and neutral point are so much easier than it is using RC-servos. Looking forward to try this out one time.

You mention 4 DOF IK in the video, what leg configurations are you planning the 4 DOF for?

-Zenta

JonHylands
01-05-2010, 07:17 AM
I got Roz walking with this latest version of NUKE in about 20 minutes - it really is that simple...

- Jon

lnxfergy
01-05-2010, 08:16 PM
Awesome work!
Excellent video demonstration. Setting the max/min and neutral point are so much easier than it is using RC-servos. Looking forward to try this out one time.

You mention 4 DOF IK in the video, what leg configurations are you planning the 4 DOF for?

-Zenta

Thanks Zenta! The AX-12s really are amazing, I've never actually had an RC-servo walker, but after playing with pose and capture, I really don't ever want one :rolleyes:.

I've been working on Terrain adaptation lately (trying to prepare for the robogames Walker Challenge), and that's been the main driver of 4DOF. I want 4DOF for lizard and mammal, for both, they would have a single DOF coxa/shoulder, and then 3DOF planar leg attached to that. The extra DOF should add a lot of ability for stepping over obstacles, by vastly increasing the avialable configuration space over a large height difference. The biggest problem with the 4DOF in NUKE is that the sign test is less specific than the 3DOF one.

I've also been playing with IK on Reaver, the 4DOF biped configuration I mentioned. I've got IK running on him, but I'm still trying to get a faster/better gait. This configuration will require a massive amount of customization for NUKE, and that's driving the rework of the backend right now...

As for timeline, 3DOF mammal should be included in Beta2 which should be out in about a week. 4DOF lizard/mammal will be a bit further down the road, and I don't see 4DOF biped being ready until shortly after Robogames based on the project schedule I have right now.

-Fergs

Adam
01-05-2010, 10:03 PM
Your doing some really great work. I don't have a need for NUKE today, but I will eventually. I appreciate your open approach to robotics development.

elaughlin
06-13-2010, 03:06 PM
Fergs,

I finally got my Arbotix working well through the Arduino and everything. Was playing around with Pypose moving a turret here and there. Then decided to create a Quad last night. Built it in a few hours. Then this morning, found the demo video on how to work Nuke. Plugged it in, and within a half hour from watching your video, I had my first walking (through wireless control) robot. It was great. Nuke is amazingly easy to use. I really cant believe it is that good. I will post some pictures, possibly a video of it moving around. Thank you so much.

elaughlin
06-13-2010, 04:15 PM
Here is the quad I made and had running on your Nuke program.

1971 1972

DresnerRobotics
06-13-2010, 07:43 PM
Woo! Awesome job!!

Now you're getting to see the payoff for your work in learning the ArbotiX system =)

lnxfergy
06-13-2010, 08:12 PM
Fergs,

I finally got my Arbotix working well through the Arduino and everything. Was playing around with Pypose moving a turret here and there. Then decided to create a Quad last night. Built it in a few hours. Then this morning, found the demo video on how to work Nuke. Plugged it in, and within a half hour from watching your video, I had my first walking (through wireless control) robot. It was great. Nuke is amazingly easy to use. I really cant believe it is that good. I will post some pictures, possibly a video of it moving around. Thank you so much.

Thanks for posting, I know we've had a lot of downloads, but I don't always get to see our stuff in action. This is exactly the sort of stuff I love to hear.

And I guess, since we've brought this thread back to the top of the pile, I should make a few remarks about where PyPose/NUKE is heading. Unfortunately, while we were adding support for Bipeds, it became very apparent that NUKE wasn't quite universal enough - so we're fixing that. The NUKE GUI recently underwent a nearly complete re-write, and the plan is to have PyPose/NUKE 2.0 out late this summer. This release would include IK templates for:


Quadruped 3DOF Mammal legs (like SMALdog)
Bipeds - 4/5/6 DOF (Like Reaver, and Reaver2)
Hex/Quad 3DOF Lizard Legs (as we currently have)

Most of the IK templating is already done for these. The three major things left to do are refine the Biped gait engine, finish overhauling the export functions, and finish/test the Biped and Mammal sign tests.

I'm hoping with this release, we'll be a lot closer to offering the same technologies for Bipeds (although, stability issues will likely require a bit more tuning to get the gait stable than what we have to do with quads).

As I've been spending a lot of time using the ArbotiX to work as I/O device for PC bots, this release is also going to include some cool new examples of interfacing an ArbotiX to ROS (http://www.ros.org/wiki). As the ROS firmware was basically an extended version of the PyPose sketch, I decided to merge the two. We get an interesting side effect -- the PyPose default sketch will shortly be updated to allow control of just about everything on the ArbotiX, the motors, encoders, analog and digital ports -- it even implements closed loop control for a differential drive robot. We even have a python PC-side library to communicate with this new firmware. This allows the ArbotiX to become something similar to the Serializer -- an all-purpose PC I/O device (but open source, so you can hack it to your heart's delight).

-Fergs

Pi Robot
06-14-2010, 09:44 AM
I eagerly await the first release of your ROS interface! I need to think about moving my Pi Robot project from Windows/C# to Linux/C++ and I've been hoping someone would do the ROS thing for the Bioloid servos. There are some partial solutions out there but nothing complete (that I know of). Of course, once you have it working, I'll have to buy an Arbotix controller! :cool: BTW, do your existing libraries for the Arbotix include PID control of the motors? This is something I use a fair bit on the Serializer so it would be nice to have.

--patrick

http://www.pirobot.org

lnxfergy
06-14-2010, 10:34 AM
I eagerly await the first release of your ROS interface! I need to think about moving my Pi Robot project from Windows/C# to Linux/C++ and I've been hoping someone would do the ROS thing for the Bioloid servos. There are some partial solutions out there but nothing complete (that I know of). Of course, once you have it working, I'll have to buy an Arbotix controller! :cool: BTW, do your existing libraries for the Arbotix include PID control of the motors? This is something I use a fair bit on the Serializer so it would be nice to have.

--patrick

http://www.pirobot.org

Our ROS libraries are pretty much done -- I'm just refining the interface before releasing it. The existing libraries do not have PID control - but it is currently built into the ROS-interfacing firmware that will be released shortly. The ROS interface also accepts standard "cmd_vel" topics and publishes "odom" messages, so it can easily be interfaced to the ROS navigation stack (if you have the appropriate sensory).

-Fergs

Pi Robot
06-14-2010, 11:15 AM
This is good news! OK, I'm adding an arbotiX Starter Kit to my TR shopping cart. Can you think of anything else I will need?

Thanks,
patrick

Pi Robot
06-14-2010, 11:25 AM
Oh, one other question: I can easily exceed 1A on each of my drive motor channels since my robot is pushing 15 lbs. Is there a way to get around the 1A per channel limitation on the arbotiX such as connecting a separate H-Bridge or speed controller? Come to think of it, would it be possible to daisy chain a Serializer board using your I2C bus? (Please bear with me as I my knowledge of hardware could fit on the head of a pin...)

Thanks!
patrick

Adam
06-14-2010, 11:44 AM
The ROS solution looks very promising.

Pi Robot
06-14-2010, 08:38 PM
I just got the Georgia Tech ROS Dynamixel package running on Pi Robot. Very cool! Their package uses the USB2Dynamixel but beware that their library defaults to 57600 baud which had me wondering why nothing was working until I set it to 1000000. The package can be found at:

http://code.google.com/p/gt-ros-pkg/source/checkout

--patrick

lnxfergy
06-14-2010, 08:48 PM
I just got the Georgia Tech ROS Dynamixel package running on Pi Robot. Very cool! Their package uses the USB2Dynamixel but beware that their library defaults to 57600 baud which had me wondering why nothing was working until I set it to 1000000. The package can be found at:

http://code.google.com/p/gt-ros-pkg/source/checkout

--patrick

I originally was using the GT package -- but I found it frequently crashed if a packet got corrupted.

-Fergs

Pi Robot
06-14-2010, 08:51 PM
Good to know--I'll see how stable it is over the next few days.

--patrick

Pi Robot
06-15-2010, 11:03 AM
I originally was using the GT package -- but I found it frequently crashed if a packet got corrupted.

-Fergs

Will your ROS code work with a USB2Dynamixel device as well, or just the arbotiX? (I'm guessing that if it is based on pySerial it will work with both?)

Thanks,
patrick

lnxfergy
06-15-2010, 11:23 AM
Will your ROS code work with a USB2Dynamixel device as well, or just the arbotiX? (I'm guessing that if it is based on pySerial it will work with both?)

Thanks,
patrick

Yes, but none of the add-ons like motor control/etc will.

-Fergs

Pi Robot
06-15-2010, 12:08 PM
OK, thanks.