Showing posts with label Turtlebot. Show all posts
Showing posts with label Turtlebot. Show all posts

01 January 2013

13 Plans for a New Year

We're all making New Year's resolutions. I have a few personal ones of my own, but they have nothing to do with this blog. This being Yet Another Mechanical Engineering Blog, I will focus on my engi-nerd-hack-robot-ing goals for this year, or at least the coming IAP (January semester) and Spring semester. 



0. Tune Up Cruscooter

It's a dirty hot mess. Needs major rewiring. And a working brake. 

1. Build a semi-autonomous Quadrotor
WAY more details about this coming soon. This will be one of my first projects of IAP.


2. Build a Bi-copter/Tiltrotor. A la V22 Osprey. 

Something I've been wanting to do since I saw the attack choppers in James Cameron's Avatar. And something I tried to do last year when I knew nothing. Now I know a little something, and building a quadrotor will help give me an intuition for flying things. 

3. Win MASLAB.

It's a ballsy goal. But hey, I'm a freakin' engineering diva.

4. Finish MelonChopper

Cannot wait til I can drift this thing in the snow :p

5. Learn to weld steel.
So I can build Certified Legit vehicles. For cheap. 

6. DeltaBot.

I'm going to have the coolest thesis ever ^_^.

7. Write an Instructable on manipulator robotics.
I've learned a lot in the past few years, time to spread the love. But first...

8. Design and build a ~7-DOF robotic manipulator. A la KUKA arm.
I've been controlling these bad boys, now it's time to be a Mechanical engineer for once. 

9. Pay attention to TurtleBot.

Of my children, I've been giving a lot of attention to TinyArm and none to TurtleBot, and I don't think TurtleBot can handle neglect much longer :c. Time to turn that around. I owe Shane a SLAM map of the IDC before he goes off into the Real World (c). 

10. Get TurtleBot+TinyArm playing together.
I still hold myself to the dynamic duo, TurtleBot and TinyArm, getting me a soda. Maybe now that TinyArm has learned how to talk, and with the release of ROS Groovy Galapagos I'll finally make it happen. 

11. Learn ROS. Like really learn ROS.
Willow Garage released its sixth distribution of ROS today, Groovy Galapagos. It's cleaned up a lot, and is apparently easier than ever to use. It'll happen when I try and get TurtleBot+TinyArm to get me soda. 

12. Learn C++. Like really learn C++.
See above.

13. Get a summer internship.
I cannot spend another summer at MIT UROPing. I need to see the world. See what industry is like. I need experience. I need to make a difference. I'll probably apply in the next few days...

21 October 2012

Introducing TurtleBot: My First (legit) Mobile Robot!

A WILD TURTLEBOT APPEARS! 

0_0!


POKEBALL, GO!


You caught a wild TurtleBot! Would you like to give your TurtleBot a nickname?
....no. 

TurtleBot has been added to the list of things I should blog about!


The Willow Garage Turtlebot is an open-hardware, low-cost, mobile personal robot platform that runs on open-source software. It consists of an iRobot Create, Aluminum standoffs and lasercut platforms, a Microsoft Kinect, a circuit board containing a Kinect power regulator and a single-axis gyroscope sensor, and an onboard laptop to interface with everything and bus data to a separate offboard workstation using Willow Garage's open-source Robot Operation System software (universally known as ROS).

Check out this overview of the TurtleBot, which just skims the surface of its potential:


Thanks to the ROS community's strong efforts to make difficult low-level problems such as motor control, computer vision, navigation, mapping, etc easily implementable, DIY roboticists, hackers, and even university researchers can very quickly develop high-level solutions to high-level problems like getting you a beer. The software base thus allows you to stand on their shoulders to achieve your goals. 

The release of the Microsoft Kinect, and the reverse-engineering of its protocol, marked a giant leap forward for DIY/low cost robotics everywhere. Now, a lab could own five Kinect-enabled robots for the price of one with a LIDAR. Anyone could just purchase themselves a Kinect and develop amazing software utilizing its 3D sensing. The TurtleBot is the manifestation of this Kinect revolution, offering a standard and robust platform for professional-quality Kinect-powered mobile robotics.


The iRobot Create base contains the wheels, drivetrain, drive electronics, battery, a wide variety of bump/distance/cliff/encoder sensors, and a parallel port for I/O, in a well-engineered $200.00 package. Essentially, a Roomba sans vacuum cleaner. 


Mounted on this base with aluminum standoffs are four platforms made of lasercut MDF for mounting or storing various "required" and additional hardware such as an onboard laptop, a Microsoft Kinect, or an optional robotic arm or something else on top. 

Or this Turtlebot's nifty beer tote I found on Google Images.
Like most projects I am going to spend a good chunk of money on, I spent days whether or not I should buy the thing. Then irresponsibly and in a sleep deprived state, I bought the $219.00 iCreate+Advanced Battery+Quick Charger package. Soon enough...



...I had it in hand! 
The product is very well constructed, from a design standpoint. Plenty of sturdy injection-molded parts held together with reputable hardware: I don't feel afraid to rough the 'bot around. In fact, when I ran the basic "Explore (vacuum) This Room" demo, it would drive right over cables and other objects (rather quickly, I might add), or just shove them aside altogether. Its large front-mounted dual-bump sensors hit obstacles quite forcefully, but the robot kept on going. 

There are three command buttons at the top of the robot, each with its own indicator light. For mounting hardware, iRobot put four 6-32 tapped holes on the top surface, allowing one to easily attach standoffs or screw peripherals to the Create. Taking a further look I found a DIN port for Serial/USB control (with the included cable adapter), a charge port, and the Cargo Bay Connector, which allows you to access various internal Create I/Os and drivers, Battery power and ground to convert as you please, regulated 5V power for peripherals, and other paraphernalia. 


When you pick up the robot while it's running, it stops its drive actuators and lets out a cute little "Uh Oh!" sound (^_^ SOO CUTE!!!). This is handy for when your robot is about to do something stupid like harass other MITERS denizens or unexpectedly drive out of MITERS and start exploring the hallway -_-. The killswitch occurs likely due to switches that exist on the wheel mounts, which open when the robot is lifted off the ground. Here you can see the spring-mounted caster and drive wheels (which I have yet to determine the power characteristics of). Not shown is another smaller caster wheel mounted opposite the front, which enables the Create to take on a larger load. When you set the Create down, its weight is enough to depress all three wheels. 

It's useful to note here that the iCreate has built in cliff sensors, which can sense the lack of floor right in front of it if it drives toward, say, stairs. Or the end of a table, like I had it run. I left the robot driving on an empty table for a few minutes, without robot-injury. I'm sure my poor robot didn't appreciate being so isolated, though :c. 

I'm not building an army, I swear...
Now that I actually had a $219.00 robot to care for in hand, it was time to give it some standoffs and platforms. I could have ordered the parts online pre-built. For $300.00 dollars. Hell, I could have ordered the entire pre-assembled Turtlebot, complete with iCreate, Kinect, Asus Laptop, aluminum standoffs, lasercut MDF, and Power/sensor board for $1,499.00 if I were some top-notch robotics research lab at a leading university with infinite dollars. 



Needless to say, I opted for the DIY approach. BECAUSE WTF 300 DOLLARS FOR FREAKING ALUMINUM STANDOFFS AND LASERCUT WOOD?!?  I enjoy the prospect of manufacturing what I can out of inexpensive/free raw materials. Luckily, the TurtleBot platform is open-hardware, and you can get more engineering drawings, circuit diagrams, design notes and CAD models than you can shake a KUKA manipulator at. I determined the size of each standoff and how I could make an equivalent one for cheaper. I also exported .DXF files of the platforms for future lasercutter use. 

I ordered a 6-foot long aluminum rod for $2.00 off Amazon, with free 2-day shipping. I also found a ton of .25" MDF lying around that a lab was getting rid of. I loaded up the .DXFs and fired up the lasercutter at CSAIL machine shop where my friend worked and the incredibly nice shopkeeper let me work. I had used the shop before to waterjet parts for Cruscooter and make the block funnel for my team's 6.141 robot


Rawr Lazar!

And I had the platforms within minutes! Now it was time to put them together with standoffs.


14 standoffs in total. and each of them needed tapped holes on each side for mounting. I grabbed my trusty Mountain Dew and got to work drilling them out...

One hole down, 27 to go! :D
After drilling them out, I spent hours straight hand-tapping holes at MITERS, and watched Rent and Iron Man in the process. I kept telling myself: You want to be doing this and only spend $2 on hardware. You want to be doing this and only spend $2... In order to interface the standoffs with each other, I sawed the caps off my surplus of 6-32 screws and threaded everything together.

Voila!
Now all I had to do was get a Kinect and a Power/Sensor board and I had myself a full Turtlebot! The issue with the powersensorboard is the recommended sensor breakout board is retired on Sparkfun, and the only package available for the actual gyro sensor IC is one which is impossible to solder traditionally. As a result, I could not etch my own board to spec as I planned, and had to purchase the premade $70.00-ish board. Oh well, at least I didn't have to debug it and drive myself insane like I usually do with my etched boards. 

I also purchased a Kinect for $50.00 on eBay  bringing the project's total cost to roughly $342.00. Not bad, considering a TurtleBot without the laptop from Clearpath Robotics will run you FREAKING $1,049.00. An uneducated consumer is their best customer. Or a filthy rich one. 

After mounting the Kinect and powersensorboard...

I HAVE A COMPLETED TURTLEBOT! YAY! :D


Now, it's time to code. Which is a lot harder than it sounds because it involves installing ROS and getting it working on both the host laptop and the robot. 

But I'll save that for later.