Society of Robots - Robot Forum

General Misc => Misc => Topic started by: Fredrik Andersson on January 04, 2008, 06:41:26 AM

Title: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 04, 2008, 06:41:26 AM
How would you like to join some kind of community project? I don't know what it would be, only that it would have been very fun and exciting. It should be something big, impressive and advanced, but still something that could be broken down in smaller bits, so that everyone can help with theirs. Of course it should be something robotic, but then theres a huge problem with this beeing an internet community and everyone is on their own spot on the earth. It would be ok for me to send a small part to someone housing and managing the project itself.

Ok, so this is as far as i have been thinking about it. Now you do it!
Title: Re: A community project for the summer perhaps?
Post by: ed1380 on January 04, 2008, 06:52:37 AM
i've always wanted to do that, but closer to a teams based thing of 2 or so people
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 04, 2008, 10:22:29 AM
That would be awsome but it would cost like $50 to ship stuff half ways across the world. :-\
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 04, 2008, 10:46:43 AM
there's no reason why it could not be a communal design project.
everybody taking part has to design a module or component that is compatible with a predetermined set of standards.
it would still be up to the individual to build their own copy of any component they wanted to use.

before starting decide on a $ budget for each component.
next decide a set of standards that will enable the components to be used together.

if you are mechanically minded maybe you will design a robot chassis.
if you fancy an electronics project, design a servo controller or PC to Bot radio link.

there would be no reason more than one version of each component could not be designed, as long as they interact with the other components in the same way.
when you want to build a robot you could just pick and mix from all the modules everyone else has designed.


dunk.
Title: Re: A community project for the summer perhaps?
Post by: Rebelgium on January 04, 2008, 11:00:50 AM
We could enter a big international contest with our "SoRobot"!

Everyone that wants to can help design and plan, and a team of people who live close to eachother actually build it. Ofcourse people located elsewhere can do their bit and send the result there, if they want to pay for the shipping costs...

I don't think it's a good idea to have builders all across the globe, I mean come on, it's going to be big, but not impossible-to-builld-by-a-team-of-say-5-people - big.

And because we are a big group, it will be easier to find sponsors.
Plus it's good advertising for SoR, so Admin will (hopefully) help alot. (read: building team leader)
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 04, 2008, 02:55:36 PM
I want to be a part of this.

Have each person ( or group) be responsible for a part  or the robot ( locomotion , brains , object avoidance) and it should be made in a way that anyone can use it .  So each part would be a "black box" having three or something wires and each wire has a function. Easy interfaces


Also maybe we should choose a project? lol

Get a budget and then we'll talk!

Also people who live far away and do not want to pay for shipping can work on designing , programming , etc.!

Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 04, 2008, 03:08:26 PM
Wooo! Im so happy hearing positive responds.

Why not take advantage of the large distances. Maybe connect the robots to the internet and they'll communicate with each other that way. Making a real society of robots! :D Maybe we're really on to something here. We could construct some kind of protocol for adding information to a database connected to the internet, letting the robots store information, modify it and use it... The robots could be made in any way, with the restriction that it will handle the data in the same way, and beeing connected to internet.

This will be very convenient even for those with a low budget. Just add a wireless communication module to your robot and it's good to go.

Let the ideas flow!
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 04, 2008, 03:13:48 PM
an army of robots anyone???
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 04, 2008, 03:15:28 PM
an army of robots anyone???

Lol, I can feel it deep down in my bones that it starts here! The empire of robots! We will rule them all!
Title: Re: A community project for the summer perhaps?
Post by: ed1380 on January 04, 2008, 04:10:07 PM
oooo pick me pick me

i want to desing the weapons  ;D
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 04, 2008, 04:57:14 PM
LOL ;D  ;D
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 04, 2008, 05:02:28 PM
We could have everybody design the robot but only have people skilled in soldering actually put it together. (definently not me)
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 05, 2008, 05:02:37 AM
While thinking about an eventual community project i accidentally got an idea of a new kind of modular robot.

I give thee the magnetic-cube-thingie:
(http://xs123.xs.to/xs123/08016/magncube1.png) (http://xs.to)
(http://xs123.xs.to/xs123/08016/magncube2.png) (http://xs.to)

Think of it as an linear motor. I'm not sure if it will work though, but if it would work with this kind of behavior of it, the possibilities would be endless.

Also, a problem here is communication between the cubes. They can't really be connected through pins like in most modular robots and wireless would probably not be a good option either...
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 05, 2008, 09:46:51 AM
Very cool I actually thought of the same thing ;D. There also should be a plate for a signal wire for sensors. now we only need somebody with the time, patience, and tools. If everyvbody donates 1 dollar we would have plenty of $ for a project
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 05, 2008, 09:57:35 AM
About a signal wire plate: I don't think that will work very well because the cubes will slide and therefor probably get displaced and maybe short the circuit that way. Instead, the cubes could communicate through emitting IR lights placed in the sensor holes.

However, we should maybe focus on a project that we actually can succeed with and something that newbies could help with as well.
Title: Re: A community project for the summer perhaps?
Post by: hazzer123 on January 05, 2008, 12:05:49 PM
I agree.
The block idea, while cool, is much too difficult and expensive a project for the majority of this forums members.

I like the openservo (http://www.openservo.com/) project, it is very upgradable, and useful in many different branches of robotics.

We could do something like OpenStepper with stepping motors, or OpenSonar, or anything. These projects would extend the functionality of commonly used components in robots.

Hazzer
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 05, 2008, 12:43:23 PM
Quote
I like the openservo project, it is very upgradable, and useful in many different branches of robotics.

We could do something like OpenStepper with stepping motors, or OpenSonar, or anything. These projects would extend the functionality of commonly used components in robots.

i agree in principal but have a few reservations about following the OpenServo project's design philosophy.
while it is undoubtedly a very good project it requires the use of surface mount components and custom made PCBs.
while this would not be a problem for some of us, it would be nice for people using strip board to be able to design and build the modules as well.

custom PCBs and surface mount components should be optional rather than required i think.

i like the idea of using an i2c bus to connect modules like the OpenServo project though.
while it is a bit difficult for beginners to trouble shoot i2c i can't think of anything better.
it's available in the hardware on many different microcontrollers as well as several stand alone devices.


dunk.
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 05, 2008, 04:36:44 PM
did we decide on what the robot will do yet?  ;)
Title: Re: A community project for the summer perhaps?
Post by: Crooksie on January 06, 2008, 07:04:05 AM
Amazing idea!!

Count me in!
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 06, 2008, 08:11:50 AM
What about we make a morphing robot with cubes and 1 or 2 servos for each cube to twist and move the chain of blocks  up and down
Title: Re: A community project for the summer perhaps?
Post by: Rebelgium on January 06, 2008, 10:20:26 AM
I really think the robot should be made for a contest, that way there's a clear goal...

The block idea is pretty cool, but I don't think it's suitable for the community project. And having a seperate powersource for every block really isn't ideal. :-\
Also there is alot of friction causing a very big loss of power, so it'll have to be lubricated...all the time, because the oiled side of the blocks also touch the ground.
Title: Re: A community project for the summer perhaps?
Post by: HDL_CinC_Dragon on January 06, 2008, 12:20:20 PM
My idea is this: How about we make a fast action, rugged, practically unstoppable little vehicle type thing that can avoid objects outside over rough terrain and such? Have certain people designing the chassis for it and such and then other people working on different sensors and motors and have a team of programmers to work on the code? I like vehicles a lot for some reason lol :P


Or maybe just make a really awesome remote controlled vehicle :P
Title: Re: A community project for the summer perhaps?
Post by: ed1380 on January 06, 2008, 09:15:19 PM
IMO if you're controlling it, it aint a robot. now a RC hexapod is diferent

but i like the idea of a rugged vehicle
Title: Re: A community project for the summer perhaps?
Post by: cooldog on January 07, 2008, 06:41:58 AM
it sill could be a robot you could control the base but we could pt and arm on top and instead of controlling each joint program it so that the hole arm moves.
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 07, 2008, 08:23:26 AM
I see no reason why we couldn't have the whole robot autonomous.
Title: Re: A community project for the summer perhaps?
Post by: Asellith on January 07, 2008, 11:24:02 AM
I'm not sure if they are still doing the contest but I think we could look into the space elevator contest. The contest is to build a self propelled robot that climbs a tether at speed. They finished the first stage or 2. They just keep raising the tether length and speed requirements. Not sure on the rules but I think it needs to be solar powered. So people have been using mirrors to direct more light onto the panels on the bot. My first thought was why is the 6 students moving these mirrors by hand? Build a tracking system and follow the robot up the tether with servos and many small mirrors would be a great project and we could have everyone build a mirror/servo unit based on a design and have a bunch of people work on code and the robot. Would be a fun project. And its known enough that sponsors would be easier to get.

Jonathan Bowen
Title: Re: A community project for the summer perhaps?
Post by: ericthered on January 07, 2008, 02:39:01 PM
I would like to do something more funny and than useful like making a small ed209 or grounder if it is even possible. modular sounds a little too hard and project servo still doesn't give me an idea.
Title: Re: A community project for the summer perhaps?
Post by: cooldog on January 07, 2008, 04:51:46 PM
While thinking about an eventual community project i accidentally got an idea of a new kind of modular robot.

I give thee the magnetic-cube-thingie:
(http://xs123.xs.to/xs123/08016/magncube1.png) (http://xs.to)
(http://xs123.xs.to/xs123/08016/magncube2.png) (http://xs.to)

Think of it as an linear motor. I'm not sure if it will work though, but if it would work with this kind of behavior of it, the possibilities would be endless.

Also, a problem here is communication between the cubes. They can't really be connected through pins like in most modular robots and wireless would probably not be a good option either...


is this what you are thinking of
[youtube]VyzVtTiax80[/youtube]
Title: Re: A community project for the summer perhaps?
Post by: ed1380 on January 07, 2008, 05:37:46 PM
I would like to do something more funny and than useful like making a small ed209 or grounder if it is even possible. modular sounds a little too hard and project servo still doesn't give me an idea.
haha that'd be great, but who wants a small one? I'd love to make one with airsoft  :o
Title: Re: A community project for the summer perhaps?
Post by: Rebelgium on January 07, 2008, 05:54:20 PM
I would like to do something more funny and than useful like making a small ed209 or grounder if it is even possible. modular sounds a little too hard and project servo still doesn't give me an idea.

Modular may sound hard, but it isn't.
Modular is the way to go with multiple people working on one project, it's just pure logic...

And with a forum filled with robotics enthousiasts helping, the project may be a bit hard. ;)
Title: Re: A community project for the summer perhaps?
Post by: ericthered on January 07, 2008, 09:14:09 PM

Modular may sound hard, but it isn't.
Modular is the way to go with multiple people working on one project, it's just pure logic...

And with a forum filled with robotics enthousiasts helping, the project may be a bit hard. ;)
But what about sensors, I mean otherwise we would be doing what everyone else is doing.  :-\ Plus modular robots are way too slow I mean that MIT video was speed up 20X. I like the ed209 Idea better. ;D We should make It big enough to fire twin airsoft guns at targets. Some of us can develope walking while other shooting.What company wouldn't sponser a walking machine of death? ;)
Title: Re: A community project for the summer perhaps?
Post by: Rebelgium on January 08, 2008, 06:29:17 AM

Modular may sound hard, but it isn't.
Modular is the way to go with multiple people working on one project, it's just pure logic...

And with a forum filled with robotics enthousiasts helping, the project may be a bit hard. ;)
But what about sensors, I mean otherwise we would be doing what everyone else is doing.  :-\ Plus modular robots are way too slow I mean that MIT video was speed up 20X. I like the ed209 Idea better. ;D We should make It big enough to fire twin airsoft guns at targets. Some of us can develope walking while other shooting.What company wouldn't sponser a walking machine of death? ;)

modular doesn't mean a block type robot like in the video. Modular means you can take every part of the robot apart. And connect the parts (like the motor controller print, and the brains, ...are all seperate parts/modules)using only a few wires. I²C preferably.

And I like the idea of a ed209 walker,  :) You have alot of different stuff going on, so there's enough to work on.



Title: Re: A community project for the summer perhaps?
Post by: ericthered on January 08, 2008, 06:21:25 PM
Your thinking of making a robot like this then?  ;D
[youtube]4oSavAHf0dg[/youtube]
does soundlike fun but I think there should be a couple of different modules for the project like a module with eyes to see and reconize objects. A gripper modual to pick things up, regular modulars to connect and move, and modules with wheels attached to the motors instead just a bunch of connector. What should we use for communication then? ed209 would make a good next project then
Title: Re: A community project for the summer perhaps?
Post by: Asellith on January 08, 2008, 11:11:37 PM
Noone has one the google X prise thing yet. Any rocket scientists in the room? All we need to do is get a robot to the moon and drive it 500 feet with a live video feed in HD quality. So some sponsors and our combined robotics knowledge we could do it :) just need some rocket scientists to get it to the moon. Of course with something like that we would need a massive amount of coordination and lots of work but would be fun. Specially if we get sponsors to give us free toys to play with.
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 09, 2008, 08:47:19 AM
Noone has one the google X prise thing yet. Any rocket scientists in the room? All we need to do is get a robot to the moon and drive it 500 feet with a live video feed in HD quality. So some sponsors and our combined robotics knowledge we could do it :) just need some rocket scientists to get it to the moon. Of course with something like that we would need a massive amount of coordination and lots of work but would be fun. Specially if we get sponsors to give us free toys to play with.

Neat, I've dreamed about being involved in a space mission some day. If you guys are serious about it, then so am I! Don't know how much it will take though. The main problem are the rocket. No problem for us building the robot itself, but the rocket, that's the biggest problem. Maybe if we would team up with external rocket scientists.
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 09, 2008, 09:25:52 AM
just connect a ton of bottle rockets to it! LOL  ;D
Title: Re: A community project for the summer perhaps?
Post by: Rebelgium on January 10, 2008, 05:02:08 AM
No problem for us building the robot itself, but the rocket, that's the biggest problem. Maybe if we would team up with external rocket scientists.

Building a robot to got to the moon isn't easy. There are much MUCH more restrictions and demands. (temeratures, rough terrain,...)
Realisticly seen it's impossible for us... :(
We're still only a bunch of robot hobbyists scattered across the globe...
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 10, 2008, 07:42:43 AM
yep i'm pretty sure that going to the moon would be impossible. I still think we sould do a block design (just not with magnetic plates).
Title: Re: A community project for the summer perhaps?
Post by: paulstreats on January 10, 2008, 07:58:02 AM
maybe if u made enough magnetic blocks, you could build them tall enough to reach the moon :P

Also im not sure that youre allowed to just send stuff there anyway, i think it has to be built in a sterilized and dust free environment so you dont take any bacterias with you that can be confused for native life
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 10, 2008, 07:59:36 AM
are we going to actually be building this , or not?
Title: Re: A community project for the summer perhaps?
Post by: paulstreats on January 10, 2008, 08:14:56 AM
My thoughts would be to build standard fit modular components, and then ask admin to make a special area of the site so the designs, schematics and programmings could be shown.

Things like:

 Admins atmega board for the $50 robot.
 The same thing but for PIC's
 I2C eeprom extension board
 Servo Controller boards (tell it where you want the servos and it calculates accelleration, Kinematics etc..)
 an intermediary board between the sharp i/r and the main processor, so you processor just gets pure distance measurments

These kinds of modules would be helpful to everybody, and make a great reference library for everybody.

Dont forget that not everybody can make a modular style robot, they require extreme custom machined parts and smd circuit boards to keep their size within reason
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 10, 2008, 09:27:08 AM
I think the first step we should take to build this robot would be to figure out what microcontroller we will be using (AVR, PIC etc.) Will we need more memeory than the Atmega 168? I we don't I say we go with that and the $50 robot microcontroller board. What about making a flying robot? I think we should start a poll to see which idea is most popular
Title: Re: A community project for the summer perhaps?
Post by: Rebelgium on January 10, 2008, 09:59:04 AM
The only way this project can succeed is by having a good leader.
There will need to be someone to divide tasks and follow the progress etc.
It needs to be someone with quite a bit experience on every aspect of building robots and who is willing to put time and effort in this project.
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 10, 2008, 10:09:08 AM
Admin?  ;)
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 10, 2008, 10:24:10 AM
wait we still haven't decided what we are making!
Title: Re: A community project for the summer perhaps?
Post by: hazzer123 on January 10, 2008, 11:16:03 AM
I think a leader could help us with the choosing an idea aswell :)
Title: Re: A community project for the summer perhaps?
Post by: cooldog on January 10, 2008, 11:18:07 AM
notice how admin hassent commented on this topic even though it is 2pg long
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 10, 2008, 11:27:59 AM
wait we still haven't decided what we are making!

However, it really seems like we will be making. Just don't loose this enthusiasm before we decide on the idea.

I'm offering myself as a leader, though I don't know if i have the required skill levels to be it and I can't promise I'll have time enough as I'm studying pretty hard nowadays. If nobody else is offering their help as a leader, I'll take the job.

"an intermediary board between the sharp i/r and the main processor, so you processor just gets pure distance measurements" This sounds like a good idea, and it will absolutely bring value. Perhaps there should be connections for several IR sensor on one of those boards?
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 10, 2008, 11:29:21 AM
notice how admin hassent commented on this topic even though it is 2pg long

I think he is amused of how the community starts to develop on it's own, and decided he would just wait and see where this is going ^^
Title: Re: A community project for the summer perhaps?
Post by: hazzer123 on January 10, 2008, 11:38:42 AM
Ill offer myself up for leadership aswell, but i think this project really needs the leadership of an 'Expert Roboticist' e.g. dunk, jon hylands, hgorden or jessewelling. (i think thats all of them)

Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 10, 2008, 11:46:58 AM
what will be the functions of this robot?
Title: Re: A community project for the summer perhaps?
Post by: cooldog on January 10, 2008, 01:37:09 PM
Ill offer myself up for leadership aswell, but i think this project really needs the leadership of an 'Expert Roboticist' e.g. dunk, jon hylands, hgorden or jessewelling. (i think thats all of them)



i nominate airman00
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 10, 2008, 01:48:13 PM
Ill offer myself up for leadership aswell, but i think this project really needs the leadership of an 'Expert Roboticist' e.g. dunk, jon hylands, hgorden or jessewelling. (i think thats all of them)



i nominate airman00

I think you mean hazzer123, right? No offense airman00.
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 10, 2008, 01:55:10 PM
dunk seems to have lots of experience i think he should be the leader of this project
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 10, 2008, 01:57:45 PM
I think we should see who wants to be the leader(s) of this project and then have a vote on who those leaders should be.
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 10, 2008, 02:15:53 PM
WE STILL DID NOT DECIDE ON WHAT WE ARE BUILDING PEOPLE!!!     :P

I understand a robot, but what will the robot look like? What will it do ? etc.
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 10, 2008, 02:29:31 PM
** o wow, 5 posts while i was writing. guess it's still relevant. posting anyway... **

Quote
what will be the functions of this robot?
the way i interpret this thread is we are designing a set of modules that can be combined to produce whatever robot you choose to make.
(personally i think the robot built from blocks in the vid above is cool but not really capable of getting beer from the fridge or shocking the cat which are the main uses for robotics in the RealWorld (tm).)

example modules that i think valuable to a project like this are as follows:
  - servo controller.
  - motor controller.
  - I/O module. (able to read inputs from digital or analogue inputs and output to digital or PWM pins.)
  - wireless UART link (for remote control of projects)
  - modified servo + wheel combination (with data on power draw, how fast it travels, how heavy a robot it can move etc.)
  - motor + wheel combination (with data on motor controller specs, how fast it travels, how heavy a robot it can move etc.)
  - mapping processor. (able to take input from I/O modules and output commands to servo or motor modules)

so imagine you want to make a killer 8WD bot with a robotic arm for grabbing beer out of the fridge.
rather than having to design your own components, just build 8 of the motor controller modules, 8 of the motor + wheel combinations, some servos and a servo controller module.
now connect them all to a wireless UART link module and connect the other end of that to your PC.
at this point you find no one has written a nice program to control 8 motors plus all your servos from a PC so that becomes the "module" you decide to design.

the key to this sort of modular approach is coming up with a set of standards which means that all the modules are controlled in the same way.
for motors this is fairly easy. there are currently 3 main standards i can think of: regular DC motors, stepper motors and modified servos.
i would suggest we allow all 3 to be developed as valid modules. (obviously motor controller modules for each would be the first step.)

a harder thing to decide upon would be the communication method between modules.
i have some thoughts on the matter but rather than go into too much detail i suggest we allow UART and i2c communication methods between on board hardware modules
and allow RS232 and USB communication between robot hardware and a remote computer (only needed if your project needs remote communication).

it could be argued that we need to also choose a standard microcontroller but i would argue that we do not.
as long as you can program your microcontroller to play nicely with the other modules i don't think it matters if you use a PIC or AVR or which version of each you use.

what would be important is to come up with a few reference microcontroller designs with working i2c and UART code and circuit diagrams so novices could modify these rather than having to start from scratch.

Quote
Ill offer myself up for leadership aswell, but i think this project really needs the leadership of an 'Expert Roboticist' e.g. dunk, jon hylands, hgorden or jessewelling. (i think thats all of them)
flattering but i really doubt if i would have time to lead this.
i am completely up for helping with initial design specifications though.
also expressing opinions. i'm good at that.

i appreciate the need for inter-module communication would put this project out of reach for complete beginners but most of the people enthusiastic about this thread have at least some experience....

thoughts?

dunk.
Title: Re: A community project for the summer perhaps?
Post by: ed1380 on January 10, 2008, 02:44:34 PM
i think this project really needs the leadership of an 'Expert Roboticist' e.g. dunk, jon hylands, hgorden or jessewelling. (i think thats all of them)


+1
can't forget admin
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 10, 2008, 03:03:09 PM
Dunk, I take off my hat in front of you. I am also thinking the modular way is the best way to get something standardised. You beat me to this answer as I was still thinking how to explain everything. I don't have anything to add at this moment. I just hope someone else will be making the "code module" cause I suck at programming. (Just make it easy to understand for novices, please.)

As for the leader, it matters not who the person is. The most important thing is who will be making which module?

Edit: let's state the communication specs between the modules so we can start building them!
Title: Re: A community project for the summer perhaps?
Post by: cooldog on January 10, 2008, 04:01:08 PM
we all specialized in certain Fields. dunk with his internet control, airman00 with his butler bot voice recognition. but we are all saying we need one leader and i think that is true try admin for example if he was the leader he would see over the entire project. then we should have group leaders (programming, contruction)

WE STILL DID NOT DECIDE ON WHAT WE ARE BUILDING PEOPLE!!!     :P

I understand a robot, but what will the robot look like? What will it do ? etc.

i totally agree. i think we should go all terrain. although household robots are really cool and are usefull.


Ill offer myself up for leadership as well, but i think this project really needs the leadership of an 'Expert Roboticist' e.g. dunk, jon hylands, hgorden or jessewelling. (i think thats all of them)



i nominate airman00

I think you mean hazzer123, right? No offense airman00.

haha no i was serious he would make a great team leader or even a group leader
Title: Re: A community project for the summer perhaps?
Post by: hazzer123 on January 10, 2008, 04:18:30 PM
Right ok so i guess we have our idea sorted. Thats cool. :)

Hmmm im thinking this project might require its own category in the forum. This post is gonna be crazy big soon, and we need to break up the discussions. Admin, can we have that?
Title: Re: A community project for the summer perhaps?
Post by: cooldog on January 10, 2008, 04:21:05 PM
pls  ::) :'( :-[
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 11, 2008, 08:34:33 AM
So what are we making? It sounds like its an all terrain modular robot with airsoft guns. maybe minus the airsoft guns part because we couldn't have the robot in public.....probably. 
Title: Re: A community project for the summer perhaps?
Post by: cooldog on January 11, 2008, 11:06:19 AM
but that would be so so cool... how about a paintball gun
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 11, 2008, 11:14:23 AM
It feels like we should brainstorm a bit more on ideas before we actually decide on which idea we will take on.

Also, it's not that easy for a community to choose an idea. It's not as easy as someone saying "This is what we will do". I'm referring to those who posted something in the line of "Pick an idea already!". I think the best would be to create a poll of all ideas we have or at least pick an idea with several following posts that saying "I agree".
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 11, 2008, 11:33:03 AM
Quote
So what are we making?
a set of modules so you can make whatever robot you want easily.
that way you can make whatever you want and i can make whatever i want.
the fact you use a servo controller module to aim and point an airsoft gun while i use it to poke a sharp stick at the neighbours cat does not affect the design of the servo controller module.

Quote
Edit: let's state the communication specs between the modules so we can start building them!
while i was sat board on a plane earlier today i wrote down some notes on the bus architecture of my own robot.
i think it is a suitable starting point for the control and communication architecture of the sort of modules we are discussing here.

reading the doc will require a reasonable understanding of the i2c bus i'm afraid. (you can find an i2c tutorial on SOR members pages...)

http://docs.google.com/Doc?docid=ddp2r5j8_21dgt72qgz&hl=en (http://docs.google.com/Doc?docid=ddp2r5j8_21dgt72qgz&hl=en)

let me know your opinions as to whether this is a suitable architecture to network our modules.
the advantage of using this architecture is i can provide sample circuit diagrams and firmware giving the project a kick start.
i will need to rewrite the i2c master code though as it's far from readable but otherwise we would be good to start.

the key to this project being successful i believe will be good documentation of some sample modules so people can modify them without ever having to write their own i2c code.


dunk.
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 11, 2008, 12:24:38 PM
Yep, dunk, this is the right track. It's not a good idea creating one single robot as a project but rather some sort of standard or documentation, which is exactly what we'll create here.

This will include chassis and such for each module and making fasteners to connect them together, right? At least in my opinion.
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 11, 2008, 01:02:48 PM
Quote
This will include chassis and such for each module and making fasteners to connect them together, right?
i envisaged the chassis components being separate modules from the electronics modules.

for example someone might design a servo driven pan and tilt chassis module for an airsoft gun.
this module would need a servo controller but i would argue the servo controller could be a separate module.

it would have to be documented within the airsoft gun module documentation that it requires the servo controller module and how to connect the 2 together but the servo controller module could still be used as a valid module without the airsoft gun module.
space and mounting brackets could be included in the airsoft gun module for which ever servo controller module is used.

i do think it would be a good idea to standardise connections between modules though.
mounting holes on circuit boards should be a set distance apart so it's easy to swap one module with another.
power plugs should be of a standard type.
electrical connectors should be of a standard type.
screw sizes should be kept standard whenever possible. (not really possible with metric and imperial countries contributing but still...)
we should pick some set voltages for the power bus. (0V, 12V and 5V?)

to be honest i'm more interested in the electronics side of a project like this so i have not put much thought into how to connect the mechanical modules.
would a complete chassis design complete with drive units (servos or motors) with room to add lots of other modules count as a module?


dunk.
Title: Re: A community project for the summer perhaps?
Post by: Asellith on January 11, 2008, 01:26:49 PM
What it sounds like we need to do is some standardized designs and make an open source SOR robot design. Sorta like the $50 robot design is part of what gets people into robotics around here and the tutorial stuff is a great help as well. We could then have these modules that are tested and work with a each other but the configuration is up to the builder. So if I want to build a robot that drives around and maps my room then sends that data through a wifi link to my PC, I can take the wifi module, the sensor module, several motor drivers, and a mcu to put it all together and bam I have a working robot.

Then when a newbie comes into the group they start with the $50 robot and the they can slowly build the modules and start getting more advanced robots faster. We could even do group runs of pcbs where someone wants a module and sets up a run then takes orders from everyone else and the cost goes down if you order like 50 or so boards. Then the person who started the run collects the money for them and ships the boards out..

Also we will need a open source programming area as well. Where functions for each module on a pic and avr are already made and you just download the code to go with each one and tie them together with your own code. It has potential but needs to be managed and a good system developed to manage the files and projects.
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 11, 2008, 01:33:58 PM
One small point that i think needs to be added: The modules should be simple enough to be able to solder with a prototyping pcb or even with a breadboard. Many will want to solder the boards on their own and just as many don't have the possibility to etch their own pcb.
Title: Re: A community project for the summer perhaps?
Post by: cooldog on January 11, 2008, 03:16:30 PM
i question

who keeps it?

i call dibs
Title: Re: A community project for the summer perhaps?
Post by: ed1380 on January 11, 2008, 04:17:28 PM
admin. duh.  :P

so what are we making? last i heard it was an all terrain vehicle



by modular do you guys mean like computers
ie- socket 775 can hold from celeron to kentsfield w/o modification
pci slot can be used for almost anything
etc
Title: Re: A community project for the summer perhaps?
Post by: cooldog on January 11, 2008, 04:43:34 PM
maybe dunk could make it internet controlled so we can all use it
Title: Re: A community project for the summer perhaps?
Post by: Rebelgium on January 11, 2008, 05:58:35 PM
maybe dunck could make it internet controlled so we can all use it
admin. duh.  :P

so what are we making? last i heard it was an all terrain vehicle



by modular do you guys mean like computers
ie- socket 775 can hold from celeron to kentsfield w/o modification
pci slot can be used for almost anything
etc
i question

who keeps it?

i call dibs

The plan seems to have changed, we're not making one robot anymore.
Now te plan is to design a whole set of modules (a part of a robot. eg sa motor driver,...)  that can communicate with eachother via a protocol called I²C (only 4 wires) .
With these plans of modules, everyone can make the amount of modules and the modules of choice to put them together to make a robot easier and faster.
Title: Re: A community project for the summer perhaps?
Post by: Dank55 on January 11, 2008, 09:56:35 PM
>join some kind of community project?
Yes please!

>very fun and exciting. It should be something big, impressive and advanced
This is doable.  I've been pushing for some kind of community project like this in several places...for instance, see http://en.wikiversity.org/wiki/Useful_robots for a description of a machine vision project. 

The one thing that may sound strange in my proposal is a sensor that I don't see that anyone has mentioned on the electronics board here at SoR: the "phase-shifting laser rangefinder".  Here's a quick description I give over at robots.wikia.com:

There's a new kind of sensor available now.  "Phase-shift laser rangefinders" measure distance along a line of sight, and this gives them much better range and accuracy than ultrasonic or infrared rangefinders and proximity detectors.  You can find lots of them for less than $100 on Amazon, but I'll just mention the specs on one as an example of what you can get for around $130: the Bosch DLE50 (http://www.bosch-pt.com/productspecials/blue/dle50/gb/en/function/index.htm).  Note: I haven't bought this and I have no opinion about it, they just have the most descriptive website (you get to play with the buttons).  It's tiny (175g or 6 ounces, including batteries), has a range of 5cm to 50m (2 inches to 55 yards), and is accurate to within 1.5mm (0.06 inches) at a range of 30m or less.   Lasers are notorious battery drainers, but that's not a killer: you can use other sensors until you need the greater accuracy and range.  An annoying caveat is, I haven't yet found a cheap one with a data port, and the only one I've found with Bluetooth is over $600.  But I expect this flaw will be remedied soon.

>Maybe connect the robots to the internet...just add a wireless communication module

A group can trade advice on building robots, but for people who can afford the wireless link, that really makes it much more of a group project...we could drive and see through each other's machines, process the images, use AI to determine behaviors, etc.  This also means that people who have no money to spend at all could still participate on the web.  Since my interest is machine vision, it's not so important to me what the robot can do...only that it's holding some kind of rangefinder or camera and sending the images to the web.

Dan
#wikia, #wikia-de, #wikiversity on irc.freenode
Admin at robots.wikia.com
Title: Re: A community project for the summer perhaps?
Post by: cooldog on January 11, 2008, 10:02:45 PM
maybe we could talk to admin into letting us use on of his new boards

http://www.societyofrobots.com/robotforum/index.php?topic=2822.0;topicseen
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 12, 2008, 11:39:13 AM
maybe we could talk to admin into letting us use on of his new boards

http://www.societyofrobots.com/robotforum/index.php?topic=2822.0;topicseen

That is Admin's participation to this project, wanted or not.
Axon may be used directly instead of most modules below:

Actuator modules:
- driving modules:
        - 2 DC motors - H bridge and encoders
        - 2 modified servos - with encoders
        - 2 stepper motors (maybe also with encoders?)
- servo controller
- relay module?

Sensor modules:
- general sensors - a few digital and analog I/O pins, with connectors for touch sensors, LDRs,
                        IR photoreflective sensors, Sharp IR sensors, Ultrasonic sensors
- proximity module - IR proximity sensors like the ones BOE bot uses
- mapping module - with connectors for Sharp IR sensors (or ultrasonic) and pan (and tilt) servo

Communication modules: //these modules may be just interfaced and code libraries built for them
- wireless
- bluetooth
- radio
- IR

Vision modules: //these modules will be just interfaced and code libraries built for them
- AVRcam
- CMUcam
- laser?

Power module - with ground, 5V for electronics, 7.2V (or 6V) for servos, and 12V for motors

Please add whatever I have omitted by mistake.
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 12, 2008, 05:37:35 PM
Good, good, those are all necessary modules! :D

My additions:

Actuator modules:
- complete actuator sets, like a whole 3-DOF leg (including a control system that takes 3D positions as parameters and turns them into angles on the servos)
- pan/tilt modules able to get data directly from sensor or vision modules?

Communication modules:
Not a specific module, but it would be cool if the parts on the other side of the communication would be treated the same way as the own modules. Could result in cool behavior if two of these modular robots is communicating.

These are just my first thought ideas. Theres a lot more to come i guess.
Title: Re: A community project for the summer perhaps?
Post by: garriwilson on January 12, 2008, 07:55:59 PM
I wonder where Admin is. Seriously if he hasn't posted because he's been trying to fix the forum and site for us I'm going to cry. Admin take a break! We're not even going to get 0.0000000000000000000000000000000000001% angry if something doesn't work even if we sent you an email.

Pan/tilt module: http://servocity.com/html/pan_tilt_roll___accessories.html

But I am sure with the right kind of tools you could make that stuff for 1/2 of the price or less.

 :'(  :'(  :'(  :'(  For Admin. So sad. Goddarn host.
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 12, 2008, 07:58:27 PM
hey we also gotta get some major $$$$ for this project!
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 12, 2008, 08:07:35 PM
so who's the leader/ manager


i'm not sure if admin would want to be it    ... its a huge hassle
Title: Re: A community project for the summer perhaps?
Post by: garriwilson on January 12, 2008, 09:45:50 PM
What if we made like a donation button on the website which you could put on your website. It would circulate to many places. For example if 500 member gave a misery dollar, that's still some money. I think everybody is in debt to Admin for making this website. I mean why don't you try and name a member who hasn't learned something from this site. (Don't try, you'll get a headache.)
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 12, 2008, 09:53:10 PM
garri, i like your idea but what we really need is a corporate sponsorship
Title: Re: A community project for the summer perhaps?
Post by: ed1380 on January 12, 2008, 09:54:18 PM
i think first we need a leader to whom the money will go. and the leader can destribute the money to the module designers.

I dont think it'll be that much since the designer just has to make 1 working module and then everyone makes their own. or pays someoen to make them one
Title: Re: A community project for the summer perhaps?
Post by: garriwilson on January 12, 2008, 11:11:36 PM
I am sorry, but I am not very clear in how much this stuff costs. Approximately how much will it cost depending on:

1) Some people are willing to donate some parts that they have. (minimum)

2) Nobody donates anything and every part must be bought. (maximum)

This is like the only website specializing on ROBOTICS, not just instructables with like 5 tutorials. This is like a whole database with tons of information, so with a good letter, we might be able to convince some company to sponsor this project.

I'm just trying to think about the groups:

1. Engineering (mechanics)
2. Programming
3. Circuit designing
4. Fundraising

Anything else?
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 13, 2008, 02:47:21 AM
We don't really need to worry about money right now! We need to get this project rolling first. We need a new forum for this project, some more brainstorming on ideas, have a finished design model of communication and such before we can start building anything physically and thereby put out any money.

Also, is it that expensive. The whole idea of a community project is that the work is spread out over all members. That also includes the costs. How much could it cost you to develop a module? I'll easily put out $50, $100 or even more so for this project. Thats completely ok to me. However, we should try to get sponsorship in some way. It's just that we shouldn't worry about that now and concentrate on getting forward on this project.

I'll send an email to Admin and see if he could add another forum for the project.
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 13, 2008, 04:59:32 AM
So every module we'll make will have an embeded microcontroller with connectors for sensors or motors. The connection to the main MCU being I2C serial interface.

What microcontroller shoud we use? I think we need to have one specific for the task of the module.
For instance, the motors module could have a ATtiny26, an H bridge and connectors for motors, encoders and power. The sensors module could have a ATmega8 and connectors for sensors. The servo controller module could also have a ATmega8 or a more appropriate one, depending on the number of servos needed. If someone finds it easier to work with PICs no problem, but it should use a programmer easy to make and free software to upload the firmware.

We should discuss every module apart. That means create a thread for each module in the Electronics section of this forum. Like Dunk said, we need to use standard size and connectors so modules can be interchangeable (for instance DC motors module with servo module). Also standard comunication protocol for all of them.

This is like a Lego modules kit to build any kind of robots. Heh, if one wants, he can enclose the modules in Lego bricks and use Legos to build the chassis. Anything is possible.

I think if the modules will be well worked and documented, someone like SparkFun may even consider to build and sell them.

Thinking about Admin's Axon, I see it as an (almost) All-In-One solution, a verry simple and powerfull solution for anyone's needs. But sometimes, modularity may be usefull, so this project is a perfect viable solution. The advantage of a modular solution is multitasking. If Admin (or anyone else for that matter) will be able to provide an multitasking language for Axon, that will be the most affordable solution. But even Axon needs the DC motor module and comunication modules.

So let's start build them!
Title: Re: A community project for the summer perhaps?
Post by: hazzer123 on January 13, 2008, 05:12:56 AM
I sent a PM last night to admin asking about a forum category for this project.

He said that he'd been busy but he promises to look into it soon.

I too wouldn't mind spending a bit of money developing a module either. I get to keep what i develop so it not a problem.
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 13, 2008, 05:52:06 AM
I sent a PM last night to admin asking about a forum category for this project.

He said that he'd been busy but he promises to look into it soon.

I too wouldn't mind spending a bit of money developing a module either. I get to keep what i develop so it not a problem.

Thanks, now i don't need to do it :) Usually takes a lot of time for me to write an email or PM.

And yeah, thats what i like about this project so much. Everything you develop can be used for further projects instead of just one time like on most project (if you don't tear apart your project you put so much time and effort into of course).

I've found that ATmega168 is almost as cheap as ATmega8. With the memory improvements on the 168 I'm not so sure which would be to prefer. Which brand is easier to get hands on? AVR or PIC? I've found that PIC is more common in electronics shops (well, the only Chain store with hobby electronics i know of, Kjell & Co, only sells the PIC microcontrollers). Although personally i like AVR more.

I think we should come up with a standard dimension for the boards, so that brackets with the same dimensions could be designed. Preferably square formed, right? That means you can put the boards in four different directions to get wires and such in the preferred direction. Admins Axon is square shaped, right? what if we would go with those dimensions. If one board needs more space, we'll build on the height. with layers of pcb.
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 13, 2008, 06:19:06 AM
I think we should come up with a standard dimension for the boards, so that brackets with the same dimensions could be designed. Preferably square formed, right? That means you can put the boards in four different directions to get wires and such in the preferred direction. Admins Axon is square shaped, right? what if we would go with those dimensions. If one board needs more space, we'll build on the height. with layers of pcb.

Yes, square looks good. We should also decide if we want to make a Main MCU module or use Admin's or one of the allready available solutions.

The modules may be stackable, with the comunication connectors plugged from one layer to the other, top-down. With the Main MCU on the top, plug the other modules underneath and fix them with standoffs. The modules will need then horisontal connectors for sensors and motors. Or, if one needs to install them in different places on the robot, wires may also be used.
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 13, 2008, 07:22:24 AM
I can't really agree with that. The communication connections between the modules should be in the shape of wires. We should go for simplicity yet flexibility. The stacking model could still be achieved with wires, so wires only is my opinion. If we want to stack then, the connection pins should go out horizontal from the pcb or else have the pcb's stacked with more space between so that a wire can be connected to an upward pin and then be bent out.
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 13, 2008, 07:51:05 AM
Quote
I think we should come up with a standard dimension for the boards, so that brackets with the same dimensions could be designed. Preferably square formed, right? That means you can put the boards in four different directions to get wires and such in the preferred direction.
i think this standard should only be applied to the PCB versions of the boards. people making their versions on strip board can make them whatever shape they like.
when writing up documentation we should include Eagle PCB layouts. standard size. standard mounting hole position.
i think putting the power connector and i2c bus connector in a uniform place be a good idea too.
i hadn't considered the advantages of making them square but now you bring it up i agree.

we also want a standard connector type.
i would recommend something that fits on standard header pins. this way we can just use header pins on the boards and make up cables to go between them.
standard header pins also fit the standard hole spacing of solderless plug blocks and strip board.
to connect to the header pins i recommend http://www.molex.com (http://www.molex.com) wire-to-board crimp connectors but these require a (fairly cheep) crimper so maybe someone else has a better idea?

we also need a power standard.
i think any board without it's own regulator should receive 5v.
does anyone think we need a 3.3v supply? personally i think 5v is a better choice and people can regulate down to 3.3v if they need on a particular board.
most projects will need at least one board with access to a higher voltage. this will be needed for power regulator boards as well as any board driving higher voltage components (DC motors for example).
it should be encouraged to allow for a large range of input voltages here (5.5v to 14v ??) but i think we should leave the exact operating voltages up to the board designer to allow for different modules servicing a wide range of applications.
i would recommend we use a different connector type for higher voltage connections to allow for higher power draw as well as preventing accidental mis-wiring of high voltages to delicate components.

as for the communication standard between boards, i'm working on a prototype implementing the ideas i put up in the doc here:
http://docs.google.com/View?docid=ddp2r5j8_21dgt72qgz (http://docs.google.com/View?docid=ddp2r5j8_21dgt72qgz)
i have most of the code written and i'll be able to test it on boards i already have.
hopefully i'll be able to get it compiled and tested later this week.
i'm not a great programmer so if someone else out there is welcome to completely rewrite it but i feel we need a working prototype that people can modify to suit their application.
my code runs on the AVR atmega8 platform but should be easy to port to other AVR platforms (including Admin's Axon).

i've only been talking about the electronics side of this project. obviously there are still a lot of decisions to be made about the mechanical components.

so, things that i'm presuming are decided: (please comment if anyone disagrees!!)
 - it should be possible to build boards on stripboard etc but PCB versions are encouraged.
 - PCB versions of boards should be square and of one of several set sizes.
 - inter module communication should be by either UART or i2c and should not conflict with packets of the format described here: http://docs.google.com/View?docid=ddp2r5j8_21dgt72qgz (http://docs.google.com/View?docid=ddp2r5j8_21dgt72qgz) even if they don't require that format to operate correctly.
 - any microcontroller (or microprocessor) type is acceptable as long as it can be made to operate within out list of standards.
 - logic components will be 5v tolerant or have buffering within the module to accept 5v I/O.
 - modules not accepting 5v input but taking a higher voltage will have a voltage regulator capable of acting as a power bus to other modules.
 - connectors between modules should fit onto standard header pins.
 - standards should only be applied to modules where necessary for them to inter operate with other modules. if a module does deviate from our standards though it should be made clear in the documentation for that module.

things we still have to decide: (please add to this list!!)
 - standard board sizes (for PCB versions only). i think we need more than one. and something that converts between inches and mm easily... multiples of 1.5inches ~ 40mm...
 - connector type suggestions.
 - minimum acceptable documentation. i think we need parts list (with links to suppliers where applicable), estimated cost, links to any required software, detailed step by step instructions (with pictures if applicable), any code should be well commented, any more???
 - licencing. who owns this? how do we stop someone else from patenting out work? i think we need a template Open Source type licence  that anyone can copy into their project.
 - ???

any one disagree with anything in the summary?
anything to add?


dunk.
Title: Re: A community project for the summer perhaps?
Post by: cooldog on January 13, 2008, 07:51:36 AM
I am sorry, but I am not very clear in how much this stuff costs. Approximately how much will it cost depending on:

1) Some people are willing to donate some parts that they have. (minimum)

2) Nobody donates anything and every part must be bought. (maximum)

This is like the only website specializing on ROBOTICS, not just instructables with like 5 tutorials. This is like a whole database with tons of information, so with a good letter, we might be able to convince some company to sponsor this project.

I'm just trying to think about the groups:

1. Engineering (mechanics)
2. Programming
3. Circuit designing
4. Fundraising

Anything else?



NASA
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 13, 2008, 07:55:55 AM
a few comments came in there while i was writing...
stackable or not...
so i'd like the power and i2c connectors to be in the same position on all boards as it makes sense to give people the option of stacking those.
for general purpose I/O though i don't think it applies. why would you want to connect them between boards?
it would be good to put general purpose I/O at the edge of boards so people can use right angled header pins for those if they want another board on top.


dunk.
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 13, 2008, 08:42:58 AM
Dunk, I read the communication protocol proposal and I have to say it is beautifull. We should go for it.
You say you can have sample communication programs for each node? That would be nice to test out.
Title: Re: A community project for the summer perhaps?
Post by: garriwilson on January 13, 2008, 12:34:48 PM
Quote
NASA
anything is possible when you put your mind to it  ;)

How are you guys trying to get together and work on this? By location? Or you want to use a program to talk like AIM. Skype is a really good program, it has chat, webcam, and you can do conferences with as many people as you want to talk to.
Title: Re: A community project for the summer perhaps?
Post by: cooldog on January 13, 2008, 01:30:02 PM
skype is so cool i just got it. i use it as a securrity system for my room

http://www.instructables.com/id/Remote-Security-w%2f-Skype/
Title: Re: A community project for the summer perhaps?
Post by: Asellith on January 13, 2008, 03:12:15 PM
If we do this right we could get the first initial prototype stuff for free. Maybe not the pcb boards but most of the components and sensors could get sampled out to us. If a company is asked to supply several parts for a robot design that will become a standard for a 1400 member group they might be willing to give free samples. Also if the project is done correctly as someone mentioned earlier we could have Sparkfun and others sell and make the modules for us and I assume everyone will agree that most of the profits can go to more R&D as well as to admin to cover the costs of the site. With Admin's new board coming out we could make some serious improvements to the hobby robotics community.

As far as a standardized controller we could make 2 designs one for avr and one for pic the circuits themselves and even the code wouldn't be that different. The pinouts might change a bit but as long as they output the proper communication protocols then you could have several different sets.
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 13, 2008, 03:51:51 PM
Guys, please, please, keep this thread as on-topic as possible. Given that we only have this thread to discuss the project so far we have to keep it clean and focused.

Also, please read the whole thread. I noticed in several posts it seems like some still think it's about building one single robot, and thats definitely not the case.

Let's get on topic. Dunk, your prototype design seems really accurate. That's precisely what it should be like. I have yet to read up about the I2C so I can't really say anything more. What about the slave devices? What for? I'm sure I'll understand when I've read up about it though.

How many pins will be needed for an I2C connection? About the crimp connectors, is something in the line of this what you meant (couldn't see it at Molex because the search server was down or something like that): http://www.asianproducts.com/showproducts.php?item_id=P11143553282150939&pic=big
No, wait, this is exactly what you meant, right? http://www.societyofrobots.com/electronics_wire_connector.shtml and yeah, a crimper tool is needed then...

I agree on all the power standards you came up with. Those are values used often in robotics so that should work well when interfacing sensors, microcontrollers and so on.

"PCB versions of boards should be square and of one of several set sizes." I disagree here. At least the mounting holes should be of standard size. I am very much into setting standards for brackets and such, so that the distances between joints and such is know and we can thereby add some advanced movement features.
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 13, 2008, 05:18:56 PM
Quote
Let's get on topic. Dunk, your prototype design seems really accurate. That's precisely what it should be like. I have yet to read up about the I2C so I can't really say anything more. What about the slave devices? What for? I'm sure I'll understand when I've read up about it though.
an i2c master can send data to and request data from an i2c slave.
i2c slave devices can only reply to an i2c master, not initiate communication.
as i'm proposing an i2c multi-master system the masters would be able to act as a master or as a slave.
"so why bother with slaves?" an i2c slave takes less microcontroller programming and therefore can use cheaper microcontrollers.

Quote
How many pins will be needed for an I2C connection?
2 signal wires for i2c. i tend to run a ground wire with them as well.

Quote
About the crimp connectors, is something in the line of this what you meant
yup. any of those will fit standard header pins. i use the Molex ones but it's not critical which model.

Quote
"PCB versions of boards should be square and of one of several set sizes." I disagree here. At least the mounting holes should be of standard size. I am very much into setting standards for brackets and such, so that the distances between joints and such is know and we can thereby add some advanced movement features.
hmm. so while i agree in theory, some modules will just take up less space than others.
on my current bot i have i2c motor controllers with an attiny45, an h-bridge chip, a power connector and a few header pins. they are about 40mm square.
it doesn't seem to make sense to use a full size board for something like this.
maybe if a standard board was 80mm square we could also have a 80x40mm so 2 could occupy the space of a standard board, still using the same mounting holes....

on the other hand, had i decided on a set of standards when i designed them i might have put all 4 motor drivers on one board....
i think this sort of issue would be taken care of by my suggested opt-out clause. to quote my self:
Quote
- standards should only be applied to modules where necessary for them to inter operate with other modules. if a module does deviate from our standards though it should be made clear in the documentation for that module.
so with my motor controllers, it clearly does not make sense to use a full board so i'd just document the fact clearly and make an effort to make them compatible with the mounting design of the standard modules....

anyway,
in other news,
my rewrite of my "i2c to UART" board firmware appears to work as expected so i'll make and test a demo board and document some instructions on how to build, compile and program.
don't know how busy this week will get at work but should have it done by the end of the week...
everyone alright with Eagle for board schematics?

dunk.
Title: Re: A community project for the summer perhaps?
Post by: SmAsH on January 13, 2008, 08:05:27 PM
hmm...yes you guys and girls ;D do have a good point but if only we could grow a few money trees eh? i think you should find a group of like 3-8 people in one state and then they can get together...get my point....
i think you should make a poll will all the states and see how many people are in each state then well get them to talk... anyway do what the community decides. i really hope this project takes off..
good luck

~smash
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 13, 2008, 08:30:22 PM
its not only states , there are plenty of people around the world
Title: Re: A community project for the summer perhaps?
Post by: cooldog on January 13, 2008, 09:00:41 PM
like me (canada)
Title: Re: A community project for the summer perhaps?
Post by: ed1380 on January 13, 2008, 11:05:20 PM
I agree that mounting holes should be made in multiples of 40mm.

everything else is over my head

I've scavanged a fair amount of stuff. mainly wires and connectors. and some switches (http://www.smcelectronics.com/SW52.JPG), so i might be able to help out that way
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 14, 2008, 01:20:25 AM
Having the holes spaced 40mm apart will do. If someone needs a bigger board 2.5"x2.5" for example, just use the same PCB layout but extend the border of the board to that dimensions. The only problem would be if someone wants to make a smaller board. So the minimum space necessary should be designed.

Quote
on my current bot i have i2c motor controllers with an attiny45, an h-bridge chip, a power connector and a few header pins. they are about 40mm square.

Dunk, is that a single motor driver? does it have encoders? can we make also a dual motor dirver (if it's a single motor driver)?

What should be the commands for a motor driver? (regardless if it uses servos, dc motors or steppers)
I thought about this and maybe it is easier to give the distance it needs to travel in cm or inches and the heading angle from curent position. Should it return anything, like current heading angle, distance travelled...? What about speed settings?


Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 14, 2008, 04:35:31 AM
Those features would be neat for a motor driver. We should of course implement them. However, that makes the motor driver pretty advanced, so we should make different versions of motor drivers for those who only needs the most basic functions like just driving the motors, forward and backward.
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 14, 2008, 05:10:41 AM
Those features would be neat for a motor driver. We should of course implement them. However, that makes the motor driver pretty advanced, so we should make different versions of motor drivers for those who only needs the most basic functions like just driving the motors, forward and backward.

I don't see any reason to have both features on the same controller. Simple "Left-Forward" "Right-Forward" commands and complex "Forward 52 units" can coexist. We can make a lookup table for commands starting from simple to complex and execute them as needed. The firmware can also check the existance of encoders and use them for complex calculations.

The reason for a motor controller is to do complex stuff that will free up the Main MCU. It needs to be able to send PWM signal to the motors and count the encoder pulses. It may also need to use PID to make the robot go straight. Of course, the PWM signal will be different for the 3 types of motors, but the rest should be the same.

I'll start a list of commands, please add to it if I miss something:

LeftForward
RightForward
LeftBackward
RightBackward
Stop (Brake)
SetSpeed % (0-100)
SetLeftSpeed %
SetRightSpeed %
Set TurnSpeed %
SetAcceleration (1,2,3...) //this sets how fast the robot will get to the setted speed
SetLeftAccel %
SetRightAccel %
SetUnits (cm or inch)
Forward units #
Backward units #
Turn # (degrees) //pozitive numbers turn clockwise, negative numbers turn couterclockwise
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 14, 2008, 05:18:15 AM
The firmware will need to be pre-set for a standard phisical robot setup. Each user will change the parameters as needed for it's own particular design. For example:

Wheel diameter
Distance between wheels
Encoder clicks per wheel rotation
Max motor speed RPS
Title: Re: A community project for the summer perhaps?
Post by: paulstreats on January 14, 2008, 05:37:55 AM
Why not have it set up so the master controller can be programmed with that info and then relay it on start up to the devices for them to calculate
Title: Re: A community project for the summer perhaps?
Post by: Rebelgium on January 14, 2008, 07:32:55 AM
Just to get back on the question for a seperate forum for this project:
I don't agree. The point of the SoR forum is to have a database of info, so if one searches for something in the electronics forum , the answer might be in the project forum, and he doesn't find an answer...

I suggest to title every thread for this project like this:
"SoR PROJECT: blablablabla"
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 14, 2008, 10:47:40 AM
Just to get back on the question for a seperate forum for this project:
I don't agree. The point of the SoR forum is to have a database of info, so if one searches for something in the electronics forum , the answer might be in the project forum, and he doesn't find an answer...

I suggest to title every thread for this project like this:
"SoR PROJECT: blablablabla"


Forum can both mean the forum page as a whole or a category for threads. I'm sorry for the misunderstandings.
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 14, 2008, 02:29:07 PM
ok,
i've been putting some thought into PCB sizes.

of the guys based in the US, how much of a pain is it for you to work in millimeters?
i know it would be unpractical to use inches in most of the rest of the world...

here's what i propose:
we should pick a standard unit of 38mm which is approximately 1.5inches (1.496inches).
this is intended as a compromise between metric and imperial sizes.
38mm is an odd number and 1.5inches is not the exact size.
i believe both are perfectly workable numbers though. the amount of error in inches is tiny.

robot bases should be laid out to accept boards of 38mm with mounting holes in each corner. (exact distance from each corner to be decided.....)

i accept 38mm square is too small to do much with. it's only meant as a standard unit.
most practical boards would be 2 of these units square. 76 x 76mm (3x3 inches).
this size would be large enough for an atmega16 and lots of I/O pins...
one of these larger boards would still fit onto the same robot base as the mounting holes would line up with the smaller boards.

this way boards could be made up in a lot of configurations but still fit the mounting holes on a "standard" robot chassis.
38x76mm, 76x76mm & 114x76mm would all be acceptable configurations although the standard 76 x 76mm would be the target size.

how does this sound?


dunk.
(waiting the test PCB for the i2c program to etch....)
Title: Re: A community project for the summer perhaps?
Post by: Asellith on January 14, 2008, 02:44:02 PM
PCB design:

Each module will be constructed on the same pcb but with a good board design and the same MCU it might be possible because the I2C pins will be in the same place and the power. The extra work on PCB design would pay off in production run costs by making more boards. If we do a duel AVR/Pic design we could have a pic based board and an AVR based board. just some ideas.


Obviously those who don't want to purchase boards can free form the design without any problem as well. I just think a production run every several months by the board controlled by Admin or another representative could make PCBs available to everyone for cheap. If we order like 100 boards of this size we might be able to get them cheap. I did a quick calc with express PCB software and it looks like we can get a 2 layer board top and bottom with solder mask and silk screen for $465 in a quantity of 100. Thats under $5 per board plus shipping to each individual person. Thats cheap and it only goes down for more orders. If we get a uniform PCB design going then we should be able to make that an option for everyone. I am almost sure they drill the holes in the boards as well. I need to check that and will look into it later today after work.

Jonathan Bowen
Title: Re: A community project for the summer perhaps?
Post by: Rebelgium on January 14, 2008, 02:50:21 PM
Just to get back on the question for a seperate forum for this project:
I don't agree. The point of the SoR forum is to have a database of info, so if one searches for something in the electronics forum , the answer might be in the project forum, and he doesn't find an answer...

I suggest to title every thread for this project like this:
"SoR PROJECT: blablablabla"


Forum can both mean the forum page as a whole or a category for threads. I'm sorry for the misunderstandings.

I know, I'm saying that there should not be a separate sub-forum.
I'm saying that if there needs to be a thread about the motor drivers for example, place it in the electronics sub-forum and call the thread "SoR PROJECT: motor drivers".

This way people searching in a sub-forum will still find the results.
Title: Re: A community project for the summer perhaps?
Post by: maverick monk on January 14, 2008, 03:09:20 PM
this is confusing and WAY over my head, Ill see If I can do somthing arm-wize since that would be fairly simple.
btw, what are we using as our mechanical standerd, does a 3inch on each side cube sound good? 80mm x 80mm x 80mm?

also power, how are we doing power? a central cube for power and regulation? I can do that easily.
Title: Re: A community project for the summer perhaps?
Post by: ed1380 on January 14, 2008, 03:33:24 PM
umm. mav. we aint making a robot. we making module that can be connected to make a robot.

i personally am with the idea of a subforum for the SOR project. it'll be alot easier to find threads about it, than having to look in every section for the SOR PROJECT heading.

and people who use the search function (like they should) will still find those threadds
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 14, 2008, 03:40:38 PM
umm. mav. we aint making a robot. we making module that can be connected to make a robot.

i personally am with the idea of a subforum for the SOR project. it'll be alot easier to find threads about it, than having to look in every section for the SOR PROJECT heading.

and people who use the search function (like they should) will still find those threadds

Yeah, those are the arguments i was thinking about as well. The forums are very active as it is now, and if we put all the threads about the SOR project it will be pretty stashed.
Title: Re: A community project for the summer perhaps?
Post by: maverick monk on January 14, 2008, 03:40:58 PM
edited it, i jumped the gun on posting after reading 1.5 pages  :-[
Title: Re: A community project for the summer perhaps?
Post by: hazzer123 on January 14, 2008, 04:31:43 PM
I vote for a sub-forum also. I haven't ever used advanced search to specify which category, and have still found the answer to my problem no problem.
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 14, 2008, 05:46:14 PM
Quote
Each module will be constructed on the same pcb but with a good board design and the same MCU it might be possible because the I2C pins will be in the same place and the power. The extra work on PCB design would pay off in production run costs by making more boards. If we do a duel AVR/Pic design we could have a pic based board and an AVR based board. just some ideas.
i'd certainly like to see a generic base module that was flexible enough for people to use in a variety of ways.
maybe an atmega16 or similar with all useful I/O pins terminating in stackable connectors that allowed a piece of regular strip board to be stacked above it and whatever components the user wanted could be soldered in place on the strip board.
this way someone could have a bunch of these versatile module PCBs made and distribute.

i'd see this as another kind of module though. no need to make all possible modules use a board like that.
i suspect if it was designed correctly this would be one of the more popular modules though...

Quote
I vote for a sub-forum also.
i think this is Admin's choice.
one of the things i like about this forum is it's simplicity and the fact you don't have to dig through loads of empty sections to find the one you want.
while i do think this project has the potential to require it's own section i don't think we are there yet.


dunk.
Title: Re: A community project for the summer perhaps?
Post by: SmAsH on January 14, 2008, 07:28:49 PM
yea we should have a sub forum BUT only when we finalise everything...until then we should just keep it to this topic..

~smash
Title: Re: A community project for the summer perhaps?
Post by: ed1380 on January 14, 2008, 08:46:03 PM
whats the point of a subforum if everythign is done :P
Title: Re: A community project for the summer perhaps?
Post by: SmAsH on January 14, 2008, 08:50:06 PM
well everything is not done....we havent decided on a robot...or how to get funding or even a design....
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 15, 2008, 07:12:37 AM
well everything is not done....we havent decided on a robot...or how to get funding or even a design....

Again, please read the whole topic. PS: the long posts has the most answers...
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 15, 2008, 08:36:04 AM
someone should put the long posts ( with all the info) on a blog or on one of those free websites
Title: Re: A community project for the summer perhaps?
Post by: Rebelgium on January 15, 2008, 08:44:29 AM
someone should put the long posts ( with all the info) on a blog or on one of those free websites
Why? you can read it here.

And about the subforum:
I know Admin is quite reluctant to adding new subfora... Dunk's right, it's admins choice.

I'd love to help more with this project, but I'm in the middle of exams...
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 15, 2008, 08:50:30 AM
yes but here its all disorganized, we need the goals and objectives and ideas , not all these replies  ( like mine , lol )


I'm all for a subforum but we need a project page with ONLY ideas and goals , NOT comments , that should be reserved for here
Title: Re: A community project for the summer perhaps?
Post by: garriwilson on January 15, 2008, 09:00:40 AM
I or anybody else who beats me to it can make on easily on blogger.com Right now it's 7:00 AM, I need to be at the bus in 5 minutes, I don't know why I'm still typing. Oh well. AHh gotta run.
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 15, 2008, 10:45:00 AM
Quote
I or anybody else who beats me to it can make on easily on blogger.com
beat you to it.
i've got a doc online here to record the ideas we are coming up with.

http://docs.google.com/Doc?docid=ddp2r5j8_24hhf75vck&hl=en (http://docs.google.com/Doc?docid=ddp2r5j8_24hhf75vck&hl=en)

if anyone has any comments on changes that sould be made to it lets discuss them on the forum.


dunk.
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 15, 2008, 11:00:22 AM
nice
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 15, 2008, 11:37:50 AM
Now we are finally getting somewhere. ;D
Title: Re: A community project for the summer perhaps?
Post by: SmAsH on January 16, 2008, 01:45:28 AM
aww i hope not i was getting used to running in circles ;D


~smash
Title: Re: A community project for the summer perhaps?
Post by: garriwilson on January 16, 2008, 08:42:47 AM
How about we put all the information on those documents, then we make an organized, easy to understand tutorial on the member tutorial section for each module separately?
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 16, 2008, 09:37:43 AM
good idea! can you apply for a members tut now?
Title: Re: A community project for the summer perhaps?
Post by: SmAsH on January 16, 2008, 12:50:26 PM
what so everybody can see what were doing....i think thats awesome ;D
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 16, 2008, 01:12:47 PM
first decide who is making what and what modules are available to make
Title: Re: A community project for the summer perhaps?
Post by: SmAsH on January 16, 2008, 01:41:20 PM
wait....have we actually decided on a project yet?
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 16, 2008, 01:53:06 PM
yes


we are not making one project but many projects

we will be making modules for different parts of a robot ( motor control, object avoidance, etc.)
Title: Re: A community project for the summer perhaps?
Post by: SmAsH on January 16, 2008, 01:54:21 PM
oh so one group does one thing then one group assembles it?
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 16, 2008, 02:13:54 PM
I have made a sample module, a 3"x3" board just to have a picture of what a module can be.

This is a DC motor controller having a ATtiny26, a SN754410 H-Bridge and connectors for motors, encoders, I2C
and power.
The motors get power from a separate battery and the electronics get power from the I2C bus.
There is a 6 pin ISP header with a reset button for programming. The reset button mey be omitted.
The I2C bus has 2 connectors on each side: a vertical male header on each side and a horizontal male on one side and a horizontal female on the other side for serial connections. Any of these connectors may be used as needed. If you don't need one, just don't install it.
There are 2 power LEDs, one for motor power and the other for electronics power. LEDs for motor direction may be added if necessary.
The traces are not optimised and they are there just for example.

As you can see, the size of the board is big. All the parts will fit on a 1.5"x3" board.

A similar board can be made for Stepper motors and for modified Servos once we decide what to have on it and how it shood look.
Title: Re: A community project for the summer perhaps?
Post by: SmAsH on January 16, 2008, 02:34:52 PM
hmm...that does look quite interesting ;D
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 16, 2008, 02:35:38 PM
OK

but I think the motor drivers should be able to control as high a current as possible, i would say they should handle at least 20 amp motors

Title: Re: A community project for the summer perhaps?
Post by: SmAsH on January 16, 2008, 02:42:16 PM
hmmm...are you sure 20? that seems alot for a robot tho.. :o
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 16, 2008, 03:53:10 PM
OK

but I think the motor drivers should be able to control as high a current as possible, i would say they should handle at least 20 amp motors


Yeah, if you drive a wheelchair. For a medium size robot that most of people will do this should suffice.
But this is just a SAMPLE. Different power motor modules can be built using one like this as a template. Different MCU and H-bridge. That's why we started this. To make templates people can follow.
Title: Re: A community project for the summer perhaps?
Post by: Rebelgium on January 16, 2008, 03:53:26 PM
OK

but I think the motor drivers should be able to control as high a current as possible, i would say they should handle at least 20 amp motors



I think 20 amps is way overkill for 95% of the hobby robotics. Atleast for the ones we're making these modules for.
I recommend using the L298 dual motor drivers.
2,5 -3 Amps
Title: Re: A community project for the summer perhaps?
Post by: SmAsH on January 16, 2008, 04:05:03 PM
yea i pretty much agree


~smash
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 16, 2008, 04:07:35 PM
this is the test board i'm etching at the moment.
it's only really intended as a testing platform for the code.
i've put lots of headers and test LEDs that can be jumpered to any I/O pin of my choosing off to the right.

i've put the i2c and power connectors off to the left so the 38mm wide boards can have a connector that will line up.
like Ro-Bot-X i've opted for one at each side of the board so they can be daisy chained together.

i've optimised the PCB layout for home etching by the toner transfer method.

the one thing i didn't include was a 5 pin power and i2c connector.
it was suggested we have Vcc, GND, SCL, SDA, (NC) on this connector so the NC (Not Connected) pin would save everything from frying if it got plugged in backwards.
this feature will make the next revision of the board.

suggestions welcome.


dunk.


[EDIT]
hmm, don't know how i managed to attach the pictures twice. ho hum, twice fun.
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 16, 2008, 04:23:55 PM
by the way , a side question

If an H-bridge can handle 20 amp motors can it handle 5 amp motors?

im guessing it would be less efficient at 5 amps then at 20 amps or something

the modules should all be encased in unbreakeable plastic with only like 5 headers on it

looking something like this (http://www.robot-italy.com/images/images_big/510018.jpg)
Title: Re: A community project for the summer perhaps?
Post by: SmAsH on January 16, 2008, 04:34:15 PM
yea it should be. but why only 5 headers?

~smash
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 16, 2008, 04:39:00 PM
Well, if enclosed will be, then I suggest the use of RJ11 (4 pins) and RJ12 (6 pins) phone plugs. They are easily crimped on cable and 2 wires can be used in parallel for greater amperage.
Title: Re: A community project for the summer perhaps?
Post by: SmAsH on January 16, 2008, 04:39:55 PM
hmm..its a posibility
Title: Re: A community project for the summer perhaps?
Post by: Asellith on January 16, 2008, 04:42:14 PM
Ro-bot-x mentioned using the I2C bus for powering the electronics. that might not be the best if you get 6 or 8 modules we might over load the bus power. Just depends on where it is supplied from. If we separate it and power it desperately on the main master board then it would be ok. Just something to watch for.
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 16, 2008, 05:01:23 PM
Quote
Ro-bot-x mentioned using the I2C bus for powering the electronics. that might not be the best if you get 6 or 8 modules we might over load the bus power. Just depends on where it is supplied from. If we separate it and power it desperately on the main master board then it would be ok. Just something to watch for.
yes. while it is an advantage to have the option of taking power from the main bus there are times when you might want an alternative power source for a module.
or you may just have too many modules for your main voltage regulator and need an alternative power source.

what about a simple jumper before the +ive output on the bus header and +ive and -ive pins else where?
that way people can leave it open, solder it closed or put header pins on it so they can jumper it as they see fit.


dunk.
Title: Re: A community project for the summer perhaps?
Post by: SmAsH on January 16, 2008, 05:31:36 PM
thats a great idea dunk.. we should ask admin to consider it..


~smash
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 16, 2008, 05:54:54 PM
Smash,
please refrain from replying to every post on the forum unless you have something to add to the conversation.


dunk.
Title: Re: A community project for the summer perhaps?
Post by: garriwilson on January 16, 2008, 06:05:05 PM
I think it's a little too early to apply for a member's account on the tutorial section. Once we're done, each group can look over their work, and organize it into instructions that are easily understood. That's when the member tutorial account comes in.
Title: Re: A community project for the summer perhaps?
Post by: Asellith on January 16, 2008, 11:12:08 PM
Ok just to add a little organization to the coming projects I created a list of potential modules. This will be added to and modified over time to include who is working on what module so that people don't do more then one without combining their work. I wrote this in 15 mins and will put more thought and ideas into it later to flesh it out more. Thats just what came to me in about 5 mins of typing. So look for an update tomorrow when I have some time to work on it.

http://docs.google.com/Doc?docid=ddgqp9wc_0gpbcwmgm&hl=en

Jonathan Bowen
Electrical Engineer
Title: Re: A community project for the summer perhaps?
Post by: SmAsH on January 16, 2008, 11:16:36 PM
when i try to get in it tells me that i need you to grant me access?
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 17, 2008, 06:43:12 AM
I think we should get started on one of the modules , so we have an example of how we want it .

I believe it should be an accessory to the main processing unit , instead of the main processing unit itself ( since that will take considerably longer)
Also, the modules should  have universal interfaces ( I believe you guys mentioned I2C ? ) so they can be interfaced to almost any  microcontroller board

This part should not take longer than two weeks to design , if it is a simple one like an H-Bridge. But someone will have to etch it , someone will have to make the plastic case for it , etc.

We should decide on our first module and then estimate the cost and time . The circuit should not be so difficult since it is only one module. Thats the beauty of it. Separately, each module is just a tiny simple circuit. Together , its one gigantic complex circuit. 

The first module should be available next month IF we begin planning right away, this module will be heavily documented and pics will be posted online so that whoever else wants to make a module to add to the online collection , will look at our first module as the "model child", and see what they can learn and copy ( design-wise ) from it.
 
I volunteer myself for this project , it has a lot of potential.   ;)
Title: Re: A community project for the summer perhaps?
Post by: hazzer123 on January 17, 2008, 06:55:12 AM
Hmmm im not sure if we are going to make modules that are as elementary as a H-Bridge.
 I think the idea was to create more specific modules that do particular tasks which are commonly required in robotics projects. Each with its own MCU.
So maybe not a H-Bridge, but a DC motor Controller, which can handle more complex tasks like PWM and encoders.
And this has already been started, see Ro-Bot-X's post.
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 17, 2008, 07:05:56 AM
I se


first I think we should compress the board width, make everything much closer together . Run the schematic by a few people , look for errors , improvements , extra LEDs , etc.

Then finally etch it.
Someone make the unbreakable plastic casing for it and put everything together.

All done , module number 1  ( lol its rhymes)

We also need people to document it
Title: Re: A community project for the summer perhaps?
Post by: Asellith on January 17, 2008, 07:22:18 AM
http://docs.google.com/Doc?id=ddgqp9wc_0gpbcwmgm

fixed document so that other can view it. Not familiar with google docs yet :)
Title: Re: A community project for the summer perhaps?
Post by: Rebelgium on January 17, 2008, 07:47:01 AM
I don't think there neds to be a plastic casing around each module.
Too much work, unnecessairy, place consuming , ... are just a few argument that come to mind.

I think all the modules should be stacked on top of eachother and/or next to eachother (stack and puzzle them in any configuration you want and what fits bets into your robot)
using regular spacers.

And then, if you want, you can add one plastic case around it.
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 17, 2008, 08:02:06 AM
the reason i like plastic cases is because I had this really nice PIC programmer I just bought and then it fell down  :'(

i bought a new pic programmer with plastic casing and I have dropped it multiple times ( on concrete , lol ) and its still working like new!

Im not talking about a huge plastic casing , just enough casing to cover the PCB to protect it from damage.
Title: Re: A community project for the summer perhaps?
Post by: garriwilson on January 17, 2008, 09:03:33 AM
No offense but I strongly suggest you guys stay away from this posting of ideas. Maybe every participant could log on to skype or some other program from 6 to 7, 7 to 8 o'clock and talk about it. With the posts, what you do in 5 days can take less than 1 hour because when you post it takes time for it to get answered.

Just a suggestion. You guys could decide what time you want to log in, maybe from 6-9 PM will be the operating time, and people could log in at any time they can from 6-9. Then a couple of people could do a report on what was achieved every day (summary), so people who couldn't make it are in the flow of things.
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 17, 2008, 09:09:17 AM
yeah we should definently have plastic casings around each module. we could just use the ones from radioshack. So are we using AVR or PIC.  I think for now the Atmega 168 would be all we need.
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 17, 2008, 10:57:51 AM
No offense but I strongly suggest you guys stay away from this posting of ideas. Maybe every participant could log on to skype or some other program from 6 to 7, 7 to 8 o'clock and talk about it. With the posts, what you do in 5 days can take less than 1 hour because when you post it takes time for it to get answered.

Just a suggestion. You guys could decide what time you want to log in, maybe from 6-9 PM will be the operating time, and people could log in at any time they can from 6-9. Then a couple of people could do a report on what was achieved every day (summary), so people who couldn't make it are in the flow of things.

the calling would never work out. People go on this forum whenever they feel like it and 6-9 pm in california can be 3 PM in new york, etc.  I would say post as much ideas as possible and have one person ( the organizer) set up a website or blog with each module having its own separate info  , taken from the best ideas. Then groups of people would just work on their own separate modules that they choose.

C'mon whats the first module that we will be building???
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 17, 2008, 11:45:10 AM
well first we need to decide what microcontroller we are using.
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 17, 2008, 11:48:56 AM
AVR
Title: Re: A community project for the summer perhaps?
Post by: hazzer123 on January 17, 2008, 11:52:25 AM
I'm not sure if it matters which one. We could make a PIC and an AVR version of a main board. Indeed we could make a PIC and an AVR version of everyboard, but it doesn't matter if we mix and match. You could have a PIC main board attached to an AVR stepper controller etc.

Also, if we allow people to create boards with either, then it will be more accessible to people who only have experience/equipment with one type.
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 17, 2008, 11:54:17 AM
I'm not sure if it matters which one. We could make a PIC and an AVR version of a main board. Indeed we could make a PIC and an AVR version of everyboard, but it doesn't matter if we mix and match. You could have a PIC main board attached to an AVR stepper controller etc.

Also, if we allow people to create boards with either, then it will be more accessible to people who only have experience/equipment with one type.

yeah thats true , as long as they have the same interfaces
Title: Re: A community project for the summer perhaps?
Post by: Rebelgium on January 17, 2008, 12:55:21 PM
as mentioned above, skype isn't a good idea.
Not everyone lives in the same timezone...

Wether or not to use plastic casing is up to the final user.
the reason i like plastic cases is because I had this really nice PIC programmer I just bought and then it fell down  :'(

i bought a new pic programmer with plastic casing and I have dropped it multiple times ( on concrete , lol ) and its still working like new!

Im not talking about a huge plastic casing , just enough casing to cover the PCB to protect it from damage.
The modules are fixed inside or on top of a robot... plastic casing around each module seperatly is useless in most cases.

I agree that there needs to be a blog/site/google docs to post all decision that are already made, progress etc.

And PIC and AVR is the way to go.


Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 17, 2008, 12:59:33 PM

The modules are fixed inside or on top of a robot... plastic casing around each module seperatly is useless in most cases.

Not really useless just it becomes a pain to fasten down each individual module, though the wires coming from black boxes connecting using the headers would look really cool and very organized.

I think we should make each module with mounting holes for a case if someone needs it.

Also, do you think it is feasible / better for every module to have standard dimensions, that would make life easy.
Title: Re: A community project for the summer perhaps?
Post by: Asellith on January 17, 2008, 01:26:15 PM
Plastic Case:
   My impression was these modules would be placed into a working robot with some time unmounted for testing but these are suppose to be drop in modules that are controlled by a central MCU and or computer. So they will all be mounted together and connected to each other then once the design is finished the set of modules would be placed in a chassis of a robot. Each module doesn't need to be separately mounted in a case. Case cost money. If someone found a good case that would work for the finalized physical module then sure post it but a custom designed case would not be a good idea. We already have standard dimensions defined so find a case could be easy see the physical module desc. doc posted earlier for more info.



AVR or PIC:

   Both. no reason not to. The code can be handled by experts in each MCU and the physical design will be almost identical. What I see is a standard module PCB/schematic that will accommodate each module and is build using a set BOM to match the module design and the builder puts the code on the MCU and installs it.
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 17, 2008, 01:55:28 PM
I have halved the board and it could get even smaller. Again, the traces are not optimised, just autoroute.
2 of these boards (a motor controller and a sensor board for example) can be connected in series, then a full size board can be stacked on top of them (or under). Once the layout is set, I can design a medium power motor controller, a servo controller and low and medium power stepper controller. I don't know how to do it properly for high power motors.

We need to specify the placement of the I2C connectors!

Title: Re: A community project for the summer perhaps?
Post by: dunk on January 17, 2008, 05:21:37 PM
Quote
We need to specify the placement of the I2C connectors!
yes indeed.
i think the i2c and power connector should be mounted closer to one corner of the board so 38 x 38mm boards can be plugged in while still staying on the same mounting hole grid.

Ro-Bot-X: have you actually used the right angle header pin sockets in your schematic?
do you think they will do what we want? i certainly like the look of them?
got a part number for them?
also, which Eagle library are they under?

Quote
I think we should make each module with mounting holes for a case if someone needs it.

Also, do you think it is feasible / better for every module to have standard dimensions, that would make life easy.
already discussed and documented:
http://docs.google.com/Doc?docid=ddp2r5j8_24hhf75vck&hl=en

Quote
well first we need to decide what microcontroller we are using.
no we don't. as long as all the modules communicate on the bus according to the standard it does not matter what hardware is used to make them.
that being said, my example firmware runs on the atmega8 so that will be the easiest starting point.
i hope to get my test boards built and the firmware tested and documented over the weekend.


dunk.
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 17, 2008, 05:23:54 PM
@ dunk

I think you and Aselith should combine Google Pages, you both have them. Copy Aselith's page onto yours , or take whatever parts he has that you don't. Otherwise we won't know which one to check.
Title: Re: A community project for the summer perhaps?
Post by: SmAsH on January 17, 2008, 06:11:04 PM
so, do you mean to have like 2 copies of it on 2 websites?
Title: Re: A community project for the summer perhaps?
Post by: Asellith on January 17, 2008, 06:23:39 PM
Currently there are 3 documents produced on Google pages right now.

Dunk started 2 namely the Design requirements for the I2C bus posted earlier and the physical dimensions document.

I started another one that will be for discussing the future modules.

The links are all posted here and viewable to anyone as we edit them to include data from the forum posts. So no need to combine them because they are all separate topics for the total project. I am assuming this is only the start and there will be plenty of documents by the end of this. So bookmark those babies and hang on for the ride :)

Also check the documents every once in a while to keep up with them. They are fluid documents right now and stuff is changing daily.
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 17, 2008, 06:26:40 PM
hey airman00,
the pages are for completely different purposes.
one is a module list, one is a list of requirments for PCBs and one is a design doc for the communication protocol.

you have a point though: we need a directory page for documentation. in the short term i'll put links to all pages at the top of all 3.

Communication Protocol#; http://docs.google.com/Doc?docid=ddp2r5j8_21dgt72qgz&hl=en (http://docs.google.com/Doc?docid=ddp2r5j8_21dgt72qgz&hl=en)
Module List: http://docs.google.com/Doc?docid=ddgqp9wc_0gpbcwmgm&hl=en (http://docs.google.com/Doc?docid=ddgqp9wc_0gpbcwmgm&hl=en)
PCB Design: http://docs.google.com/Doc?docid=ddp2r5j8_24hhf75vck&hl=en (http://docs.google.com/Doc?docid=ddp2r5j8_24hhf75vck&hl=en)

dunk.
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 17, 2008, 07:00:41 PM
Ok thank you , I see now

Title: Re: A community project for the summer perhaps?
Post by: Rebelgium on January 18, 2008, 06:41:36 AM
hey airman00,
the pages are for completely different purposes.
one is a module list, one is a list of requirments for PCBs and one is a design doc for the communication protocol.

you have a point though: we need a directory page for documentation. in the short term i'll put links to all pages at the top of all 3.

Communication Protocol#; http://docs.google.com/Doc?docid=ddp2r5j8_21dgt72qgz&hl=en (http://docs.google.com/Doc?docid=ddp2r5j8_21dgt72qgz&hl=en)
Module List: http://docs.google.com/Doc?docid=ddgqp9wc_0gpbcwmgm&hl=en (http://docs.google.com/Doc?docid=ddgqp9wc_0gpbcwmgm&hl=en)
PCB Design: http://docs.google.com/Doc?docid=ddp2r5j8_24hhf75vck&hl=en (http://docs.google.com/Doc?docid=ddp2r5j8_24hhf75vck&hl=en)

dunk.

Why not place the summary also on a google doc?
I'm just done with one of my exams (C++ and Java) so I had some time to go ahead and do it...
http://docs.google.com/Doc?id=dgxsd4mw_24d9kkg8gw

If anyone wants to edit it later on (when you make a new doc and want to add it), just pm me your email adress, or send me a mail at   fredje666 at gmail dot com
I'll add you to the people that are allowed to edit it.
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 18, 2008, 10:48:15 AM
i think the i2c and power connector should be mounted closer to one corner of the board so 38 x 38mm boards can be plugged in while still staying on the same mounting hole grid.

Ro-Bot-X: have you actually used the right angle header pin sockets in your schematic?
do you think they will do what we want? i certainly like the look of them?
got a part number for them?
also, which Eagle library are they under?
dunk.

Ok. First, I am using Eagle with imperial units since I have better snap-on-grid precision. Everywhere else I am using metric units, since I live in Europe (soon moving to Canada, but there they use them too). I am familiar with inches and feet but not at all regarding fractions of inches expressed in 100s or 1000s.

Can we agree on a position of the connectors vertically from the bottom up on a 1.5"x1.5" board? Right in the middle? My grid is 0.05" units, I need an exact position for the connectors...

The right angle header and socket need to be placed a little inward, so the boards that need to be connected get really close together (flush). Since the boards will be double sided, the connectors can be mouted underneath the board. Closer to the edge can be mounted a second connector (vertical) for stacking or wires.

The connectors are from the con-lsta.lbr (female) and con-lstb.lbr (male). The right angle are terminated with W.

Couldn't find them on DigiKey, but here they are on GradConn Interconnect:
http://www.gradconn.com/2-54mm/2-54mm-results.asp? (http://www.gradconn.com/2-54mm/2-54mm-results.asp?)
male headers: BB02-HA
female sockets: BB02-JB
They also have them in SMD form. And we might get samples from them.

Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 19, 2008, 05:41:40 AM
Tryed to shrink the board to the minimum 1.5"x1.5" but still keeping the through hole components. I stripped the I2C connectors down to just one and the components barely have enough room to fit on the board. But there were lots of traces not done by the autoroute function.

There are 2 options here:
- go for a 1.5"x2" board
- use SMD components

Here is the picture:
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 19, 2008, 06:04:07 AM
Man have i missed much... been hooked up with school the whole week. Well, now I'll devote some time of my weekend for the project.

Ro-Bot-X, you can always stack two pcb's which will make the module. Almost the same amount of space as in your 38x75 mm version.
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 19, 2008, 06:43:21 AM
I have changed only the tiny26 to SOIC form and got all done on 1.5x1.5" board. See below:

Edit: the blue stuff is GND.
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 19, 2008, 09:21:58 AM
Quote
We need to specify the placement of the I2C connectors!
i think we need Eagle templates of the different board sizes.
what do think of the ones attached?
(i don't seem to have right angled header pins in my Eagle libaries but the header pin on the left edge should be a right angle one.)

let me know if you want me to email you the Eagle files. (can't attach them here.)


dunk.
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 19, 2008, 09:41:02 AM
Zip them and attach them. You can get my libraries (zipped) from a few posts ago.
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 19, 2008, 11:35:08 AM
ah, didn't realise you could attach zipfiles.

dunk.
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 19, 2008, 04:52:27 PM
If I remember corectly, the pull up resistors need to be at the Main Microcontroller unit right? I guess we should include them for each board that also has UART, but install them only on one board for each system. Right?

Should the Motor modules be Master/Slave or just Slave only? Also Master modules should provide 5V power for the slave modules, right? ( I guess the Main MCU, the Sensor Module - maybe others too - need to have 5V regulators onboard to power the sensors and other devices connected directly tho the boards, not necesarily on the I2C bus.)

Can we also build a RS232 to I2C interface module? (I don't really want to change the tiny26 for something bigger just for the UART...)

Since I am working on a robot that will use a Tiny26 Modified Servo Controller, I will build this module untill we decide on the DC Motor Controller characteristics. The ones I have showed are just samples, to see the possibilities. A small size board will be enough for the modified servo controller but not enough for a DC motor controller, unless we go SMD. I would really like to have the modules small.
Title: Re: A community project for the summer perhaps?
Post by: paulstreats on January 19, 2008, 06:52:12 PM
Quote
If I remember corectly, the pull up resistors need to be at the Main Microcontroller unit right? I guess we should include them for each board that also has UART, but install them only on one board for each system. Right?

They can be anywhere really

Quote
Should the Motor modules be Master/Slave or just Slave only?

Depends on what you want from them

Quote
Can we also build a RS232 to I2C interface module?

most mcu's have this ability anyway

Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 19, 2008, 11:47:33 PM

Quote
Can we also build a RS232 to I2C interface module?

most mcu's have this ability anyway



Well, then I need a small AVR (max 20 pins) with both abilities. Any sugestions?
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 20, 2008, 04:09:39 AM
I have the Modified Servo Controller with Encoders and LEDs for directions.
Pin 1 of the encoders is interrupt driven. The servos can be driven by Timer1 PWM.
Here are the pics:
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 20, 2008, 06:50:50 AM
hey Ro-Bot-X,
i'm guessing you approve of the board templates?
they seem like the most logical layout to my mind but if anyone has any reservations the sooner we decide on a standard layout the better.

Quote
If I remember corectly, the pull up resistors need to be at the Main Microcontroller unit right? I guess we should include them for
each board that also has UART, but install them only on one board for each system. Right?
correct. i think it's worth including space for them on the standard template for i2c Master modules but the resistors will only need soldered in on one module on the whole bus.
as there will always be at least one master on any i2c bus there is no point including space for the pull up resistors on any slave module.

Quote
Should the Motor modules be Master/Slave or just Slave only?
either. as we are making these i2c multi-master nodes we can have more than one master on the bus.
in this configuration a master can operate as a master or slave device.
i will point out that debugging a module with a UART is far easier as you can plug it straight into your computer and send debug info over the UART.

Quote
Also Master modules should provide 5V power for the slave modules, right? ( I guess the Main MCU, the Sensor Module - maybe others too - need to have 5V regulators onboard to power the sensors and other devices connected directly tho the boards, not necessarily on the I2C bus.)
one of the modules needs to have a 5V regulator but i don't think all masters on the bus need one.
i envisaged power regulation being done by a separate module. the power module would not need to be on the i2c bus although i think it would be an advantage so you could query it for the main battery voltage and sent it commands to switch off the power.

Quote
Can we also build a RS232 to I2C interface module? (I don't really want to change the tiny26 for something bigger just for the UART...)
easily done.
the test code i have written for the atmega8 acts a a router between it's UART and the i2c bus. with the addition of a max232 level shifter chip you can plug it straight into a PC serial port and in hyperterminal type out packets in the format discussed in the design doc: http://docs.google.com/Doc?docid=ddp2r5j8_21dgt72qgz&hl=en


Quote
Since I am working on a robot that will use a Tiny26 Modified Servo Controller, I will build this module until we decide on the DC Motor Controller characteristics. The ones I have showed are just samples, to see the possibilities. A small size board will be enough for the modified servo controller but not enough for a DC motor controller, unless we go SMD. I would really like to have the modules small.
so if you are planning on having your PCBs custom made i don't see the point in through hole components. with a little practice SMD components are easy to solder.
if you want to make the PCBs yourself using the toner transfer method i would suggest making your vias and pads far larger.
as for the small board sizes, the problem with us standardising the module size is there will often be some wasted space on a board.

in other news, i have built one of my test boards and will be trying it out later today. if all goes well i'll post the code and schematics later today (hangover permitting).


dunk.
Title: Re: A community project for the summer perhaps?
Post by: ed1380 on January 20, 2008, 09:55:30 AM
robotx- i got a nooby Q. why would servo's need encoders?
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 20, 2008, 11:08:57 AM
robotx- i got a nooby Q. why would servo's need encoders?

modified servos would need
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 20, 2008, 03:01:36 PM
robotx- i got a nooby Q. why would servo's need encoders?

Modified servos for continuous rotation are somewhat like DC motors but with a different command. A regular servo has a closed loop feedback. This feedback tells the motor to move if the desired position is not reached. By modifying the servo, we break this feedback loop, so the motor thinks it still has to run to reach the desired position.

Encoders give feedback to the microcontroller just like the pot does for the servo. Only encoders are like a multi-turn pot and the feedback is not done at the motor controller, but directly at the microcontroller. But the thing works the same. We set a desired position and the motor runs to reach that desired position. By doing this we can make the robot go a certain distance, then turn to change course or just stop.

So, encoders can be added to have a feedback loop for any kind of motors the robot uses. Well, maybe they can be omited for stepper motors. The stepper motors rotate a little bit for each step and then stop and hold that position. But the steppers need to be stronger than the max power needed, otherwise they may loose steps.
Title: Re: A community project for the summer perhaps?
Post by: ed1380 on January 20, 2008, 03:05:12 PM
thanks i got it. i wasnt thinking of modified servos
Title: Re: A community project for the summer perhaps?
Post by: hazzer123 on January 20, 2008, 03:12:49 PM
A module that hasn't been mentioned in the list is an LCD driver module.

I would like to do this module, starting with a basic alphanumeric LCD and maybe progressing to a graphical LCD.
I'm just waiting to get a working LCD.
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 20, 2008, 03:19:18 PM
Hey Dunk,

The templates are fine, but I had to move the holes closer to the corners for the parts to fit.
Are there small size AVRs that have both UART and I2C? Smaller than Mega8? I don't want tu use a big micro where I can use a small one. I guess the code may be debuged on a mega8 and then ported to a smaller micro. That's what I intend to do. Only I don't know programming verry much. I can easily do it on Bascom or Arduino, but not yet in plain C. (If I show the code in any of these languages will someone be able to port it to plain C?)

I guess I could use a PIC 16F88, it has both UART and I2C if I remember corectly. I'll check that, and I will make a board with it (again, I can program it in PBasic).

Perhaps we should choose some microcontrollers for these modules. Do we want to use the same microcontroller for all the modules, for simplicity of code? ATmega8 is perfect for this... but maybe too much for some modules and too little for others.

So, what it will be?
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 20, 2008, 03:30:09 PM
A module that hasn't been mentioned in the list is an LCD driver module.

I would like to do this module, starting with a basic alphanumeric LCD and maybe progressing to a graphical LCD.
I'm just waiting to get a working LCD.

PIC 16F88 can be used to make a serial LCD from a parallel one. Tiny26 can do it with I2C interface. Mega8 can do both interfaces. Which one do you want?

It happens that I have an old Athena microcontroller that can be programed to be a serial LCD driver. Athena is based on PIC 16F628 and is loaded with a bootloader and firmware by it's manufacturer, Kronos Robotics. The LCD instructions are hardcoded in the firmware, so a little program can make it work.
Title: Re: A community project for the summer perhaps?
Post by: hazzer123 on January 20, 2008, 03:41:30 PM
I will be using a PIC16F series chip to do it, since i have an ICD2 and nothing to program any other brand MCU.

The first LCD module will be really simple, just making it possible to talk to parallel LCD modules with I2C. Maybe it could be a general purpose display driver and drive 7 segment displays and led bars. I dno...

The second one will be for displaying graphics on graphical LCD displays.

It doesn't matter which MCU each module uses really, as long as the I2C is well specified there will be no problem. It might be best designing modules that use both AVR and PIC though, to give people with only an AVR programmer, for example, to use every module.
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 20, 2008, 04:29:39 PM
Quote
Are there small size AVRs that have both UART and I2C? Smaller than Mega8?
i usually use the AVRfreaks website for comparing AVRs:
http://www.avrfreaks.net/index.php?module=Freaks%20Devices&func=devCompare (http://www.avrfreaks.net/index.php?module=Freaks%20Devices&func=devCompare)
the ATtiny84 or ATtiny861 look suitable.
are you sure you need a UART on this module?
maybe an i2c master could be on a different module?

so i have a pair of working test modules made and programed based on the atmega8.
the master firmware can take commands from the UART and route them over the i2c bus as described in the design doc.

i'm working on documentation of the prototype now.

Quote
I will be using a PIC16F series chip to do it, since i have an ICD2 and nothing to program any other brand MCU.
cool. the slave module version of the firmware will be quite easy to write but the master version may take a little time.
it would be great to get demo PIC code written for this project too.

FYI, you know it's possible to program AVRs without an expensive programmer? http://www.instructables.com/id/Ghetto-Programming%3a-Getting-started-with-AVR-micro/ (http://www.instructables.com/id/Ghetto-Programming%3a-Getting-started-with-AVR-micro/)


dunk.
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 21, 2008, 12:44:00 AM
I like the Tiny861, thanks Dunk! It has the Mega8 flash size (even a bootloader may be installed...), with little modifications Arduino can be used to program the device. So a motor controller prototype can be easily made to work with it instead of Tiny26. I'll have to see if I can get one around here to play with.

Edit: Strike all that... It seems it doesn't have USART... But Tiny2313 has! I will remake the motor modules to work with Tiny2313.

So, for small modules should we use Tiny2313 and for bigger modules Mega8 or Mega168? Please someone suggest similar MCUs from Microchip...
Title: Re: A community project for the summer perhaps?
Post by: ed1380 on January 21, 2008, 10:53:20 AM
Quote
FYI, you know it's possible to program AVRs without an expensive programmer? http://www.instructables.com/id/Ghetto-Programming%3a-Getting-started-with-AVR-micro/ (http://www.instructables.com/id/Ghetto-Programming%3a-Getting-started-with-AVR-micro/)

done that. didnt work. maybe it's just my luck
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 21, 2008, 12:44:41 PM
Hey Ed, I have tryed my luck with a simple AVR programmer but didn't work on my laptop. However I am using this programmer: http://www.wrighthobbies.net/catalog/product_info.php?cPath=23&products_id=32 (http://www.wrighthobbies.net/catalog/product_info.php?cPath=23&products_id=32) So far all my AVRs work if programmed with this STK200/300 programmer. And it's only $14.95.
Title: Re: A community project for the summer perhaps?
Post by: ed1380 on January 21, 2008, 12:49:14 PM
i have the serial port version of that. and the $30 programmer
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 21, 2008, 01:56:44 PM
stay on topic people! ;D Who is going to make these modules. When are we going to make them?
Title: Re: A community project for the summer perhaps?
Post by: hazzer123 on January 21, 2008, 02:18:11 PM
With this being a project in a community full of hobbyists, the design and making of the modules will not be done on a schedule. People just do it when they have a bit of free time. There are allready a few modules in developement, but there are lots more modules planned (see http://docs.google.com/Doc?docid=ddgqp9wc_0gpbcwmgm&hl=en (http://docs.google.com/Doc?docid=ddgqp9wc_0gpbcwmgm&hl=en)).

If you want to design a module, just say so in here :).
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 21, 2008, 03:19:59 PM
for the wheel encoder module could we just use computer mice sensors but with bigger wheel parts? 
Title: Re: A community project for the summer perhaps?
Post by: Admin on January 21, 2008, 05:00:10 PM
What everyone has been waiting for . . . word from Admin. To be honest, I was just really busy, and 200 replies in a single post kinda scared me away for awhile . . .

I have several thoughts concerning:
1) community project
2) leadership
3) modularity
4) funding
5) project goal

1) So lets start from the beginning. I've been dreaming of a SoR community project for about 6 months now, but felt that you guys aren't really ready yet. For example, most of you have only built one robot . . . So I figured I'd dream for another 6 months until you guys get more experienced then start up a topic similar to this. But I guess you guys have the motivation now so my answer is: OK! Yes!

2) Now, I am a firm believer in what I call a 'functional anarchy'. Meaning you put a whole bunch of well meaning motivated intelligent people together, and you don't need a leader. However, many of you have issues on keeping focus and so I'll make some leadership like decisions. I don't really like being a leader, its hard work, but I'm fully capable of keeping you guys on target . . .

3) So now to my next point. As mentioned earlier, modularity isn't an option - it is required for this project to work. We all need to agree on standards of dimensions, voltages, communication interfaces, etc. A few of you have already started discussing this and I think its on track so I won't say any more than I 100% support modularity and standarization.

4) Money is a great motivator. Long story short, I will reach into my pocket and help bank roll this project. Yeap, I will pay for it! But money isn't free . . . sub-projects I financially support must have a great tutorial written to go with it. I also will create mini-contests for money - for example, the best designed module gets $50 from me or something like that. I am also thinking I'll reimburse anyone who makes a great module that uses my Axon (for the full cost of it). I'd have to think more about this so don't quote me on it yet. Opinions welcome.

5) Now this is the most important point I want to make. What if the goal of this project wasn't to do something like make a one-off robot, but instead create the first open source robotics platform in the world? If we all pull together, we can change the world of robotics like open source software has done to PCs. I think SoR is in a position that no one else is to make this happen. And what would we need to do to make this happen?

a) create a set of robot standards
b) develop modules
c) write tutorials

Obvious eh? We already have made progress on all three points.

So here is the defined mission I am proposing:
A) We start a thread on robot standards (there is a lot to say on this, so lets leave it to a new thread I just created)

B) We develop modules. Design a module, write a tutorial on it, you can even develop it into a product and sell on your own if you want. The only condition is that your product is open source and follows our agreed standards.

C) Everyone help grow the community, and document your robots! We are all better off and can build robots faster if we work together. Try building a robot without going to SoR if you don't believe me ;)


Now commenting on what everyone else has said . . .

Quote
we all specialized in certain Fields. dunk with his internet control, airman00 with his butler bot voice recognition. but we are all saying we need one leader and i think that is true try admin for example if he was the leader he would see over the entire project. then we should have group leaders (programming, contruction)
cooldog, I entirely agree. If we all specialize on a particular area that we are good at, we can focus more and get more done.

Quote
Also we will need a open source programming area as well. Where functions for each module on a pic and avr are already made and you just download the code to go with each one and tie them together with your own code. It has potential but needs to be managed and a good system developed to manage the files and projects.
I can offer project space, but someone else would have to manage that.

Quote
does anyone think we need a 3.3v supply? personally i think 5v is a better choice and people can regulate down to 3.3v if they need on a particular board.
dunk, my Axon has a 3.3V regulator built in that can supply up to ~76mA if I remember correctly . . .

Quote
licencing. who owns this? how do we stop someone else from patenting out work? i think we need a template Open Source type licence  that anyone can copy into their project.
dunk, I think whoever develops a module owns rights to it. we should follow the open source rules similar to software . . . thoughts anyone?

Quote
everyone alright with Eagle for board schematics?
dunk, yesssssssss!

Quote
i personally am with the idea of a subforum for the SOR project. it'll be alot easier to find threads about it, than having to look in every section for the SOR PROJECT heading.
Here is where my leadership comes into play . . . for all project posts, make sure this is in the subject line:
SoR Project: [title here]
If it gets crowded, I'll create a new section.

Quote
Ok just to add a little organization to the coming projects I created a list of potential modules. This will be added to and modified over time to include who is working on what module so that people don't do more then one without combining their work.

http://docs.google.com/Doc?docid=ddgqp9wc_0gpbcwmgm&hl=en
asellith, great idea!

About making plastic casings for parts, perhaps that should be a project/tutorial on its own?

And lastly, if we were to use my Axon, I'd have to standarize the software for modularity. I'll make this a priority and get the info out to you guys as soon as I can.
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 21, 2008, 07:31:10 PM
ok, finally got round to packaging this up.
it's not really meant as a finished module (although it does bring all pins on an ATmega8 to header pins).
it's just meant as a working prototype.

http://www.societyofrobots.com/member_tutorials/node/69 (http://www.societyofrobots.com/member_tutorials/node/69)

it fully implements the master i2c node described in our design doc and conforms to the standards in our physical attributes doc.

it's not pretty though and doesnt do anything more on it's own than blink LEDs yet...
i intend to add servo control to the firmware soon.
it can already act as an interface between my laptop and the i2c bus on my robot though.

i made the worlds dullest youtube vid of me changing LEDs on it if anyone is interested:
http://www.youtube.com/watch?v=S8wv2yDrX7Q (http://www.youtube.com/watch?v=S8wv2yDrX7Q)

i'll work on documenting my motor controllers next so there is some sample ATtiny i2c slave code for people to work from.


dunk.
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on January 21, 2008, 08:25:06 PM
good work dunk! Can you reccomend something I can do for the robot that's very simple? I could make a $50 robot microcontroller if we need it  ;D.
Title: Re: A community project for the summer perhaps?
Post by: Fredrik Andersson on January 22, 2008, 01:45:04 AM
I have a suggestion for the board sizes and stacking possibility. If say we have a stack of 76x76 boards and want to stack a 38x38 or even several on top of the 76x76 board the mounting holes wouldn't fit the 38x38. If we as a standard put four holes in the middle of all the 76x76 boards, it would be possible to stack four 38x38 boards on one 76x76. Then we'll do the respectively needed with 76x38 boards.
Title: Re: A community project for the summer perhaps?
Post by: hazzer123 on January 22, 2008, 01:51:56 AM
I support this idea, it makes sense to put limitations on the position of the mounting holes more than the actual size of the PCB.
This will make sure that the boards are stackable.
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 22, 2008, 04:45:35 AM
The smaller boards may use only 2 holes in opposite corners.
Title: Re: A community project for the summer perhaps?
Post by: dunk on January 22, 2008, 07:44:01 AM
Quote
I have a suggestion for the board sizes and stacking possibility. If say we have a stack of 76x76 boards and want to stack a 38x38 or even several on top of the 76x76 board the mounting holes wouldn't fit the 38x38. If we as a standard put four holes in the middle of all the 76x76 boards, it would be possible to stack four 38x38 boards on one 76x76. Then we'll do the respectively needed with 76x38 boards.
it's a nice idea in theory but very wasteful on board space having screw holes in the middle...
we could make a carrier board that bolts to a 76x76 board that has bolts and bus pins for 4 38x38 boards?
it would waste some height but keep the foot print small.

another thing we have not addressed is what sort of connector to use for boards stacked on top of each other.
with 2 boards we can use a header pin on the top board and a socket on the bottom but if we want to stack 3 or more boards we need some sort of stacking connector type.
i've seen them in use on PC104 boards but have not seen one with only 5 pins....

Quote
The smaller boards may use only 2 holes in opposite corners.
yes indeed.  i think we should specify on our template which 2 are fixed and which are optional.


dunk.
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 22, 2008, 10:55:01 AM
Here it is the

"SoR Standard Dual 1 Amp DC Motors Controller"

Title: Re: A community project for the summer perhaps?
Post by: Admin on January 22, 2008, 01:26:55 PM
I should probably comment on the motor driver . . .

#2 for Right-Motor doesn't seem to have anything connecting to it.

Also, the trace width going to the motors is waaaaay too thin. There is lots of room for more red tracing, fill it up!

The trace separation distance for the lower blue plane, on some traces, looks really small . . .

For the programmer connector, put a big white triangle where pin 1 should be. This way a person won't connect it in reverse.

For the big 1000uF cap, it looks a bit small. Make sure the cap is rated for at least 24V.

Lastly, put it into 3D (http://www.societyofrobots.com/electronics_Eagle3D_tutorial.shtml), I'm curious how it will look!
Title: Re: A community project for the summer perhaps?
Post by: Admin on January 22, 2008, 01:29:43 PM
Oh forgot to ask, whats the price of it all?
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 22, 2008, 02:12:08 PM
I should probably comment on the motor driver . . .

#2 for Right-Motor doesn't seem to have anything connecting to it.

Well, it is connected, but can't really see it in the picture atached. I'll try to make a better picture (PNG or something...)

Quote
Also, the trace width going to the motors is waaaaay too thin. There is lots of room for more red tracing, fill it up!

OK. I enlarged it to 32 mils, but I have checked the trace width calculator and it says 12 mils for 1 amp at 1 oz/ft^2 copper thickness.

Quote
The trace separation distance for the lower blue plane, on some traces, looks really small . . .

Same thing with the picture quality. The spacing is 50 mils. Edit: you were right, changed the Isolate to 16 mils.

Quote
For the programmer connector, put a big white triangle where pin 1 should be. This way a person won't connect it in reverse.

Did that, thanks.

Quote
For the big 1000uF cap, it looks a bit small. Make sure the cap is rated for at least 24V.

Actually, this capacitor should be layed down on the board. I have created enough space around it for that.

Quote
Lastly, put it into 3D (http://www.societyofrobots.com/electronics_Eagle3D_tutorial.shtml), I'm curious how it will look!

I'll do that. Thanks for your coments!

Oh, by the way, I didn't check prices for the parts. But the most expensive is the PCB. If done in quantities, it would worth to build it as a module. I am not a fan of making my own boards. I did that, had good results, but I want my boards to have solder mask and silk screen and most important, metalised holes.

I am also working on a small Dual Modified Servo Controller, similar to this one, and a Dual Stepper Controller. I intend to finish them before I get to Canada.

All these controllers will be controlled by the Main MCU module with the same commands. So swapping motors and controllers won't change a single line of code in the Main MCU. I will need help on writing the firmware for them. When the time comes, I'll open a new thread.
Title: Re: A community project for the summer perhaps?
Post by: Admin on January 22, 2008, 02:40:51 PM
Quote
I enlarged it to 32 mils, but I have checked the trace width calculator and it says 12 mils for 1 amp at 1 oz/ft^2 copper thickness.
Larger traces won't hurt. So wait, this only supplies 1A? A bit low . . . I didn't look up the IC's . . . but what if a user wants to stack an extra driver IC to double current? Would be good to have tracing for it.

Quote
Oh, by the way, I didn't check prices for the parts. But the most expensive is the PCB. If done in quantities, it would worth to build it as a module. I am not a fan of making my own boards. I did that, had good results, but I want my boards to have solder mask and silk screen and most important, metalised holes.
The reason why I ask is because you can buy drivers with comparable features for about $60, so this would have to be much less to be worthwhile for people.
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 23, 2008, 04:25:23 AM
I have looked on DigiKey for parts prices and I added up parts cost (price per 1 piece). All the parts cost about $20 plus the price of the board, that can be $15 (5 pieces order) or a lot less if ordered 100 pieces (about $4-5 a piece). Plus shipping from 2 places, plus handling, plus a little for design... I gues the price for a one piece controller would be around $50. Ordered in hundreds, price can drop to $35 a piece.
Title: Re: A community project for the summer perhaps?
Post by: Rebelgium on January 23, 2008, 10:26:06 AM
I suggest there should also be a motor driver using the L298, this is a dual H bridge that can supply 2A continuously.
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 24, 2008, 12:32:26 AM
I suggest there should also be a motor driver using the L298, this is a dual H bridge that can supply 2A continuously.


Yes, that would be the Medium Power DC Motor Controller. I'll do that too. The firmware doesn't care the power the H-bridge delivers. Same will work for Stepper Motors.
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 24, 2008, 07:14:49 AM
so when are we building the motor drivers?

I volunteer myself for whatever service needs be done.
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 24, 2008, 07:51:59 AM
Well, I don't know. There is still room for improvement. For instance, I am looking to add a voltage divider to be able to measure the motor battery voltage.

Here is what I'm going to do:
- a Dual Modified Servo Controller with Encoders // I need this ASAP for my project
- a Dual Medium Power DC Motor Controller
- a Dual Low Power Stepper Controller
- a Dual Medium Power Stepper Controller

I'll try to write some code for them, but I need someone to write the code properly in C.

I need to know some things: do we want PID controll in the firmware? If yes, how do we tweak the values? Should I add multiturn pots to the boards or are we going to do it in the firmware?
Title: Re: A community project for the summer perhaps?
Post by: Admin on January 24, 2008, 07:55:07 AM
After Ro-Bot-X posts a 3D image of it plus dimensions, airman00 can you design up a google sketchup of it (since you have started the SoR Sketchup Library (http://www.societyofrobots.com/robotforum/index.php?topic=2990.0;prev_next=next))?
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 24, 2008, 08:05:03 AM
After Ro-Bot-X posts a 3D image of it plus dimensions, airman00 can you design up a google sketchup of it (since you have started the SoR Sketchup Library (http://www.societyofrobots.com/robotforum/index.php?topic=2990.0;prev_next=next))?

sure I just need exact dimensions of parts
Title: Re: A community project for the summer perhaps?
Post by: Ro-Bot-X on January 24, 2008, 03:02:04 PM
I have completed the 3D rendering of the board. For parts size, please check the zipped Eagle files attached.
Title: Re: A community project for the summer perhaps?
Post by: airman00 on January 24, 2008, 04:34:35 PM
OK ill make a sketchup of it when I get the chance..
Title: Re: A community project for the summer perhaps?
Post by: Rebelgium on January 28, 2008, 10:55:51 AM
http://www-micrel.deis.unibo.it/~augusto/doc/Com_i2c.pdf

I found this doc when searching info on I²C, on page 24 I found this text:
Quote
The I 2 C-bus specification
Trasmissione Dati-I2C
Wiring pattern of the bus lines
In general, the wiring must be so chosen that crosstalk and interference
to/from the bus lines is minimized. The bus lines are most susceptible to
crosstalk and interference at the HIGH level because of the relatively high
impedance of the pull-up devices.
If the length of the bus lines on a PCB or ribbon cable exceeds 10 cm and
includes the VDD and VSS lines, the wiring pattern must be:
SDA
VDD
VSS
SCL
If only the VSS line is included, the wiring pattern must be:
SDA
VSS
SCL
These wiring patterns also result in identical capacitive loads for the SDA and
SCL lines. The VSS and VDD lines can be omitted if a PCB with a VSS
and/or VDD layer is used.


It might be a good idea to change the order of the wires since now they're
Vdd
VSS
SDA
SCL
NC

Maybe it's not worth it because you think there's not that much chance of having crosstalk.
Title: Re: A community project for the summer perhaps?
Post by: Asellith on January 29, 2008, 09:29:50 AM
I had an idea for a cellular module to control a robot. I am going to develop the board and work on it as a personal project that I might try to sell later on. On that note I can make a special version for the SOR project if there is enough interest. This will be a GSM cellphone that means it will work on AT&T,T-mobile and some others. The module I am using will have Java embedded in it so it can be customized. I will also have several perifirials so that this can be used as a stand alone robot controller that can report back to a computer through the internet. My plans are to make a simple interface to control it and change settings but leave it open for customization by the end user. It will have cool things like RS-232 and USB onboard. However the module does not support I2C. But I think I can find a way to convert the uart to I2C and make the controller act as an I2C master that way it can talk to the other modules on the bus. Right now I have 2 uarts from the module and 1 is used for RS-232 the other can be converted to I2C for this project if you all are interested. If not I'm leaving it as a UART. Unless we want to go ahead and build a UART to I2C module then that would work as well.

Jonathan Bowen
Title: Re: A community project for the summer perhaps?
Post by: hazzer123 on February 08, 2008, 10:26:03 AM
I just received an alphanumeric 16x2 display and a 128x64 pixel mono graphic display in the post, so im ready to start making the display module.

How is everyone else doing? The discussion seems to have ground to a halt. Has the progress stopped aswell?

Title: Re: A community project for the summer perhaps?
Post by: airman00 on March 10, 2008, 09:37:35 PM
Have we all just given up on this?


C'mon guys!
Lets get some progress done!  ;)
Title: Re: A community project for the summer perhaps?
Post by: dunk on March 11, 2008, 02:53:55 AM
the microcontroller boards on my current robot all run firmware that meets the design specs.
i had already built most of the boards before we settled on the hardware specs though so only one of them meets the board layout design rules.
i really should redo the board layouts but don't know when i'll get round to it.
http://mrdunk.googlepages.com/electronics (http://mrdunk.googlepages.com/electronics)

anyone else got anywhere with this?


dunk.
Title: Re: A community project for the summer perhaps?
Post by: Trumpkin on April 06, 2008, 04:37:00 PM
Everybody, post what you are doing!
Title: Re: A community project for the summer perhaps?
Post by: Asellith on May 05, 2008, 12:28:16 PM
Ok getting out the paddles to try and get some life into this project....

CLEAR!!!!

ok

Starting work on the Servo Controller module. Going to have to do research into how many servos I can cram onto one board because I know some of you guys like those hexapods and other walkers that require lots of servos. My project only needs like 7 or 8 but why not go the extra distance and design a good board.

Updated potential module list to indicate that I am working on it.

Title: Re: A community project for the summer perhaps?
Post by: airman00 on July 21, 2008, 11:03:29 AM
anything finished yet?
Title: Re: A community project for the summer perhaps?
Post by: Asellith on July 21, 2008, 06:46:14 PM
Still in the design phase for the Servo Module. I have the concept and am working on a plan for the code. I want to design the hardware really good with a lot of room for expansion code wise. Then I'll get a base code that works and add a bunch of bells and whistles to the code later.

Right now I'm waiting for work to slow down so I can get some work done. I officially take a new position this Friday and will be on call for the rest of my life. But they tell me the radio station only calls you 4 or 5 times a week and about 3 times a month you actually have to go the the station or the transmitter. So hope to see results soon.

Am I the only one working on a module?

I saw some power designs posted earlier but nothing for months now.