19 replies [Last post]
scott-ellis
Offline
Joined: 07/23/2009

How about 'Physical Computing Users Group' as opposed to 'Hardware Hacking Users Group'?

wbirthisel
Offline
Joined: 01/04/2010
New group

I think people will become confused (and hence won't find us) unless Hardware (which is the distinguishing interest after all) is in the name. How about "Hardware Projects Group"?

-bill

Todd
Offline
Joined: 10/14/2008
New Group Name - Topics?

I'm jumping in without having heard the earlier conversation -- but, a quick suggestion: Maybe start by listing some of the kinds of topics the group would cover, and then see what the common threads are, in terms of what users will be doing at the meetings. That might help in coming up with a name that people will understand. --Todd

wbirthisel
Offline
Joined: 01/04/2010
New group

The 5 cent summary of the earlier conversation is that most of the attendees at the meeting last night were more attracted to the hardware activities part of the topic than the linux part of the topic. We were concerned that subsequent meetings on topics like this might seem like an attempt to hijack the linux group away from linux.

-bill

scott-ellis
Offline
Joined: 07/23/2009
Last night attendees

I forgot to have folks sign the attendee list.

If you attended last night and would like to be involved in this new group, can you send me an email. This way I can also get a contact list going. scott at jumpnowtek dot com

richardbarnett
Offline
Joined: 06/21/2010
Names

Following from what Todd said, what is the purpose of the group? How about this as a suggestion:

1. To coordinate the development of group projects (presumably one at a time) involving potentially hardware, software and/or mechanical elements to perform some useful/important/fun functions.
2. A forum for sharing information about new and interesting techniques and technologies.
3. An opportunity for group members to learn from each other (I am guessing that we all have quite different skills and backgrounds - perfect for multidisciplinary projects).
4. To promote the activities of the group in order to attract new members. This will lead to more interesting projects that will attract more people etc...

To get out of the linear thinking about names that we all suffer from at times like this, I am going to suggest a few crazy ones :-).

Gizmo Factory
Real World Developers Group
Technology Implementers' Group (a bit dull)

Ok, I'll stick to my day job :-)

scott-ellis
Offline
Joined: 07/23/2009
Re: Names

That's a great mission statement!

Gizmo Factory looks to be taken http://www.thegizmofactory.com/ It might be confusing.

I like the idea though, make the name fun.

Software/Hardware/Robotics Users Group so our acronym could be SHRUG...hmm, no.

Speaking of projects, I just saw these
http://www.silabs.com/products/opticalsensors/infraredsensors/Pages/IrSliderEK.aspx

I think I'm going to try and make one of these, maybe with an Arduino.

richardbarnett
Offline
Joined: 06/21/2010
Project Idea

Following on from something we talked about last night, how abot the "follow me bot"? The idea is that this would be a small mobile platform that could track a target based on QR codes. As a demo, two people could walk around with targets and the bots could follow them around. The bots follow the correct person using the spefic QR code to identify them.

This would mean:

1. Finding a suitable mobile base. There are loads of these at different cost points. I've been using the Traxxas Stampede for Rocamo but that's more than is required for this. There's this one http://www.pololu.com/catalog/product/1060 but maybe that's a little small. Here's another http://www.lynxmotion.com/c-111-no-electronics-kit.aspx.

2. Getting the QR code to work. http://qrcode.sourceforge.jp/ has some downloads that might be useful.

3. Writing some code to use the QR code data to move the bot around appropriately.

4. We might want to include sonars or something to assist with collision detection but that doesn't matter for a demo.

5. Choosing a processor board to run the thing. We'd need to interface to a webcam or something as input to the tracking code so it needs to be something like an Overo or Beagle.

6. Choose an OS. Maybe Android would be good for this, especially if it has easy QR support but any Linux would be fine.

Could this be done in two months? Probably not in a robust way but a hack might be possible!

scott-ellis
Offline
Joined: 07/23/2009
Re: FollowMeBot

It even has a cool name. I vote yes for this.

scott-ellis
Offline
Joined: 07/23/2009
TI Developer Days Conference

Anyone interested in attending the TI Developer Days conference in Framingham, MA on the 14th? It's free, you just have to register. I'm driving and can carry three more easy, four cozy.

http://www.ti.com/ww/en/techdays/2010/index.shtml?DCMP=TechDay_2010&HQS=Other+OT+techdays

Last year there was also a small expo. The Beagleboards were well represented as expected, but the Gumstix guys were there too. Don't know about this year.

I was thinking the motor control track in the morning, since I know nothing about motors, and then probably the MSP430 sessions in the afternoon.

richardbarnett
Offline
Joined: 06/21/2010
FollowMeBot

So now we have a handle for this particular idea :-). One thing that hasn't come up is where the money would come from. I assume there are no specific funds for TechMaine Groups. Seems there is a simple solution though. The group as a whole develops the concepts and the software and then specific hardware examples can be funded by whoever wants to do that. And they don't have to be the same. The FollowMeBot could take a variety of forms for example.

In terms of moving forward (if that's what seems to be right), some initial steps seem to make sense and could be done in parallel, especially if something is to be produced quickly:

1. Decide on a software architecture (OS choice, basic structure etc).
2. Decide on the core hardware (CPU, interface to peripherals etc).
3. Evaluate the QR code software on a PC to check that it makes sense for this application.
4. Decide on specific short term goals for the project.

Once this is done, the implementation could proceed. Exactly how all this gets done isn't clear though.

scott-ellis
Offline
Joined: 07/23/2009
Re: FollowMeBot Specs

The funding idea sounds fair.

Maybe this was a given, but I'd prefer we use free software as much as possible even if it means a little more work. It will make sharing the results easier.

Here's a few quick thoughts.

Some high level software choices
1. Linux
2. OpenCV for image processing, possibly capture too, if we choose the right camera
3. ZXing for the QR stuff if we go that route (they have a C++ port)
4. Development in C/C++ for main algorithms, a scripting language like Perl/Python/Ruby for the CLI interface or maybe just C for that too. This is just a preference though. Java is okay for me, it's just such a pain to setup on non-x86 machines.

Those choices make the imaging recognition part of the project possible on a regular workstation with only the cost of the camera for those who want to participate. If we don't need a GUI, it would really simplify development. We can hack some development GUI stuff with OpenCV so we can see what's going on, but I don't think we'd need it for the final product.

It would be a shame not taking advantage of the OMAP3 knowledge we have and use something other then a beagleboard or gumstix for the main processor.

We might need a separate microcontroller for real-time hardware control. If we didn't use the OMAP3 low-level interfaces to talk directly to the hardware or microcontroller, but instead used USB/serial converter devices, then even that development work could be done on an x86 workstation.

Camera integration with an OMAP3 board might be trickier then if we used an x86-like Atom based board, but others have done it.

What kind of hardware devices do you think we'll need to control?

Who else is interested in this?

I think an in-person meeting would be useful.

richardbarnett
Offline
Joined: 06/21/2010
Specs etc

I forgot to mention the free software part - absolutely! And everything we do should be GPL or something similar. I hate paying money for software and basically don't.

I agree - we should use either Gumstix or Beagle (BB-xM). I think that the BB-xM would work out a bit cheaper and tihas 4 USB ports on board but they are in short supply at the moment so, although I have a couple, it might not be easy to get more. Either way works.

I am using a webcam on the BB-xM right now using my own code based on a Logitech example. While it can take a Leopard camera module (http://code.google.com/p/leopardboard/) that limits things to the BB-xM. A $20 webcam would work on anything running a decent Linux. OpenCV may not be the way to go IMHO as it works not too well on the Omap (apparently). However, that evaluation could be part of the project.

Regarding the low level stuff, I was thinking that the Arduino would make a lot of sense! You can run non-trivial code on it and it has the interfaces to control stuff. Hey, we could put a BlinkM on it for fun :-).

For basic platform control, just a few channels of servo PWM might be enough - motor/steering (or motor/motor if skid-steer) and then if the webcam wants to go on a simple pan/tilt platform that would require another couple of channels. As we determined at the meeting, it should be possible to write the code on the Arduino so that we can do this in software. If not, there are some very cheap servo controllers out there. I use the Pololu Micro Mastro 6 (http://www.pololu.com/catalog/product/1350) which looks like a virtual comm port and should work with Omap (I will try it out today if I get time - I need it to work like that anyway for my stuff).

If we want sonar for anti-collision then that's I2C typically. Again, the Arduino looks like a good choice. The other issue is power. Typically you'd use a 7.2V or 8.4V battery pack which would need a regulator to get a decent 5V for the BB-xM (not sure what the Gumstix needs). So we might need a little board that has that and maybe also mounts the Arduino and servo controller (if used) neatly. This could be a hacked proto board initially.

You found a C++ QR code port - excellent! I'll take a look.

I did notice that we seem to be talking to each other :-).

wbirthisel
Offline
Joined: 01/04/2010
Conversation

> I did notice that we seem to be talking to each other :-).

But some of the rest of us are listening. And there may be places we can help even if we are not in the middle of everything (e.g. we had talked about "packaging" the Arduino I2C code for perl and python to share with the community).

I might be in the middle - but my fall schedule is too ambiguous to make additional commitments at this time.

-bill

richardbarnett
Offline
Joined: 06/21/2010
Interest?

At the risk of putting words in Scott's mouth ( :-) ) I think that he's trying to judge if there are enough people interested in contributing to make this whole concept a go - is that right? Right now it seems that Scott and I are in a position to do stuff before the end of the year but if that's it then that probably isn't what you might call critical mass.

scott-ellis
Offline
Joined: 07/23/2009
Parts

I ordered my first Beagleboard-XM. I was bound to buy one soon anyway what with all the buzz and all. May as well get in the queue. 01Oct2010 estimated ship date from Digi-Key. Not too bad.

Any particular Logitech camera?

richardbarnett
Offline
Joined: 06/21/2010
Re: Parts

Good idea. I have to say that mine is running Linux and my Syntro software very nicely. It's been running the webcam code and the rest of the Syntro system all night without a glitch.

Seems that any Logitech will work - they tend to be UVC cameras these days. I have used C200s and C250s along with older Pro 4000s on Linux. Logitech seem to make an effort to be Linux-compatible which is why I stick with their cameras.

The BB-xM will need a 5V PSU. Although you can power it from the USB this causes a few problems. Apart from that it should just work!

richardbarnett
Offline
Joined: 06/21/2010
Programming languages

I forgot to comment on the programming languages part of Scott's earlier post. My preference would be to stick to C and C++. These are the most universal languages and so the same code could (in principle) run on anything from the smallest microcontroller to the most powerful PC. Of course, not everything supports C++ in a convenient way so perhaps it makes sense to standardise on C for code that might run on small processors and then either C or C++ for anything that only runs on CPUs that are Omap class or better.

richardbarnett
Offline
Joined: 06/21/2010
More name ideas

Cool Stuff Developers' Group
RealWare Developers' Group

To keep the spirit of Scott's original idea, how about something as direct as "Robot Hackers' Group" (which I am sure he has already suggested actually). This kind of assumes a robotic focus but does imply it being an active participation thing. The nice thing about robotics is that there is widespread interest in doing things in this direction but most people have no focus. A group like this could provide a focus and the motivation to do stuff.

Incidentally, I came across this web site - http://robotics.meetup.com/. I notice there's a group in Vermont but not even a single registered interest in Maine :-(.

I just thought of something really silly - "maine()".

dostergaard
Offline
Joined: 12/18/2008
"Maker" Group

The 5 cent summary of the earlier conversation is that most of the attendees at the meeting last night were more attracted to the hardware activities part of the topic...

It seemed to me that this was a pretty good indicator of the potential for a "Maker" group. I.e., those interested in creating things out of hardware AND software, or maybe even just out of hardware.

I don't know how many were there. I couldn't come. I wanted to but I had to watch the kids as my Wife worked that night.

Here are a few observations based on my having been lurking in the forums.

  • For every active forum participant there are probably 3 or 4 lurkers (IOW don't use forum posts as an indicator of interest.)
  • For many who attended, the proposed "Follow Me" robot project might have been a little intimidating involving not only controlling servos and motors but adding video / image processing and probably more. (It was for me, anyway.)
  • There may be a perception that attendees might have to invest more than they can afford to get anything out of the group. Can someone who is curious, learn enough just by showing up and watching, listening, and asking questions?
  • Use your meetings to communicate with your audience. If you want to know what would keep them coming and participating, ask them. Use a portion of the meeting to solicit feedback and suggestions. Ask for volunteers to present their own projects, etc.

Just thought I'd throw this out here in case anyone is still interested.