Categories
Uncategorized

BarCampMilwaukee8

BarCampMilwaukee8

Yes, we will be doing another BarCamp in Milwaukee, and yes, it will be the first weekend in October, though we’re only doing one day this time, so join us Saturday, October 5th, 2013 at Bucketworks “Summer Camp”, located at 161 W Wisconsin Ave, 2nd Floor, right above TJ Maxx in the Grand Avenue Mall.

Show up around 9am, and we will wrap it up by 9pm. In-between it will be the usual user generated conference wherein we figure everything out the day of the event. Who will be speaking? What will they speak about? We don’t know… but we will figure it all out on the 5th. Think of it as an “idea swap meet” where you share your knowledge and thoughts, and others do the same. You will leave with new things in your head, and maybe even some new friends or partners in crime.

We’re going all retro by doing as little planning as possible, but if you would be so kind as to register at barcampmilwaukee.org we would love that.

Also, bring some lunch money. There is a food court. Hey, it’s not like were asking you to bring your own chair! (Yes, we did that before.) It’s not like were asking you to bring your own utensils! (Yes, we did that too.) Oh, we may be able to provide parking for cheap. Would you pay $5 to park all day for this free event? Let us know on Atrium, or elsewhere, somehow.

It’s all so… undefined. Exciting, isn’t it!?!?

Categories
Uncategorized

Miltalkee (The Talking Robot)

Miltalkee

Wow, somehow it’s been months since I first mentioned my entry in the Great Robot Showdown, and it’s been another (or a few more) since I promised a write-up on said robot… so here it is.

Proposal

For the Flying Car Milwaukee 2013 event there were a number of competitions held, one of which was the “Great Robot Showdown” which tasks people to “create an energetic, entertaining robot that actually does what it’s designed to do.” And noted that the robots would be “unleashed at the Flying Car Gala to delight and entertain the crowd.”

How could I resist? I had already shown things like the Friday Night Drawbot and the Arc-O-Matic at previous events in Milwaukee, so I figured I needed something new, something specifically for this event.

Miltalkee

I wrote up a proposal describing what I planned to build, included a quick sketch, and some links to previous projects, and mailed it in. About a week later Dana and I were putting a bid on a house, and I got a call. I checked my voicemail later and found out I was selected, which was awesome, but it also meant I had about 30 days to build the robot, move everything I own, and also take part in a gallery night I had committed to. Fun!

Miltalkee

It was time to get to work! My plan was to cut all the pieces of the robot from 3mm Baltic Birch plywood. That stuff is great to work with if you’ve got a laser cutter handy, and we happen to have one at Milwaukee Makerspace! There was a lot of cutting to do. Basically the robot consists of 8 “boxes” of various sizes to comprise the body, head, legs, feet, and arms. After cutting and assembling everything (with glue and strategically placed magnets) the pieces were painted with grey primer, and then with metallic silver paint. All sprayed in my home-built spray booth.

Miltalkee

I ended up spending the majority of my time doing the physical build, all the time thinking the programming would be the easy part. I was (mostly) right. Since I was using a Raspberry Pi I was in my comfort zone. A bit of sudo apt-get for the right packages, some Perl, a text file, and we had a talking robot. I ended up abandoning the idea of a screen or LCD display of any kind due to time constraints, but it’s an idea for the future.

Miltalkee

There is a hole in the center of Miltalkee’s chest where a speaker goes. It’s a powered speaker, using 3 AAA batteries, which works well in a semi-quiet room, but in a large room filled with people and music, it’s not exactly loud. (I should thank Dori Zori for turning down the music a bit!) If I ever want Miltalkee to be extra loud, I can always run the output to an external amp I guess.

One of the neat things about Miltalkee is the construction. The faceplate and chestplate are interchangeable, and if I get ambitious in the future, I can swap them out for new ones. This should make upgrading to a screen fairly easily.

There’s a bunch of technical stuff I’ve not included in this post, mainly because I’ve already rambled too much. In future posts I’ll talk about the Raspberry Pi, the code, and a few other construction secrets.

Miltalkee

Enjoy!

Categories
Uncategorized

Documented Projects

Projects

I like to think that there are 3 stages that a project can exist in:

  1. In-Progress
  2. Completed
  3. Abandoned

In-Progress might mean you are in the planning stages, or you’ve completed it, but are revisiting it, perhaps improving it. Some projects never move out of the In-Progress stage, and that’s fine, for multiple reasons.

Completed usually means “it’s done!” (but could mean it’s a project you don’t actively work on anymore.) Maybe there’s little things here and there, maintenance issues, if you will, but for the most part, it’s considered done. You might even just call a project Completed if you get frustrated and don’t want to take it any further.

Abandoned is an interesting one. You might think that some projects get abandoned before they even get started, but since I consider the planning part of a project In-Progress, I would suggest that every project exists as long as you are thinking about.

Thinking about a project is a good idea, but if you take it further, you might talk about it, and hey, you might even write about it.

In any stage of a project, you can document it. You can write about it, and take photos of it, and even shoot some video. (You may also publish this documentation, which is a good thing to do!) Documentation allows us to look back and learn about what we did. It allows others to look at what we did and learn from it, and maybe improve upon it, take it further, solve the problems we couldn’t. Even if you had an idea, started a project, and abandoned it, there is great value in documenting it. Others can learn… learn what went right, what went wrong, and maybe decide to try solving the problems you could not.

Documenting (and publishing) information about your project has another value: inspiration. You can inspire yourself (and others) when you look at what you’ve done.

So please, document your projects… the world needs more inspiration.

#share

Categories
Uncategorized

Remember the Frolics!

Remember back in July when the South Shore Frolics Parade make its return? Milwaukee Makerspace was there! And now… there’s proof!

Since I like attaching a GoPro camera to things, I stuck one on my car, which was in the parade, and shot a bunch of footage. So now you can relive the entire parade in just 60 seconds. Also, I left out the audio because I thought you would enjoy the silence.

You can also see this video on Vimeo if you’re so inclined.

FPV

Categories
Uncategorized

TLBot 4: CameraPi

CameraPi

If you wondered why I needed a Raspberry Pi case that could also hold a Raspberry Pi Camera… well, seriously, don’t you people know me by now!? :)

This ‘CameraPi’ is a prototype for Time Lapse Bot 4, and if you’re not familiar with my time lapse hardware experiments, check out the Time Lapse Bot project page for a good introduction.

My Time Lapse Bots have always relied on old computers, and while you can typically get old computers pretty cheap, they are also, well… old. They run old software, they often have hardware failures, non-working batteries, are heavy, and a lot of other things that are (sometimes) fine, but sometimes annoying.

Enter the Raspberry Pi, a small, inexpensive, low-power, modern Linux computer that can use an add-on camera module to create an all-in-one solution to time lapse captures. This is the kind of stuff I love playing with!

So here’s the story of making the CameraPi. I’ll avoid getting into code at this post and just talk about the process and some applications.

At raspberrypi.org I grabbed the NOOBS install, mainly because I wanted to test it out, and it worked well! I went with Rasbian. I think it had all the camera software baked in, but if not, it’s easy to add.

AppleTalk

Once up and running, I added Avahi to give the Raspberry Pi a nice network name (camerapi.local) and I also installed Netatalk to allow my Mac OS X machines to easily connect to it. Neither of these are required for the camera stuff, but I tend to drop these on most Linux machines I use.

As for the image capture, while the camera utilities have some time lapse capabilities, they did not work for me, which is fine, I created my own. (I should note that the Raspberry Pi is for educational use, so I try to follow that idea and, well, learn a lot while using it.)

I wrote a simple bash script to capture a new image every 60 seconds. You can set whatever interval you like, but I like 60 seconds. For one day that gives you 1440 images, if you’re keeping track at home. Depending on your image size and compression settings that could be over 1GB per day of still images. I’m currently using 1280×720 for my image size, as that works well when compiling video.

Photo

As long as we’re capturing images every minute, why not have a way to display them remotely via a web browser? Sure! I also installed Apache for that. There are lighter HTTP servers, but I like Apache. I wrote a simple CGI script to grab the latest image file and display it on a page… and there’s also a link to all the images for the day. Oh, and the page auto-refreshes so it keeps showing the latest image. (The images are named like so: 20130905140427 using the YYYYMMDDHHMMSS format.)

Files

OK, so we now have this running archive of photos. At some point (like, the second day) you’re going to have way more images in that folder than you want. Another shell script is the answer! Script #2 runs after midnight, grabs the date of the previous day, and moves all images matching that date to their own folder. (Oh, where do we store all these images? On a tiny USB thumb drive. It’s an 8GB drive. We figured filling that was better than filling the SD Card that contains the system.)

Files

Now we’ve got a folder named 20130905 with 1440 images in it. We should probably do something with it… Make a video! Once the files are moved we run a command with mencoder to compile all the JPG files (sorted by name, which is also sorted by date) into an AVI file. I don’t really care for AVI files though, so when that is done (and, it takes about 6 hours due to the high-quality encoding settings I use) we then use avconv (which used to be ffmpeg, sort of, oh, Linux!) to convert the AVI to an MP4 file. That does not take hours. This is all messy and could be done better.

Video

So after all that, we now have an MP4 file we can view in our browser, though it’s a silly MP4 that needs to completely load before it starts. Silly! There must be a better way.

Yes. There must be a better way. I’m sure there is. Here’s the thing. I really just started hacking. I didn’t know where I was going, so it’s all been guessing and trying things along the way. That’s the beauty of it. I’m not building this for a client. I’m not building a commercial product. I’m just playing and learning. I love it.

Oh, I forgot, I also set my capture script to launch at startup as a service. That means it also stops cleanly when you halt the system. Also, you can halt the system via another CGI just by loading a web page. Secure? Probably not. Ideally I’d like to be able to have the Pi create a WiFi network I can attach to from my phone and control. That would be nice. I’m sure it’s doable, I just need to dig in more. Dig. In. More.

Well that was fun! Thanks for reading this. If anyone really wants more info on the code, I could clean it up a bit (or not) and post it. As always, improvements are very welcome.

Update: Here’s an example video.