PDA

View Full Version : Collaboration group for ROS+Arbotix-based robots



RobotAtlas
07-13-2010, 10:42 PM
I think Issy3 is going to be a much bigger project than IssyDunnYet and Issy2 combined.
A lot of the effort is going to be on the software side.


To speed things up, I propose to create a team lead by Inxfergy (aka Fergs, aka Mike).
This team will share engineering effort of working on advanced robots like Issy3.
The software platform for this project is ROS and NUKE for IK.


A good place to start is to come up with a list of parts for this type of robot,
so that potential participants can determine if they can afford to participate in a team of this level.

The capabilities of this robot are above and beyond of the stock Bioloid kits, thus the extra price.

Some of the Issy 3 parts are not available, so we have to find a way to replace/recreate those.

(RobotNV List updated on 7/31/2010)
1. 12-18 AX-12+ servos
2. FitPC2
3. ArbotiX board
4. FTDI cable
5. LiPo 2100mAh battery
6. Bioloid frame set
7. Bioloid cables
8. Body to hold FitPC2/battery/ArbotiX/etc
9. 4 legs (custom)
10. 2 x Microsoft LifeCam Cinema Webcam with 2 x 1' USB cables (optional)
11. Sony PS3 wireless controller (optional)
12. Tail (custom, optional)
13. Head (custom, optional)
14. Extra sensors: IMU, gyro, compas (optional)

Am I forgetting something? Coming up with (retail) prices would be the next step.

P.S. We really need a wiki for this type of stuff.

DresnerRobotics
07-13-2010, 11:20 PM
I really like this idea. Might want to mention the use of ROS though for newcomers to this thread.

One thing to note: I believe Mike dropped the spine, so Issy wont be 18 servos. Also, the platform would be applicable to pretty much any ArbotiX bot. The locomotion method is trivial, and given NUKE, hexapods, quads, and soon bipeds would be a suitable platform for this community project. I'll be joining in with Giger v4, which will be arbotix/fitpc2/ros based.

I could probably offer up a simple/standard lasercut quad/hexapod base that had mounting areas for batteries and the FitPC2, for cheap. Our new Vytek FX2 Lasercutter CNC is up to the job. :) We also have several ArbotiX based robotics kits on the way, which will have more than enough payload for a FitPC2.

RobotAtlas
07-13-2010, 11:32 PM
> quad/hexapod base that had mounting areas for batteries and the FitPC2, for cheap
> We also have several ArbotiX based robotics kits on the way, which will have more than enough payload for a FitPC2.

I know you guys were mentioning it at RoboGames, saying "soon, in a couple of weeks".
It was a couple of weeks already. :)

Can you give us more details, please.

lnxfergy
07-14-2010, 07:53 AM
I think Issy3 is going to be a much bigger project than IssyDunnYet and Issy2 combined. A lot of the effort is going to be on the software side.

Not sure that's true. Getting the point where Issy has a controlled walking is probably easier at this point than when I built IssyDunnYet or Issy2, because NUKE is now quite refined. The ArbotiX ROS package is also building on previous code (from PyPose), so it's not as huge of an undertaking as developing PyPose/NUKE originally was.


To speed things up, I propose to create a team lead by Inxfergy (aka Fergs, aka Mike). This team will share engineering effort of working on advanced robots like Issy3. The software platform for this project is ROS and NUKE for IK.

Yeah, I'm already fairly busy, so I doubt I'd be taking on leading any sort of project team. A beta of the ROS package will be released shortly (I know it's taken longer than I expected, but we did a bit of an API review and that generated a fairly massive change list that I want completed before it ever hits the wild).



A good place to start is to come up with a list of parts for this type of robot,
so that potential participants can determine if they can afford to participate in a team of this level.

The capabilities of this robot are above and beyond of the stock Bioloid kits, thus the extra price.

Some of the Issy 3 parts are not available, so we have to find a way to replace/recreate those.


1. Bioloid Comprehensive Kit -- $899 -- you'll want the servos, brackets, wires, hardware, and power brick, you might as well just get the whole comp kit because it's basically the same cost. And while you may not need 18 servos for a quad, having a few extras for playing around with is nice.
2. FitPC2 -- $350?
3. ArbotiX board/FTDI cable (isn't it too long and thus unnecessary heavy?) -- Vanadium actually has a new board coming out very shortly -- targeted specifically at PC-based bots like Issy3. More details soon (hopefully pictures of the prototypes later this week).
4. LiPo 4350 mAh Battery (http://www.trossenrobotics.com/store/p/6297-3S-11-1V-4350mAh-Pro-Lite-V2-20C-LiPo-Battery.aspx) -- $99 -- Although
5. 2 x Microsoft LifeCam Cinema Webcam -- $60 on Amazon -- Note, they have fairly long cables already attached, and I'm not big on shortening cables, so I just made a place in Issy's chassis to stow them.

And with those 5 parts, you have the basic workings of any Bioloid/ArbotiX/ROS bot. As for the custom printed parts -- I typically release my parts on Thingiverse (For instance, here's SMALdog's head) (http://www.thingiverse.com/thing:2005) -- you'd just have to find someone with a 3D printer. I believe Jon Hylands will still do custom printing -- and based on the last cost he spec'd, it'd probably run somewhere around $60 for a set of legs, and $100 for head/tail parts (I'm wildly guessing on just how much support material would be needed, the legs may be quite a bit more).

6. 4 x feet with switches (custom, unavailable) (optional)
7. Tail (custom, unavailable) (optional)
8. Head (custom, unavailable)
9. Sony PS3 (wireless?) controller (optional)
10. Extra sensors: IMU, gyro, compas (optional)
11. Something to hold FitPC2/battery/ArbotiX/etc -- again, I'll probably put Issy's chassis on thingiverse, you'd just need to find a friend with a laser cutter.


One thing to note: I believe Mike dropped the spine, so Issy wont be 18 servos.

Yep, spine is dropped. I'm also removing the AX-12 head pan/tilt and replacing it with a custom printed HS-81 based pan/tilt that's about 1/4 of the size and half the weight. That said, I'd recommend people just get a Comp kit, because if they ever want to build a biped/hexapod, they'll have the servos.


Also, the platform would be applicable to pretty much any ArbotiX bot. The locomotion method is trivial, and given NUKE, hexapods, quads, and soon bipeds would be a suitable platform for this community project. I'll be joining in with Giger v4, which will be arbotix/fitpc2/ros based.

Exactly! No need to constrain anyone to a specific setup. The ArbotiX handles the walkin/g using NUKE code -- and will have a standard connection protocol for ROS. All of the IK/gait engines can have the same interface, your FitPC doesn't even need to know/care what type of robot it's riding on (I've actually only got one FitPC -- and keep swapping it between Issy and a 2WD rover, they have the same interface -- if the robot didn't have arms, the Fit would never know it was on a different robot).


I could probably offer up a simple/standard lasercut quad/hexapod base that had mounting areas for batteries and the FitPC2, for cheap. Our new Vytek FX2 Lasercutter CNC is up to the job. :) We also have several ArbotiX based robotics kits on the way, which will have more than enough payload for a FitPC2.

I think the standard hex/quads would be perfect for this. I use regular velcro to hold down my FitPC (making it easy to move between bots), and that velcro strapping stuff to hold down the battery.

-Fergs

jotheberlock
07-14-2010, 10:41 AM
I really like this idea. Might want to mention the use of ROS though for newcomers to this thread.

One thing to note: I believe Mike dropped the spine, so Issy wont be 18 servos. Also, the platform would be applicable to pretty much any ArbotiX bot. The locomotion method is trivial, and given NUKE, hexapods, quads, and soon bipeds would be a suitable platform for this community project. I'll be joining in with Giger v4, which will be arbotix/fitpc2/ros based.

I could probably offer up a simple/standard lasercut quad/hexapod base that had mounting areas for batteries and the FitPC2, for cheap. Our new Vytek FX2 Lasercutter CNC is up to the job. :) We also have several ArbotiX based robotics kits on the way, which will have more than enough payload for a FitPC2.

I would certainly be interested in a quad or preferably hexapod base and maybe leg parts. I've been trying to get my own quad going but have had some trouble with Nuke - the sign-checking code sometimes fails to move the legs, or something, which is confusing me a lot.
Having a standard leg/body configuration and thus a standard sketch for the arbotix would be rather nice. :) Not to mention my expertise is mostly software and not at all mechanical stuff, so I've been a bit lost as to how to fabricate my own body.

I'm planning to use two PS3 Eye webcams for my own robot, but supporting one type of webcam over another in Linux is no big deal, and I'm on the fence about using ROS as opposed to my existing homegrown stuff.

DresnerRobotics
07-14-2010, 10:45 AM
I'll just leave this here...


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


This was an early beta, fully NUKE/ArbotiX powered, multiple gaits are now supported and it's even faster. A platform like this can easily carry a FitPC2 (we have one here with one mounted), also front/back/top mounting patterns are available for additional AX-12s (pan/tilts, arms, etc).

lnxfergy
07-14-2010, 10:55 AM
I would certainly be interested in a quad or preferably hexapod base and maybe leg parts. I've been trying to get my own quad going but have had some trouble with Nuke - the sign-checking code sometimes fails to move the legs, or something, which is confusing me a lot.

You might start a thread on this so that we could help out debugging what's going on.


I'm planning to use two PS3 Eye webcams for my own robot, but supporting one type of webcam over another in Linux is no big deal

As long as they adhere to the UVC standard. That's not true of all webcams -- particularly cheap ones and the very expensive ones. Non-UVC cameras are a pain (or often impossible) to work with under Linux. (The PS3 Eye is UVC compatible -- just pointing this out for future readers)

-Fergs

RobotAtlas
07-14-2010, 11:18 AM
Originally Posted by Inxfergy http://forums.trossenrobotics.com/ambience/buttons/viewpost.gif (http://forums.trossenrobotics.com/showthread.php?p=41502#post41502)
Getting the point where Issy has a controlled walking is probably easier at this point than when I built IssyDunnYet

I don't think you are going to stop here. In fact something tells me it's just a begginning of a much larger project, considering that now Issy has a BIG brain. :)



Originally Posted by Inxfergy http://forums.trossenrobotics.com/ambience/buttons/viewpost.gif (http://forums.trossenrobotics.com/showthread.php?p=41502#post41502)
Yeah, I'm already fairly busy, so I doubt I'd be taking on leading any sort of project team.


That's understandable. We are all busy. There's no need for any hard commitments. This is a hobby for many of us.

The leading should not take as much time as development. It should actually save you time. We might not need any formal leading at all. You just seem to be pretty experienced with this stuff. Plus you are doing the leading already anyway ;)

I do agree the scope needs to be expanded. The platform needs to be similar, but not exactly the same.

We probably should rename the thread to something more descriptive too and make it sticky.

lnxfergy
07-14-2010, 01:15 PM
I don't think you are going to stop here. In fact something tells me it's just a begginning of a much larger project, considering that now Issy has a BIG brain. :)

Yes, walking is just the beginning -- but much of what I plan to work on with Issy after walking won't be immediately open sourced or shared as it may become part of a future dissertation or at least research publications (and only after publication, would it be shared more widely). I'm also planning on running Issy in several competitions over the upcoming year or two, and much of the application specific aspects would be closed until after he competes.

-Fergs

DresnerRobotics
07-14-2010, 01:20 PM
Yes, walking is just the beginning -- but much of what I plan to work on with Issy after walking won't be immediately open sourced or shared as it may become part of a future dissertation or at least research publications (and only after publication, would it be shared more widely). I'm also planning on running Issy in several competitions over the upcoming year or two, and much of the application specific aspects would be closed until after he competes.

-Fergs

BUT, ROS support for the ArbotiX will be in beta soon, which still makes a group collaboration effort viable, yes?

lnxfergy
07-14-2010, 01:26 PM
BUT, ROS support for the ArbotiX will be in beta soon, which still makes a group collaboration effort viable, yes?

Oh yes -- all the walking and integration stuff will be there. It's the visual routines I'm developing that aren't going to be widely available until after publication (and for that reason, I haven't discussed them here previously -- I just wanted to address that what PyPose/NUKE and ArbotiX-ROS offer is mainly the hardware-software interface, it's an easy way to connect a walker to a PC, and to get data in and out of ROS from the real world, etc. I've mounted cameras on Issy, but the code related to the cameras themselves is what won't be immediately released).

-Fergs

RobotAtlas
07-14-2010, 02:51 PM
It's the visual routines I'm developing that aren't going to be widely available until after publicationIt's the visual routines I'm developing that aren't going to be widely available until after publication


That's very understandable. I've been in these shoes 11 years ago. ;)
Nobody prevents you from exchanging opinions though...

lnxfergy
07-15-2010, 12:15 AM
That's very understandable. I've been in these shoes 11 years ago. ;)
Nobody prevents you from exchanging opinions though...

Oh, don't worry, everyone is entitled to my opinion..... :veryhappy:

-Fergs

RobotAtlas
07-23-2010, 06:53 PM
I could probably offer up a simple/standard lasercut quad/hexapod base that had mounting areas for batteries and the FitPC2, for cheap. Our new Vytek FX2 Lasercutter CNC is up to the job. :) We also have several ArbotiX based robotics kits on the way, which will have more than enough payload for a FitPC2.

Do we have any updates on these?

DresnerRobotics
07-23-2010, 10:24 PM
I'm working out the final prototype this week, after that I'll be pulling the trigger on our first production run.

jotheberlock
07-24-2010, 10:08 AM
I'm working out the final prototype this week, after that I'll be pulling the trigger on our first production run.

Great :-) What sort of ballpark price would they go for?

DresnerRobotics
07-24-2010, 12:11 PM
Sneak Peak:

Tail/Gripper optional, just showing that you can add things to em. There is a Pan/tilt mount on the center of the torso as well.
http://forums.trossenrobotics.com/gallery/files/1/4/9/2/hex-a.jpg

http://forums.trossenrobotics.com/gallery/files/1/4/9/2/quad-a.jpg

Pricing is yet to be determined exactly, though I can say they will be very reasonable given the cost of the AX-12s + ArbotiX hardware however. We're using lasercut ABS for the frame specifically to keep costs down. We'll also offer an upgrade kit for people who already own a Bioloid Comprehensive Kit or large pile of AX-12s.

RobotAtlas
07-24-2010, 04:08 PM
We'll also offer an upgrade kit for people who already own a Bioloid Comprehensive Kit or large pile of AX-12s.

That would be great. More people can afford to buy things in smaller chunks.

jotheberlock
07-25-2010, 02:31 PM
Pricing is yet to be determined exactly, though I can say they will be very reasonable given the cost of the AX-12s + ArbotiX hardware however. We're using lasercut ABS for the frame specifically to keep costs down. We'll also offer an upgrade kit for people who already own a Bioloid Comprehensive Kit or large pile of AX-12s.

Looks great! I have a Bioloid Comprehensive plus a couple of extra AX-12s that I got in anticipation of making a pan/tilt mount, so that would work pretty well for me.

RobotAtlas
07-31-2010, 12:31 PM
The tibia looks very sturdy. What are the dimentions of the frame on that hexapod?

DresnerRobotics
07-31-2010, 12:53 PM
The body itself is roughly 11x9", legs obviously make it a bit bigger.

RobotAtlas
07-31-2010, 01:34 PM
Great. FitPC2 will definitely fit (no pun intended) on that too.
Any news on availability?

From the original list of parts in the first post of this thread (just edited) I'm still missing:

3. ArbotiX board
4. FTDI cable
8. Body to hold FitPC2/battery/ArbotiX/etc
9. 4 legs (custom)
13. Head (custom, optional)


I would like to order it all at once to save of shipping/handling.

What do our experts say on hexapod/quad issue?
Which one should we make a preferred platform?

Is quad based on AX-12+ good enough to carry all that weight (FitPC2, battery, AirbotiX, 2 cameras, what else)?

Also what about camera(s) pan/tilt? What's considered to be the best solution for now?

Is there anything else missing in the updated list?

DresnerRobotics
07-31-2010, 03:35 PM
The quad would probably carry it fine, might have issues with amble gaits though. Keep in mind however that the quad this is based on originall is Issy2, which had no problem carrying a Mech Warfare payload at a decent clip. Fitting everything onboard could prove to be tricky however, but I might increase the body size a little on the quadruped to account for that.

The hexapod has no issue carrying or having room for a fitPC2, I threw roughly a 2.5kg payload (We put a 2kg humanoid on it's back + the tail and front gripper assembly) on it and it still zipped around without issue.

Hexapod vs quad doesn't really matter, I say keep them both as options.

Pan/tilt is just a matter of using an F2, F3, and F8 bracket and mounting it on the bot. Essentially the top portion of this kit (not completed/released yet either):

http://www.trossenrobotics.com/p/phantomX-ax-12-robot-turret.aspx

RobotAtlas
07-31-2010, 04:13 PM
ArbotiX can drive 2 analog servos, right?
Then considering weight and price, whould this be a better option?
http://www.trossenrobotics.com/store/p/3139-Pan-and-Tilt-Kit-with-Servos.aspx

Especially for hexapod, which uses up all 18 AX-12s?

RobotAtlas
07-31-2010, 04:23 PM
the quad this is based on originall is Issy2, which had no problem carrying a Mech Warfare payload at a decent clip.

That's the additional payload I was forgetting about.
We absolutely would want those robots to be able to participate in Mech Warfare.

So hexapod's payload is more than 2.5 kg (in addition to battery - which one, BTW) and AirbotiX. How much more?
How long does it run without overheating?

What's the payload for the quad?

DresnerRobotics
07-31-2010, 04:38 PM
That's the additional payload I was forgetting about.
We absolutely would want those robots to be able to participate in Mech Warfare.

So hexapod's payload is more than 2.5 kg (in addition to battery - which one, BTW) and AirbotiX. How much more?
How long does it run without overheating?

What's the payload for the quad?

Yes, the ArbotiX has 2 PWM ports for hobby servos, however they're powered off of VIN, so you'd need to step down the voltage. That said, these are $1000-1500 robots, cutting corners on using hobby servos for a pan/tilt- a component where jitter and payload matter, isn't a good idea IMO. I'd just as soon pay a bit more for 2 more AX-12s and keep everything AX-12 based.

I'm using this battery for testing so far:

http://www.trossenrobotics.com/store/p/6293-3S-11-1V-2100mAh-Pro-Lite-V2-20C-LiPo-Battery.aspx

I can get 30+ minutes of hard runtime out of it using one of those, that's without a FitPC2 though. It easily has payload capability for a larger pack though:

http://www.trossenrobotics.com/store/p/6297-3S-11-1V-4350mAh-Pro-Lite-V2-20C-LiPo-Battery.aspx

I haven't tested max payload, no overheating problems to speak of so far though. 2.5kg is a lot for a small legged robot though, I don't see what would push us even close to that.

RobotAtlas
07-31-2010, 06:59 PM
2.5 kg (in addition to battery - which one, BTW) and AirbotiX. How much more?

I agree, that was a rather stupid question.
I think it was a way to estimate how hexapod would perform if 4of its legs would perform if the other 2 were to be used as hands.


I'm using this battery for testing so far:

http://www.trossenrobotics.com/store...o-Battery.aspx (http://www.trossenrobotics.com/store/p/6293-3S-11-1V-2100mAh-Pro-Lite-V2-20C-LiPo-Battery.aspx)

I can get 30+ minutes of hard runtime out of it using one of those, that's without a FitPC2 though. It easily has payload capability for a larger pack though:

http://www.trossenrobotics.com/store...o-Battery.aspx (http://www.trossenrobotics.com/store/p/6297-3S-11-1V-4350mAh-Pro-Lite-V2-20C-LiPo-Battery.aspx)

I haven't tested max payload, no overheating problems to speak of so far though. 2.5kg is a lot for a small legged robot though, I don't see what would push us even close to that.

Are you talking about a quad or hexapod?


That said, these are $1000-1500 robots, cutting corners on using hobby servos for a pan/tilt- a component where jitter and payload matter, isn't a good idea IMO. I'd just as soon pay a bit more for 2 more AX-12s and keep everything AX-12 based.

Makes sense. Especially considering that pan/tilt could be used for moving Mech gear in addition to cameras.

DresnerRobotics
07-31-2010, 07:06 PM
Most of my testing has been done with the hexapod so far. I prototyped a quad chassis and had one of our interns assemble it, and Mike NUKE'd it at Robogames. We've had it running around a bit but haven't done any testing. I just had an intern tear it down for rebuild using some updated (production) components though, the testing will commence on both platforms in the very near future.

lnxfergy
08-01-2010, 12:18 AM
What do our experts say on hexapod/quad issue?
Which one should we make a preferred platform?

Is quad based on AX-12+ good enough to carry all that weight (FitPC2, battery, AirbotiX, 2 cameras, what else)?


The quad would probably carry it fine, might have issues with amble gaits though.

Issy2 and Issy3 both carried quite a bit of weight -- but in both cases, the legs were a bit shorter than the quad/hex that Andrew is showing off. It may be able to carry the weight, but I'm not 100% sure. A hexapod is infinitely more stable of course. On a slightly different note, the amble gait is probably going to work better than a ripple with all that weight on a quad. Although it's extra work on the servos, the dynamics work a bit better.


ArbotiX can drive 2 analog servos, right?
Then considering weight and price, whould this be a better option?
http://www.trossenrobotics.com/store/p/3139-Pan-and-Tilt-Kit-with-Servos.aspx

Especially for hexapod, which uses up all 18 AX-12s?

it can drive 2 hobby servos, but as Andrew pointed out, you'll have to regulate the voltage. I personally only shift to using analog servos when I need micro servos (Robotis Engineers: please make an AX-6 in a micro size case...)

-Fergs

RobotAtlas
08-01-2010, 04:03 AM
I personally only shift to using analog servos when I need micro servos

Mike, I thouhgt you switched to hobby servos for Issy3:


Yep, spine is dropped. I'm also removing the AX-12 head pan/tilt and replacing it with a custom printed HS-81 based pan/tilt that's about 1/4 of the size and half the weight.


On a related note, it would be nice to document for future generations why those changes to Issy 3 were made, why spine was dropped, etc.

The reason I keep asking about weight is, as we all know by now, the holding torque of AX-12+ is about 3(?) times higher than moving torque. Plus Mike was recenly saying that those Chiara's are overheating because they are too heavy (NiMH is so 20th century :) ).

How heavy are Chiaras and how heavy are our hexapods/quads?

http://forums.trossenrobotics.com/attachment.php?attachmentid=2032&stc=1&d=1280655528

SteamAutomaton
08-01-2010, 08:47 AM
it can drive 2 hobby servos, but as Andrew pointed out, you'll have to regulate the voltage. I personally only shift to using analog servos when I need micro servos (Robotis Engineers: please make an AX-6 in a micro size case...)

-Fergs
Or better yet the AX-3.14 using cell phone motors.

SA:p

lnxfergy
08-01-2010, 10:51 AM
Mike, I thouhgt you switched to hobby servos for Issy3. On a related note, it would be nice to document for future generations why those changes to Issy 3 were made, why spine was dropped, etc.

Yes, because I needed to make his neck smaller -- using micro servos. I already documented why the spine was dropped in his thread....


The reason I keep asking about weight is, as we all know by now, the holding torque of AX-12+ is about 3(?) times higher than moving torque. Plus Mike was recenly saying that those Chiara's are overheating because they are too heavy (NiMH is so 20th century :) ).

How heavy are Chiaras and how heavy are our hexapods/quads?

The Chiara is several pounds heavier than the hex w/ FitPC (mostly from that giant battery, and all of the electronics that it carries). The legs on our hex are also a bit shorter (the femur is the same length, the tibia is about an inch shorter), although the body is quite a bit wider.

-Fergs

jotheberlock
08-19-2010, 12:32 PM
Sneak Peak:

Tail/Gripper optional, just showing that you can add things to em. There is a Pan/tilt mount on the center of the torso as well.
http://forums.trossenrobotics.com/gallery/files/1/4/9/2/hex-a.jpg

http://forums.trossenrobotics.com/gallery/files/1/4/9/2/quad-a.jpg

Pricing is yet to be determined exactly, though I can say they will be very reasonable given the cost of the AX-12s + ArbotiX hardware however. We're using lasercut ABS for the frame specifically to keep costs down. We'll also offer an upgrade kit for people who already own a Bioloid Comprehensive Kit or large pile of AX-12s.

How's this coming along? :-) I don't really know what lead time for something like this typically is, but I'm eager.

RobotAtlas
08-22-2010, 01:42 PM
It looks like the hardware is going along very nicely.
It's time to start looking at the software side too.

I have been looking for a way to start learning ROS. It would be a lot more fun to experience first-hand how ROS is working with actual robots.
The only problem was so far the simplest robot that can run ROS was iCreate or Rovio.
It didn't make sense for me to buy a new robot just to learn ROS though.
So I was stuck.

Then a couple of days ago ROS.org published a blog post about making Lego NXT Mindstorms kit working with ROS: http://www.ros.org/news/2010/08/robots-using-ros-lego-nxt.html
And I have a Lego NXT kit (I bought it for my 8 year old son last year).

So that created a perfect opportunity to start learning ROS.

My plan is to learn about odometry, mapping, assisted teleoperation and navigation using wheel-based NXT and then apply this knowledge to our leg-based robots.

I can definitely see how assisted teleoperation can be advantageous in the context of Mech Warfare. It will free the pilot from worrying about hitting the walls and instead concentrate on shooting/escaping.

Is anybody else learning ROS? Please share your thoughts/experiences in this thread.

Pi Robot
08-23-2010, 12:26 PM
It looks like the hardware is going along very nicely.
It's time to start looking at the software side too.

...

Is anybody else learning ROS? Please share your thoughts/experiences in this thread.

Hey RobotNV,

I have played with ROS over the past several months. I managed to install the Box Turtle release on a Ubuntu 9.10 machine following the directions posted at http://www.ros.org/wiki/cturtle/Installation/Ubuntu. I then ran through all the beginners tutorials using the Python examples and everything seemed to work as advertised. Next I tried out the Rovio package from http://code.google.com/p/gt-ros-pkg/ and succeeded in making the Rovio do some simple movements by publishing some ROS messages.

That's about it so far. Following Mike Ferguson's advice, I returned to developing my own Python code that runs on both Windows and Linux (ROS is primarily a Linux framework right now). Now that I have that in place, I'll try wrapping a ROS layer around it and see how far I get.

--patrick

lnxfergy
08-23-2010, 12:57 PM
We've had quite a bit of discussion on ROS, spread all over the place. Starting with page 3 of this thread (http://forums.trossenrobotics.com/showthread.php?t=4232&page=3) we start discussing ROS quite a bit. There's also a long list of packages that I've been using (a summary of ones I still use is on the SRL wiki (http://robotics.ils.albany.edu/wiki/MikeFerguson)).

I've also got a blog post (http://www.showusyoursensors.com/2010/08/ros-and-other-ramblings.html)I made about the "Poor Man's Lidar" that I've been building on the ArbotiX package.

-Fergs

RobotAtlas
08-27-2010, 12:30 AM
We are definitely in a big need for that PML work, Fergs.
Not many people can afford to spend $1200 on one laser range finder.

RobotAtlas
09-05-2010, 10:52 AM
I've been doing ROS tutorials last week and I have to report they all make a lot of sense to me.
It looks like the more I know about ROS, the better I like it.
I'm now convinced it will take our robots to a whole new level.

Pi Robot
09-05-2010, 08:25 PM
I've been doing ROS tutorials last week and I have to report they all make a lot of sense to me.
It looks like the more I know about ROS, the better I like it.
I'm now convinced it will take our robots to a whole new level.

Yeah, it's starting to grow on me too--darn it! Now I gotta learn all this stuff. I am practicing by making a ROS node for the Serializer microcontroller since I am familiar with that board. Then I'll turn to Mike's ArbotiX package since I just got one of his starter kits from TR.

--patrick

P.S. If you haven't already, I highly recommend looking through Mike's ArbotiX ROS code. It really made things clear to me.

RobotAtlas
09-06-2010, 10:34 PM
It looks like what we will need for this project is vslam (visual odometry, visual SLAM, stereo and monocular)
http://www.ros.org/wiki/vslam_system
and sba (Sparse bundle adjustment and Sparse pose adjustment)
http://www.ros.org/wiki/sba
packages from ROS.

Does anyone have any experience with them?

lnxfergy
09-06-2010, 11:33 PM
It looks like what we will need for this project is vslam (visual odometry, visual SLAM, stereo and monocular)
http://www.ros.org/wiki/vslam_system
and sba (Sparse bundle adjustment and Sparse pose adjustment)
http://www.ros.org/wiki/sba
packages from ROS.

Does anyone have any experience with them?

You've asked a LOT of questions, but I really have to ask, what is it that you intend to build? Over the past several threads you've talked about NUKE-powered walkers and Mech Warfare, but then also about ROS, the PML, autonomous navigation with localization (not just obstacle avoidance), and now vslam.

If you're thinking about doing an autonomous mech, I think pursuing a high-end localization scheme is probably not going to be of much benefit. You just don't have the payload to carry a huge amount of processing power -- and the environment is quite regular. I doubt that any of the off-the-shelf SLAM packages that are shipping with ROS would be the right choice -- simply because your environment isn't as complex as the worlds that these SLAM packages were designed for (and you don't have the kind of processing power available that they did).

If you're looking to have a robot navigate the real world, I think a walker is probably the wrong platform. The limited battery life makes it sort of silly, not to mention that localization is going to be significantly harder on a walker that is bouncing around (even with delicate gaits and IK, a walker, especially a quad, is inevitably more bouncy than any wheeled rover).

-Fergs

RobotAtlas
09-07-2010, 10:08 AM
what is it that you intend to build?

Mike, I know you asked me that question (in a more subtle form) 2 or 3 times before.
I'm sorry I have not provided sufficiently presize answer (I thought I did though, we even had a whole thread on robot goals). We can do more discussion there.



Over the past several threads you've talked about NUKE-powered walkers and Mech Warfare, but then also about ROS, the PML, autonomous navigation with localization (not just obstacle avoidance), and now vslam.


Hopefully you are not saying those are all unrelated technologies. In fact, if you just look again at that sentence, you can probably tell what type of robot this is going to be.


If you're thinking about doing an autonomous mech, I think pursuing a high-end localization scheme is probably not going to be of much benefit. You just don't have the payload to carry a huge amount of processing power.
Why not? ArbotiX is taking care of servo control/feedback. FitPC2 can do mono/stereo vision. The rest is done on "groundstation" - powerful laptop(s)? That's why we need distributed abilities of ROS.


and the environment is quite regular.
What do you mean by that?

As far as Mech Warfare goes, it could be one application of this assisted-teleop robot. I'm not too sure "assisted" part will give an edge over strict teleop with current set of rules, but eventually I think it will be beneficial. Especially if/when rules start favoring robot smartness. As far as I can tell, this will be the firts "smart" walker - mostly thanks to you Mike, since you practically solved the walking part of a quad/hex with ArbotiX - and this allowed us (me) to not get stuck at the gait level and move to vision/localization/mapping part.

Solving walking part is a huge time saver. I know it took you a while to get there. I hope people do not underestimate what Mike have done so far for all of us here.


If you're looking to have a robot navigate the real world, I think a walker is probably the wrong platform.
You might be right on that one. I have not seen any smart walkers yet. Crustcrawler was supposed to have one about 5 months ago, but it's not happening for some reason.
We will not know until we try. I do know what is impossible right now - autonomous biped.
Yet they are trying to do it in RoboCup. Good for them.


The limited battery life makes it sort of silly
You guys were telling me an AX-12+-based hexapod can carry (at least) a whole Bioloid on it. That's a lot of battery it could carry. I was also thinking of doing 6 smaller Lipo Batteries on each leg. I agree that 15 minutes is a little silly. But 1 hour would be not.


not to mention that localization is going to be significantly harder on a walker that is bouncing around

Well, just like you, I like challenges. Who said it has to be easy? Why does it have to be off-the-shelf? I'm no stranger to 10+ hours of debugging sessions. :)

Adrenalynn
09-07-2010, 11:18 AM
I've been gone for awhile. Can you link me to the thread with your current walking via remote ax-12-based hexapod that has a fitPC and an arbotiX on it?

lnxfergy
09-07-2010, 11:51 AM
First, for mech warfare -- you really don't want to be relying on a "groundstation" to carry a heavy processing burden (especially if that processing is dependent on large sums of data) because wifi reliability/bandwidth has been a real issue at RG.

My point about the SLAM issue is that most of the ROS stuff is based on fairly large wheeled bases. They have gobs of processing power and they can afford to sit still while planning a route using that gobs of processing power. They're also designed for very complex worlds (cluttered and irregular). Our arena for MW is extremely rectangular -- everything is on a grid. while there is small clutter on the ground, a scan at a height of about 15cm would be sufficient to keep track of the world around -- a conservative avoidance of walls would keep you off the clutter. Along the same thread, global localization is basically unnecessary (you don't know exactly where the opponent is, but once you find them, there's plenty of work in pursuit/evasion with obstacle avoidance behaviors -- which is effectively where this would be going).

As for "smart" walkers -- it's not a matter of the smarts, it's a matter of the payload and runtime. There is a reason Mech Warfare is 12 minute rounds -- or that RoboCup runs short rounds with the ability to swap batteries. For AX-12 PC bots, even hexapods, somewhere around 30 minutes is probably the point of diminishing returns -- any additional battery loaded on tends to just get eaten up in the extra load. You might be able to get up to 45 minutes with more conservative gaits, but the overall distance/time is still going to be limited (I was hoping to hit 45 with Issy, but I have a feeling he's going to top out at 30, with a 4Ah battery).

-Fergs

RobotAtlas
09-07-2010, 01:18 PM
wifi reliability/bandwidth has been a real issue at RG.

I thought Tiberius said we are going to adress that issue next year. Now that ArbotiX doesn't have Xbee when it's connected to a FitPC.

lnxfergy
09-07-2010, 01:23 PM
I thought Tiberius said we are going to adress that issue next year. Now that ArbotiX doesn't have Xbee when it's connected to a FitPC.

By "address it" we hope to improve the connection so that it's not complete garbage -- it still probably won't be good enough to stream massive amounts of data across the network for an offboard brain. We're hoping to address the issues of what was probably not even FCC-compliant 2.4ghz controllers used by other competitions -- what we can't address is the total pollution of the 2.4 band by all sorts of bluetooth enabled devices, other wifi signals, etc.

-Fergs

DresnerRobotics
09-07-2010, 01:39 PM
I've been gone for awhile. Can you link me to the thread with your current walking via remote ax-12-based hexapod that has a fitPC and an arbotiX on it?

I don't believe he has built the bot yet. That said, he's shown great enthusiasm and encouragement for all of us to more or less band together on ROS-ArbotiX based robots, a noble cause I believe.

Adrenalynn
09-07-2010, 02:03 PM
2.4 band by all sorts of bluetooth enabled devices, other wifi signals, etc.


If everyone goes -n, then it could be constrained to 5.8Ghz and get out of the muck, right? Just lock it to a 5.8 channel space, n-only

High rejection 2.4 antennas would help a bunch too.

lnxfergy
09-07-2010, 02:06 PM
If everyone goes -n, then it could be constrained to 5.8Ghz and get out of the muck, right? Just lock it to a 5.8 channel space, n-only

High rejection 2.4 antennas would help a bunch too.

If you've got a lightweight, low power N-camera, we're all over it. I've been trying to find one -- with no success (I haven't looked around since about May, but at that point I couldn't find any less than a pound in weight).

-Fergs

RobotAtlas
09-07-2010, 02:55 PM
I don't believe he has built the bot yet.

I'm still at this stage:

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

My progress was going pretty well, and then I found about ROS. :)
On a bright side, look what we are talking about in this thread.
I'm not asking about how to get that nut out of AX-12 servo horn, am I?


That said, he's shown great enthusiasm and encouragement for all of us to more or less band together on ROS-ArbotiX based robots, a noble cause I believe.

I don't know about noble cause, but Hizook (who seems to know what he is talking about) just added this post: http://hizook.com/blog/2010/09/02/aldebaran-robotics-announces-nao-educational-partnership-program

Where, among other things, he said the following:


The biggest benefit of using a commercial robot like the Nao is the hardware platforms' stability; it vastly simplifies the task of getting an advanced robot to do cool things with fewer hardware headaches -- factors that contribute to students' enthusiasm and satisfaction when learning about robotics. I have made this same statement regarding the Willow Garage PR2 robot (http://www.hizook.com/blog/2010/05/31/willow-garages-week-long-pr2-robot-training-workshop) -- stable commercial platforms transform many robotics challenges from hardware problems to software issues, where development cycles are measured in minutes rather than days.

So apparently I'm not the only one who believes in the value of a stable hardware platform.


I've been gone for awhile. Can you link me to the thread with your current walking via remote ax-12-based hexapod that has a fitPC and an arbotiX on it?

Here you go, just like this one: http://forums.trossenrobotics.com/showthread.php?t=4205&highlight=issy3&page=3
Please don't blame me for not wanting to reinvent the wheel.

DresnerRobotics
09-07-2010, 03:13 PM
I don't know about noble cause, but Hizook (who seems to know what he is talking about) just added this post: http://hizook.com/blog/2010/09/02/aldebaran-robotics-announces-nao-educational-partnership-program

Where, among other things, he said the following:

So apparently I'm not the only one who believes in the value of a stable hardware platform.



I still have my doubts on the Nao platform being widely accepted as a standard humanoid platform. It's mostly the actual real-world performance (as opposed to the promo videos we see) and the servos using plastic gearing that puts me off. Also, not to take away from what Hizook said, but based upon the nice shiny ad he has on the upper right of his side and the reference tag on the end of the link, looks like he has a bit of a sponsorship from them of some sort (and good for him!).

I just have a hard time swallowing a nearly 18k pricetag on it, given that a bot on par with Giger 4.0 could be built for around 15k retail and be immensely more powerful in every way but the default software that ships with them.

RobotAtlas
09-07-2010, 03:46 PM
based upon the nice shiny ad he has on the upper right of his side and the reference tag on the end of the link, looks like he has a bit of a sponsorship from them of some sort (and good for him!).

Yes, he disclaims it right there:

In the spirit of full disclosure, we would like to acknowledge that Hizook was compensated (in part) for penning this article. We maintain the highest possible standards and only recommend products and initiatives to you that we (ourselves) would personally buy or recommend to close friends. We believe the Aldebaran Nao is a quality product, and have numerous friends and colleagues who attest likewise.


I just have a hard time swallowing a nearly 18k pricetag on it, given that a bot on par with Giger 4.0 could be built for around 15k retail and be immensely more powerful in every way but the default software that ships with them.
You are forgetting about the profit, Tiberius. They had to pay all those engineers salaries. Plus all the social benefits in France, you know. :)
I thought it was $25k just recently for Nao, so the proice is already going down.

DresnerRobotics
09-07-2010, 04:10 PM
Point being is that, including engineering costs, I could sell Giger 4.0 for around 15k and make a decent profit on it. Ultimately, I just think the Nao a bit too expensive for what it is, given what could be built using EX-106+ instead of their custom plastic-geared servos.

lnxfergy
09-07-2010, 07:29 PM
.... and be immensely more powerful in every way but the default software that ships with them.

It's the default software that makes them appealing to most. If you have a mandate to build a team of walking robots in <1 year, or to crank out a specific piece of research quickly, starting from that point is well worth the cost. It's a different mindset -- if it meets the mechanical requirements of what needs to be done (which clearly, it does for some, or they would not have sold any), then getting a turnkey platform is worth the price tag.

(one could go so far as to point out that implementing a basic walking gait on a platform is not publishable -- but that implementing algorithm X on an existing, available platform is).

-Fergs

DresnerRobotics
09-07-2010, 09:17 PM
It's the default software that makes them appealing to most. If you have a mandate to build a team of walking robots in <1 year, or to crank out a specific piece of research quickly, starting from that point is well worth the cost. It's a different mindset -- if it meets the mechanical requirements of what needs to be done (which clearly, it does for some, or they would not have sold any), then getting a turnkey platform is worth the price tag.

(one could go so far as to point out that implementing a basic walking gait on a platform is not publishable -- but that implementing algorithm X on an existing, available platform is).

-Fergs

I don't argue that it's a definite bonus for a lot of facilities, I guess the question is- how important is hardware performance and how much is one willing to pay for not having to deal with ground-up software development. The issue is (if I recall correctly) the software is not open-sourced and is an additional cost on top of the robot itself. I know there is ROS support for it now, but I can't personally agree with the added cost of this robot justifying the software.

I'd wager most of the departments interested in these are computer science/AI related, is a comprehensive closed-source software solution more appealing than a superior hardware platform with the groundwork software (base walking gaits, I/O polling, everything but AI, etc) already taken care of?

lnxfergy
09-07-2010, 09:27 PM
I don't argue that it's a definite bonus for a lot of facilities, I guess the question is- how important is hardware performance and how much is one willing to pay for not having to deal with ground-up software development. The issue is (if I recall correctly) the software is not open-sourced and is an additional cost on top of the robot itself. I know there is ROS support for it now, but I can't personally agree with the added cost of this robot justifying the software.

I'd wager most of the departments interested in these are computer science/AI related, is a comprehensive closed-source software solution more appealing than a superior hardware platform with the groundwork software (base walking gaits, I/O polling, everything but AI, etc) already taken care of?

Yeah, but there is no *available* RX-64 based biped with a similarly comprehensive software suite, right? I haven't seen one.... Generally speaking, money granting organizations don't wait for platforms to just precipitate out of thin air...

-Fergs

DresnerRobotics
09-07-2010, 09:34 PM
Yeah, but there is no *available* RX-64 based biped with a similarly comprehensive software suite, right? I haven't seen one.... Generally speaking, money granting organizations don't wait for platforms to just precipitate out of thin air...

-Fergs

I think the Tribotix biped is the only one that comes to mind, or perhaps the Cycloid II/III or the URIA from Robotis (these are harder to get a hold of though). Agreed though, definite void in the market there ;)

darkback2
09-07-2010, 10:19 PM
You planning on filling the void tybes? If so I'll talk to the wife about taking out a second on the house...or selling the car...I could ride to work on Giger's back.

:)

RobotAtlas
09-10-2010, 02:19 PM
If everyone goes -n, then it could be constrained to 5.8Ghz and get out of the muck, right? Just lock it to a 5.8 channel space, n-only

High rejection 2.4 antennas would help a bunch too.

That's actually a great idea. I was looking at what type of network card Fit-PC2 has and on the serfice it looks like 802.11g according to their public spec:
http://www.fit-pc.com/web/fit-pc2/fit-pc2-specifications/

But according to this thread that card is actually 802.11n, but new drivers need to be installed:
http://www.fit-pc2.com/forum/viewtopic.php?f=43&t=1856&p=7131&hilit=+802.11n+#p7131

Even if that card doesn't really work, an external USB dongle could always be added. Does anybody have any experience in running Fit-PC2 with 802.11n?

Going throught Fit-PC2 rather than a camera has an added possibility of doing some image processing like cutting middle horisontal strip out of it and sending, say only 640x120 images over network. According to ros-users latest conversations we could see some improvements on ROS side as far as image pipeline goes.

RobotAtlas
09-10-2010, 02:31 PM
After a little more digging apparently some people are running Fit-PC2 with 802.11n:

http://www.fit-pc2.com/forum/viewtopic.php?f=44&t=1462&p=5226&hilit=+802.11n+#p5226
Re: Enabling wireless using command line
Are you saying you were not able to connect to your network using NetworkManager in the Gnome GUI? This works fine for me - I'm even getting a 150Mbps connection on my 802.11n network.


http://www.fit-pc2.com/forum/viewtopic.php?f=7&t=1494&hilit=+802.11n+
Re: 802.11n
There is 802.11n now in fit-PC2, but with one antenna it is limited to a single data stream.
_________________
Irad Stavi
fit-PC2 forum admin

Adrenalynn
09-10-2010, 03:57 PM
In theory, if everyone played nice, ran identical [properly interpreted] network adapters feeding a carefully chosen access point(s), and followed an exact band-plan - there would be ~7gigabits, 20+ channels, available. With OFDM to answer any interference, and MIMO to deal with multipath. All in the 5.4-5.7Ghz spectrum, of course.

SK.
09-11-2010, 08:36 AM
I think the Tribotix biped is the only one that comes to mind, or perhaps the Cycloid II/III or the URIA from Robotis (these are harder to get a hold of though). Agreed though, definite void in the market there ;)
That´s very true. It´s gonna be interesting if Darwin-LC (http://www.plasticpals.com/?p=23449) can provide some void filling here. Looks like a very nice platform to me.

RobotAtlas
09-11-2010, 04:40 PM
In theory, if everyone played nice, ran identical [properly interpreted] network adapters feeding a carefully chosen access point(s), and followed an exact band-plan - there would be ~7gigabits, 20+ channels, available. With OFDM to answer any interference, and MIMO to deal with multipath. All in the 5.4-5.7Ghz spectrum, of course.

Talking about bandwidth, here's what I found here:
http://pub1.willowgarage.com/~keenan/PR2grantMaterials/PR2SoleSourceText-doc-odt.zip



High performance network: The PR2 sensors and servers run off of an Ethernet switch with a 32Gb/sec backplane, which gives both of the on-board servers lots of bandwidth to communicate to the many sensors on the robot.


That's a lot of bandwidth. That zip file has prices of all the parts of PR2 in that paper, BTW.


Total cost: $444,180
PR2 list price: $400,000

Adrenalynn
09-11-2010, 09:57 PM
I've got a couple HPs under the desk here that have 32gbit/sec fabric. But DLink makes some inexpensive managed stackable 32gbit/sec switches now that aren't have bad.

lnxfergy
09-11-2010, 11:12 PM
That zip file has prices of all the parts of PR2 in that paper, BTW.

Not quite -- that has the prices of *other* existing parts that might be comparable to what is on the PR2.

-Fergs

RobotAtlas
09-15-2010, 08:06 PM
Going back to VSLAM (for those of us who can't afford laser rangefinder. Issy3 was supposed to have stereo vision too, wasn't it?), Willow Garage posted today more info on it:

http://www.ros.org/presentations/2010-08-Helen-VSLAM.pdf
and

http://www.youtube.com/watch?v=TR8BMZj-Udc

The result are pretty impressive. Yes, they are not as good as laser scans, but it's better than nothing.
They were done on PR2 with its research-quality stereo cameras (they are 5MP, BTW), so I'm looking forward to see which results can be obtained with a pair of those Microsoft webcams.

I think localization and mapping will allow to do a lot more with a mobile robot.

lnxfergy
09-15-2010, 11:05 PM
Going back to VSLAM (for those of us who can't afford laser rangefinder. Issy3 was supposed to have stereo vision too, wasn't it?)

Issy does have a stereo camera pair -- but I haven't experimented much with how the block matching holds up while walking.... My intent was only to avoid obstacles using the stereo, not so much on SLAM.


They were done on PR2 with its research-quality stereo cameras (they are 5MP, BTW), so I'm looking forward to see which results can be obtained with a pair of those Microsoft webcams.

The high resolution camera is 5MP, but the stereo cams are quite a bit less -- I believe just VGA (I don't think the spec on the stereo cams, which are custom, has been quoted anywhere, but the Videre STOC cams that they used earlier were VGA). The big difference between those high quality stereo cameras and a webcam is really the synchronization, not the pixel count.

-Fergs

RobotAtlas
09-16-2010, 12:12 AM
the Videre STOC cams that they used earlier were VGA). The big difference between those high quality stereo cameras and a webcam is really the synchronization, not the pixel count.

Synchronization is a big thing. PP2 uses this custom system that allows all sensors to have the same timestamps. I think this is what helps them with non-real-time system (well, limited real-time). That's another area of concern/difference with our robots.

SK.
09-16-2010, 02:07 AM
Synchronization is a big thing. PP2 uses this custom system that allows all sensors to have the same timestamps. I think this is what helps them with non-real-time system (well, limited real-time). That's another area of concern/difference with our robots.
A lot of industrial cameras have soft- or hardware triggers, so the shutter can be actuated from outside source. It's really common, as you often have to take images at precisely determined times in automation applications.
Unfortunately, consumer webcams generally lack this feature due to 99.9(999)% of consumers not needing it.
The other big synchronization topic besides time synchronization is of course (lasting) calibration of intrinsic camera parameters.

lnxfergy
09-16-2010, 08:55 AM
A lot of industrial cameras have soft- or hardware triggers, so the shutter can be actuated from outside source. It's really common, as you often have to take images at precisely determined times in automation applications.
Unfortunately, consumer webcams generally lack this feature due to 99.9(999)% of consumers not needing it.
The other big synchronization topic besides time synchronization is of course (lasting) calibration of intrinsic camera parameters.

There really isn't much we can do about the synchronization aspect for webcams. However, calibration of camera parameters isn't too much of an issue because the ROS/OpenCV camera calibration routines work quite well on webcams (I've had no problem in calibrating with the Logitech 9000, c600, c250, and the MS lifecams).

-Fergs

RobotAtlas
09-16-2010, 11:21 AM
Since our robots are much lighter and move faster, I would think it would be more important to take both shots at the same time. If I remember correctly, those MS lefecams do have a hardware button that would be easy enough to rewire through a simple relay that will trigger both of them at the same time. But it could be an overkill. Software might be enough.

Mike, did you use ROS stereo calibration tutorials to do the calibration?

lnxfergy
09-16-2010, 12:08 PM
Mike, did you use ROS stereo calibration tutorials to do the calibration?

Yes, but I had to hack the crap out of it to ignore the difference in timestamps (and apply an approximate match), I then found it quite difficult to apply the same hacks to stereo_proc, and decided to back up and fix the problem lower in the pipeline.

I've created a version of the usb_cam driver that captures 2 cameras, and publishes them to their separate topics but with the same timestamps. Checking my SVN server, it appears I haven't checked that package in yet (it's only been lightly tested).

-Fergs

SK.
09-16-2010, 12:35 PM
There really isn't much we can do about the synchronization aspect for webcams. However, calibration of camera parameters isn't too much of an issue because the ROS/OpenCV camera calibration routines work quite well on webcams (I've had no problem in calibrating with the Logitech 9000, c600, c250, and the MS lifecams).

-Fergs
Of course, I meant the epipolar geometry between both cameras and accidentaly subsumed it in the intrinsic parameters (which is wrong). Depending on the setup and the precision one wants to achieve getting the epipolar calibration right can be hard, as the cameras transformation between cameras has to stay the same, no matter the vibration, movement etc.

SK.
09-16-2010, 12:38 PM
Yes, but I had to hack the crap out of it to ignore the difference in timestamps (and apply an approximate match), I then found it quite difficult to apply the same hacks to stereo_proc, and decided to back up and fix the problem lower in the pipeline.

I've created a version of the usb_cam driver that captures 2 cameras, and publishes them to their separate topics but with the same timestamps. Checking my SVN server, it appears I haven't checked that package in yet (it's only been lightly tested).

-Fergs
Interesting, do you have some ballpark figures how much CPU gets eaten at what resolution and about the quality of the data that comes out at the end?

lnxfergy
09-16-2010, 01:10 PM
Interesting, do you have some ballpark figures how much CPU gets eaten at what resolution and about the quality of the data that comes out at the end?

I don't yet -- but I'm hoping to be back working on this early next week.

-Fergs

RobotAtlas
09-20-2010, 06:54 PM
I've created a version of the usb_cam driver that captures 2 cameras, and publishes them to their separate topics but with the same timestamps. Checking my SVN server, it appears I haven't checked that package in yet (it's only been lightly tested).

Is it doing it the same way uvc_stereo does?
http://www.ros.org/wiki/uvc_stereo


Stream images from two USB cameras (UVC), assigning equal timestamps to corresponding frames and providing CameraInfo messages to consumers

RobotAtlas
10-27-2010, 11:01 PM
With upcoming release of Interbotix walker kits, I thought it's time to update this thread.

So far it looks like we have about 4 people working on moving this project along.
The progress so far was documented in these threads:
http://forums.trossenrobotics.com/showthread.php?t=4304
http://forums.trossenrobotics.com/showthread.php?t=4410
http://forums.trossenrobotics.com/showthread.php?t=4419

Majority of the work was done by Fergs (he is 18+ month ahead of the rest of us in using ROS).

While the learning curve of ROS is pretty steep, the advantages it gives far outweigh initial investment in learning it. ROS allows reuse of many man-years of research and thus allows to stand on the shoulders of a giant.

I know there are more than 4 people interested in smart robots*.
Yet we have not seen many people participating in ArbotiX/ROS discussions.

The question I have: Why is it?

Please let us know what stops you from joining ROS revolution. And how can we help you take that leap.


* smart robots here are defined as robots with a brain that's capable of running ROS. The brain could be either on-robot or off-robot or both.

RobotAtlas
11-02-2010, 11:08 PM
I just received today a new off-robot Intel i7-950 "brain" for my future ROS-based robot:

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

I knew robotics algorithms are computationally intensive. I just didn't realize how much.
With this csnail should become cturle again. :)

RobotAtlas
11-05-2010, 10:34 AM
ROS uses primarily two languages: C++ and Python. Other languages are supported too.
I thought I could use Python refresher, so I found this class on Python from Google company.
The instructor is pretty good. Definitely not boring.
Here's the first part. There are 6 parts altogether.

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

The best way to go about this class is to watch one video, then do excercise(s) for it.
Here's the link to excercises: http://code.google.com/edu/languages/google-python-class/

RoboTy
11-17-2010, 10:55 PM
I know there are more than 4 people interested in smart robots*.
Yet we have not seen many people participating in ArbotiX/ROS discussions.

The question I have: Why is it?

Please let us know what stops you from joining ROS revolution. And how can we help you take that leap.

I'd love to start participating. I've been slowly learning ROS for the past year or so and just recently found the time to start working on my robot. One question I had was why the ArbotiX?

My main goal is just to learn. I have a mechanical engineering degree with a minor in applied mathematics, so hopefully I can at least contribute on the mechanical side. I'm pretty capable with CAD tools and CAE. However, I know very little about programming and Electronics.

I'll be building a custom platform to work with. See my post in the I/O forum for some hardware questions I have.

RobotAtlas
11-18-2010, 12:19 AM
One question I had was why the ArbotiX?

I feel like if I make one more positive post about ArbotiX, it will start sounding like I'm getting commissions from each sold unit (I'm not getting anything). So either somebody else needs to answer your question or I can suggest searching this forum for ArbotiX.

RoboTy
11-18-2010, 07:12 AM
I can search the forums. I thought there might be something specific with ROS and ArbotiX.

lnxfergy
11-18-2010, 08:27 AM
The original intent of this thread was to build ROS-powered walkers. As the ArbotiX already has the NUKE IK-engine, it's really easy to generate the walking aspect. There is also an ArbotiX ROS driver, which allows access to all of the IO and control of a mobile base. With the newly released (and other upcoming robots) from Interbotix, you can now buy a walker with ArbotiX included, slap a FitPC2 on top, and have an ROS bot in a weekend (well, shortly anyways, I've fallen a bit behind on the walker-ROS stuff, as I've been focusing on a different robot of mine).

-Fergs

DISCLAIMER: I do make a tiny bit of money on each ArbotiX sold, as I'm the guy who created it.

RobotAtlas
12-28-2010, 03:05 PM
With the newly released (and other upcoming robots) from Interbotix, you can now buy a walker with ArbotiX included, slap a FitPC2 on top, and have an ROS bot in a weekend (well, shortly anyways, I've fallen a bit behind on the walker-ROS stuff, as I've been focusing on a different robot of mine)

Here's a real-life example of what Fergs said. It look a few hours to get it to this point.
(Kinect on top is not connected. It's there to see if weight and size is suitable for this configuration:

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

sarendt
02-12-2011, 04:23 AM
The question I have: Why is it?

Please let us know what stops you from joining ROS revolution. And how can we help you take that leap.RobotNV - I am interested in all of the above, but at the moment I am still working on some fairly basic aspects of everything.
My "big picture" interest is in autonomy, but before I can get there I need to have a base platform and the skills to go along with it. That being said I think Mech-warfare is going to be the driving force to get me to really do this stuff. I have been interested in robotics for years and Mech-warfare really pushed me to start buying stuff and trying to put it all together :*)

To answer your questions more specifically: ROS was intimidating to me because I would need to:

1. install and learn some basic linux/ubuntu stuff
2. install and learn ROS and
3. learn to program in C++ or Python

That's a bunch of hurdles to jump through before I could be a useful member of the group. After reading a few posts about the benefits of ROS out weighing the initial cost to learn I am exploring it more now. Maybe some discussion on the process of setting up Ubuntu/ROS for the first time would be helpful? Nothing in depth, but just some links that have good information and some folks history with getting it to work?

Cheers,
Scott

RobotAtlas
02-12-2011, 11:27 AM
Thank you Scott for your reply.

ROS can definitely look intimidating. Willow Garage recognizes it and thus created many excellent tutorials in both Python and C++. Those tutorial are not hard to follow if you know the basics of one of those languages.

IMHO, there is no way around having to learn a programming language if you want to program a robot.

Python definitely is a lot simpler to learn than C++ and I've heard recently from one of WG people that some use Python with ROS exclusively.

Recognition that it could be hard to know where to start when using ROS is probably what prompted Lnxfergy to create this page recently:
http://forums.trossenrobotics.com/showthread.php?t=4615

It also looks like many people don't realize what type of skill and effort is needed to build a robot until they actually start making one. That was certainly the case with me. :)

One thing to remember is to keep at it.

lnxfergy
02-12-2011, 01:48 PM
Here's my take -- as a CS person with a background in EE, who has been using ROS for just under a year and building robots for about 10. I've also recently been teaching an upper-level undergraduate and graduate-level course in robotics which is using ROS:

Learning ROS
Having a solid CS background will help, but really, the basics of ROS are pretty basic. Once you realize that most of the ROS core (and thus the beginner tutorials) are just about finding a way for interprocess communication (IPC) between multiple programs (or nodes), you'll realize that ROS itself is very basic and small. Once you've mastered the idea of how nodes communicate, writing new robot code is no different than writing a program to a specific interface -- you write your code however you want and shove an ROS wrapper around it for communications with the rest of your system

The majority of time is then spent looking at what interesting packages are existent for making your robot do something -- and what interfaces (i.e. message types) they use. For instance, one should probably learn that mobile bases can often be controlled by a message type of geometry_msgs/Twist over a topic called "cmd_vel" (this is probably the most "standard" message out there). That resource page can point people towards packages of interest to many hobbyists -- in particular, it points you to drivers for specific pieces of hardware (and these drivers all accept movement commands over a topic called "cmd_vel").

ROS shouldn't be a barrier -- it really is an amazing tool that speeds up your development. In particular, it allows you to break problems down into smaller subproblems, which means easier testing/integration and earlier results.

Learning a new programming language
Python is about the easiest language to learn, ever. That said, learning new languages can be daunting to those who do not have a solid CS background. For all those CS students out there -- don't sleep through your "theory of programming languages" classes, they really do make your knowledge more portable so that you can learn a new language in several days or a couple weeks. I picked up about 90% of what I needed for Python over about a two span a few years ago when I had to be a TA for a Python-based course -- you just can't do that unless you understand programming languages at the conceptual level -- and realize that all you are doing is learning new syntactical ways of writing code down.

Python vs. C++
I could probably write a book on this, but: use whatever you are familiar with. Python will always have a faster development cycle, but C++ code will often run faster. I tell my students to do everything they can in Python, and then use C++ when needed (which basically amounts to vision, point clouds, and some motion planning tasks). Some people have gone further and suggested to always use Python -- the Georgia Tech Healthcare Robotics Lab says the following on their wiki: "Prototype in Python. If necessary, profile and write targeted C++ code." (ref: http://www.hsi.gatech.edu/hrl-wiki/index.php/Pithy_Advice_for_Lab_Members) -- this is fine of course, if you have lots of spare processing power (ala PR2).

-Fergs

sarendt
02-13-2011, 01:25 AM
Thanks guys! I'm glad to have your thoughts and feed back.

My back ground is in EE and controls - as close to a robotics degree as I had time to get. Of course I have a few CS courses, basic stuff though, it would be nice if there was a class out there that was geared towards folks who want to move from basic to intermediate coding at the university level. At my university it was lacking, or I just didn't find it possibly.


you just can't do that unless you understand programming languages at the conceptual level -- and realize that all you are doing is learning new syntactical ways of writing code down.I think I understand this, I tend to pick up new languages fairly well, of course its hard to tell if you 'really' get it or not... My problem is that I have always been at a basic understanding of code at the higher levels, C++ for example, so the higher level stuff has been confusing in all languages. Bits and registers I understand! Stacks and objects are a bit confusing, threads and 'nodes' really start to lose me!

The other aspect that has always been daunting is just the ... idiosyncrasies of running a new program on a PC. When I first learned to program, it was on a 386 box I believe (early 90's), I opened up Basic and typed some code, compiled it and ran it. Now I have to ensure I have the code in the write window, the libraries in the right files, and other issues that don't really involve understanding the code but understanding the 'layout' of the language maybe? Not sure how to describe that any better.

Now that I have all my problems out there, I will say that I have been making great progress over the last few months! I have some servo's and have been programing them with the arduino to twitch a bit. I have been reading some books, Theory of Applied Robotics, by Jazar and Reinforcement Learning by Sutton. I am working on learning Solid works so that I can draft my robot up a bit and possibly create some parts for it. I am hoping to model the electrical characteristics of the AX-12's a bit more in detail to allow for better modeling of everyone's robots.

Now I am adding ROS and more programing to the list (Though I always knew I would be learning a lot more about coding ! Can't escape that with robotics's unless you have someone else doing it for you!) Now if I could just figure out what to do with the wife and pesky kids :*) Oh wait!! Just train them to do the coding for me! hehe

*** EDIT Oh, and forgot to mention I need to figure out how to dual boot my laptop and get Ubantu working in order to play with ROS, I think? (I am quite Linux ignorant :*)

mbahr
02-13-2011, 03:43 PM
I believe I am in the same boat as Scott.... Interested in contributing but way off the pace of "the four" that have been.

I am middle aged and my day job is as an architect for a medium sized midwestern firm. So, nothing I do for work relates even remotely to this, which is just an interest / hobby.

However, I have been programming since the mid-70's, first on time share (mumps and basic) and than basic running on an Altair my father built in 1977, and than onto a variety of things since that time. I have played in many languages, but never become proficient in any.

The jump into Ubuntu / Ros is more than intimidating. It's downright frightening. Not that there aren't people who are willing to help... there are. But it sometimes takes awhile to find the right resource and trboule shoot things.

For instance, I spent about an hour figuring out what "sudo aptitude install rovio" is supposed to do. It took me a little while to understand that sudo is a helper command and why it was required, and than that the command (program) aptitude is not within a straight install of Ubuntu and I had t find it and install it, etc. I still get an error when I issue the command, but I've solved part of the problem through a lot of web searches.

Another example: It took me several days to figure out an error that was being thrown during installaton of Ubuntu 10.10... it was caused because the install routine was ejecting the install CD concurrent with the reboot prompt, but it still needed to read something from the disk. The solution was to simply push the disk back in so it could read the final few lines of whatever it needed. But I did a lot of searching and thinking to figure that out. sheez!

It's this kind of stuff that takes a LOT of time to figure out for those of us that may be stumbing into this from Windows. And all of that time is spent before even getting around to understanding how ROS works.

So, I'm probably 18-24 months from being useful to helping out with anything. I look forward to that time arriving!

-Mike

RobotAtlas
02-13-2011, 04:49 PM
So, I'm probably 18-24 months from being useful to helping out with anything. I look forward to that time arriving!

-Mike

Wow, I admire your patience Mike. 18-24 months sounds way too long though.
I think you will find ROS useful much sooner.
I'll bet you will be able to use your Rovio with ROS in no time. :)


P.S. I use both Windows and Unix-like QNX during my day job and I can definitely see how Windows just "spoils" me with its GUI interfaces. But then it has its own set of problems.

Pi Robot
02-13-2011, 05:57 PM
If you go the Python route with ROS, I can recommend the tutorial at:

http://docs.python.org/tutorial/

I went through the whole thing over a couple of rainy afternoons and then just plunged into the ROS beginners tutorials. By the end of the tutorials, both ROS and Python made a lot more sense and seemed a lot less intimidating. Compared to most other languages I've had to learn, Python is almost as easy as writing pseudo code. And the same code can run on Linux, Windows and MacOS X (I actually tried it!).

--patrick

sarendt
02-13-2011, 11:58 PM
Thanks for all the encouragement guys! I have started down the path and will keep everyone posted on my status :*) First up Ubantu!

Cheers,
Scott