PDA

View Full Version : [Question(s)] Newbie advice



Changster
12-31-2008, 08:21 AM
Hello to everyone,

This is my first post so please forgive any mistakes and naiveties. After having spent the last 3 months learning everything I can from these forums and those over at Lynxmotion I am finally ready to take the plunge and invest in my first robot....or at least some components to begin with.

I figured I needed to have some sort of goal in mind and I've fallen in love with the idea of building my own hexapod....probably the Phoenix from Lynx. However, it's a big investment once you add servo's, servo controller and microcontroller. It's also apparent to me that there's a lot of learning to be done in order for me to get the most out of that kind of robot kit/project.

So, to begin with I have decided to get myself an SCC-32 and three Hitec 645 servo's (one leg)so I can get my head round controlling the servo's manually from my vista PC.

Once I'm up to speed with that I figured I'd try coding some simple programs to automate movement....eventually progressing to a Bot Board or remote PC configuration via wireless comms. I have no previous expierience in programming so I'm trying to decide what to begin with. My ultimate aim is for autonomy, not direct control via PS2, etc. So whilst some form of Basic for the ATOM would seem the obvious choice with a Bot Board, I'm wondering whether a language like C++ or C# (express versions from MS of course!) might be a better choice in the immediate short term when i get my SCC-32 and in the long run when considering off-bot control via a PC.

I would like to think that I might be working my own IK and integrating a number of sensors onto my hexapod in time so I guess i'm just after peoples views on the best way to start but also future proof myself in the long run.

To those with expierience, if you were to start all over again from scratch, knowing what you do now....where would you begin? Thanks

ooops
12-31-2008, 10:06 AM
Changster, first off welcome!
If I were to start fresh (I am still just starting myself) I think I would start with the Bioloid kit. See Here (http://www.trossenrobotics.com/bioloid-robot-kits.aspx)
I do have one, and it never gets the attention it deserves due to so many obligations (robotic and otherwise). It has everything you need in the kit to build bi-peds, rovers, hexs, and more. The AX-12 servos are pretty "top of the line" and you get 18 with the comprehensive kit.
It has the controller and the software to get you programing right out of the box with out having to learn code. This is important, and a huge stumbling point to us mere mortals that have no programming background. But as you learn to program you can also program in C, so it grows with you.
One thing you will need to order at the same time are the "Jap" screwdrivers See Here (http://www.trossenrobotics.com/store/p/5073-Genuine-Japanese-Industrial-Standard-Screwdriver-Set.aspx) they are invaluable to working with the servo screws. (I recommend these even if you don't get the Bioloid).
One thing you may need depending on the computer you have is the Dynamixal See Here (http://www.trossenrobotics.com/robotis-bioloid-usb2dynamixel.aspx) If you don't have the RS-232 port on your computer, you will need this.
IMHO- The Bioloid is the best bang for the buck if you are getting started. This is a great way to start into robotics, you gain confidence and experience and are not limited to any particular "type" of bot. All the parts are good quality and "recyclable" into other projects. Yes there are much cheaper ways to get started, but the Bioloid gets you started in the right direction.

sam
12-31-2008, 11:22 AM
Hello and welcome Changster!

Did you ever do some programming? Looks like you know a couple of things as for programing.

As ooops mentionned (I don't have one but have eared great comments about it) a Bioloid kit seems very nice and I think I would (should have) start(ed) with it. I would also recommend trying to get comfortable with programing because it is the biggest obstacle I face (and ooops too from waht he tells us) and that slows my projects down.

Another possibility (steaper learning curve involved!) would be just to buy an ATmega8 (a microcontroller). Make your own connection to program it (dont solder your chip, just put it on a solderless board. there are a lot of tutorails that can help you with the whole process, I might even make one) with your computer in C which will get you "into" right away. Then you can figure out all the electronics parts of things. Figer out how to control you I/O pins while learning to program. I did this not so long ago (but with a BS2, will do it again with an ATmega8) and it seemed that I just learned tons of things just with that little project. Buy some sensors/motors/motor controller and try to make connections to control them and "see" with them. This IMHO would be a good starting point to learn Electronics/basic programing and will give you confidence as to how to handle all the components in a robot. You won't be dependent on pre-made boards, but will be able to use them too. I think it will open a whole lot of doors! I don't quite know what more too add as far as this possibility goes.

Hope you will have fun with the robots! :happy:

Have a happy new year!

Sam

darkback2
12-31-2008, 11:24 AM
Ok...so I just got through with a really long winded post, and then some how closed the window without sending it or anything.....AARGH!

Um...first of all...welcome to the forum. I guess I have a few quesitons, and some stuff I'll share with you. Not sure if you'll find any of it helpful...

There is nothing worst than buying too much robot, at the same time I can see how someone who is in love with an idea would not want to get more robot than they can handle. I did that a bunch of years ago. I got a lynxmotion brat...sure I got it built...that was the easy part. It spent about two years sitting in a closet waiting for me to learn how to make it work.

At the same time, I know how it feels to be in love with a robot. The pheonix hexapods are beautiful, and yeah...some of the people here like Xan and Zenta make them look so graceful.

While I'm sure they would be willing to help you get things going...I can see how it would be daunting to be asking all sorts of newb questions when you don't know anything about anything.

I agree that a bioloid might be a better way to go...but I can also see how you would look at the bioloid and say...this isn't nearly as beautiful as the pheonix...the one thing is that it will be infinately easier to use.

OK...finaly.

If you really have your heart set on a hexapod, you should check out the stuff from micromagic systems. Matt Denton is has a large hex (http://forums.trossenrobotics.com/showthread.php?t=2235&highlight=micromagic+micro)for about the same if not exactly the same as the lynxmotion. He also has a micro hexapod (http://forums.trossenrobotics.com/showthread.php?t=2671&highlight=micromagic+micro)coming soon...I think that one is about $300-$400...but a lot more afordable and just as cool.


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

Hope this helps.

DB

gdubb2
12-31-2008, 11:54 AM
Welcome aboard...

I would say that what ever direction you want to persue... Go the way of your heart and mind.. Wow that sounded philosophical didn't it. If you want to build a hexapod by all means go that way. I let myself take a slight deviation from the path I was going down, and it took about a year of messing with a biped to realize I wanted something different. So I made it into a quad.

I tend to disagree with DB a little on the idea that you can have too much robot. I don't think so.. After all, parts is parts..servos, controllers, brackets can be repurposed. My bot "Bheka" bears absolutely no resemblance to the Robonova it started out as, and I like it a lot better now, even though it has a really crappy controller board.

I don't have a Bioloid, but it is very flexible. Remember once you have something working, then it's time to make it pretty.

Follow your dream...I think someone famous said that.
Good luck with what ever you do.
Gary

darkback2
12-31-2008, 01:44 PM
I guess when I say too much robot, I'm maybe not being clear. I'm talking more about the frustration in getting a robot where the learning curve is too steep to get it working.

I had that experience when I got my brat. It took two yeas before I was ready to start learning how to work with it.

frustrating to ay the least.

DB

sam
12-31-2008, 02:48 PM
Yeah, I understand the fealing. But at the same time you don't want something too easy otherwise, well you won't learn!


I've already spent a couple hundred bucks and didn't manage to make it work becasue of my skill level, frustrating indeed. To calm myself I just say to myself that when I'm more advance I could try it again or salvage parts to make another robot.

Sam

4mem8
12-31-2008, 03:29 PM
Welcome changster: All the above advice is really good Changster, and wish sometimes that I had followed that route, I am a prolific builder of robots and have lost count how many I have, BUT like the above people I cannot code to save myself and I am getting frustrated at this situation. I have set myself a goal this year to TRY and learn C, Not sure how far I will get. I guess what I am trying to say Changster is that robotics is 50/50 assembly and programming, So the Bioloid is a good choice first of. I still may get a bioloid, but will have to wait since I have just gone through a major bathroom renovation and my robot funds have dried up. I look forward to your decission and what you purchase Changster.

sam
12-31-2008, 04:13 PM
Welcome changster: All the above advice is really good Changster, and wish sometimes that I had followed that route, I am a prolific builder of robots and have lost count how many I have, BUT like the above people I cannot code to save myself and I am getting frustrated at this situation. I have set myself a goal this year to TRY and learn C, Not sure how far I will get. I guess what I am trying to say Changster is that robotics is 50/50 assembly and programming, So the Bioloid is a good choice first of. I still may get a bioloid, but will have to wait since I have just gone through a major bathroom renovation and my robot funds have dried up. I look forward to your decission and what you purchase Changster.

Sadly I would say that it is more than 50/50. Much more programing as from what I've seen. In teams entering robot competitions (university level), there are about 3 Software/programing ingeneers for 1 mechanical engineer (in proportion). This may vary from competition, but I belevieve that the minimum of programing is 50%.

I could also bring this argument to my personnal experiences with robots. I spend maybe 5 hours to build and desing the robot (without counting those sleepless night where I imagine the robot and start getting an idea of waht I want to do) and then ALL the rest is programing. Then I put the robot in pieces and start over for another robot.

Of course the building time might change, if you want to paint the robot, make a really complex design or is you build your own electronics (which kinda go in the programing part too).

Programing is essential in robotics.

Just my 2 cents. All this talk makes me think I should program more:tongue:

Sam

Trampbot
12-31-2008, 04:50 PM
It's not where you start that matters, it is where you finish. So, set small goals, get stated with something/anything and see where it takes you. But be warned ... once you start it can be (read is) addicting!
Good luck and keep us posted!

4mem8
12-31-2008, 05:56 PM
Sadly I would say that it is more than 50/50. Much more programing as from what I've seen. In teams entering robot competitions (university level), there are about 3 Software/programing ingeneers for 1 mechanical engineer (in proportion). This may vary from competition, but I belevieve that the minimum of programing is 50%.


Of course the building time might change, if you want to paint the robot, make a really complex design or is you build your own electronics (which kinda go in the programing part too).

Programing is essential in robotics.



Sam

Sam you could be right, As I was taking in all my own electronics as well which should be kept separate from programming, So looking at it from that point of view I'd guess 70% programming and 30% mechanical.

darkback2
12-31-2008, 07:58 PM
I suppose that is why kits like the bioloid / robobuilder / robonova are a great place for people to start in the multi-servo robotics segment. Pose and capture software makes programming robots much easier.

DB

Changster
01-02-2009, 10:04 AM
Wow, thanks for the warm welcome and advice. It confirmed a lot of my thoughts though the Bioloid is something I hadn't looked at before. It seems that whatever I purchase.....I should get started on learning a language straight away as it would appear to be the biggest obstacle for most people by the sounds of it.

I think my motivation towards a hexpod comes from a number of things. Some logical and some just gadget lust. I'll admit I was instantly sucked in by the video's from Xan and Zenta with various different gaits and stances. Equally, Matt Denton's hexapods are awesome. The face tracking and movement on his i.c. hex had me doing backflips the first time I saw it.

However, as a walking robot it strikes me as having some fundamental advantages when it comes to balance. I was concerned that you could spend an very long time trying to get a biped walking on a flat surface whilst a hexapod could be up and mobile a bit faster?? It also struck me that a hexpod chassis might be easier to mount other modules, batteries, sensors without worrying as much about weight distribution and balance?? Sure, I can see that more legs and more servo's will certainly bring it's own complexity but I think that it would be closer to kind of things i'm hoping to achieve in the future.

Just to recap on my earlier query then...is programming in C (which version, C++ or C#?) going to offer me a better long term platform to work with or would BASIC be easier and almost as capable at the levels you would encounter with robot controls and sensors?

One final thing, I've been reading a lot of information around compliant leg structures and their role in walking, running and jumping. Has anyone seen this implimented in a 3DOF hexapod before?
Might already be another thread but i haven't found it if there is?!

gdubb2
01-02-2009, 11:38 AM
With the Robonova, you're stuck with a very striped down version of basic. I'm more comfortable with basic, but it is a more limited language. I would suggest one of the C variants.

Of course with a kit you are stuck with what is provided.. one of the curses of kits.

Gary

darkback2
01-02-2009, 01:02 PM
I'm definately not a language guy...I program almost exclusively in a program called MAX/MSP which has really limited me as a roboticist. That said, there was a thread on choosing a language (http://forums.trossenrobotics.com/showthread.php?t=2187&highlight=language) which you can find there. As for wanting to learn a language right off the bat, I applaud you for that one. You should also check out things like Microsofts robotics studio...free I think.

Earlier in the thread you suggested buying an SSC-32 and a couple of servos to get yourself used to controlling servos through the serial port of your computer. I wouldn't discurage you from doing that anyway. Who knows you might come up with a small junkbot or two out in the process.

DB

DB

sam
01-02-2009, 04:10 PM
However, as a walking robot it strikes me as having some fundamental advantages when it comes to balance. I was concerned that you could spend an very long time trying to get a biped walking on a flat surface whilst a hexapod could be up and mobile a bit faster?? It also struck me that a hexpod chassis might be easier to mount other modules, batteries, sensors without worrying as much about weight distribution and balance?? Sure, I can see that more legs and more servo's will certainly bring it's own complexity but I think that it would be closer to kind of things i'm hoping to achieve in the future.

Just to recap on my earlier query then...is programming in C (which version, C++ or C#?) going to offer me a better long term platform to work with or would BASIC be easier and almost as capable at the levels you would encounter with robot controls and sensors?

One final thing, I've been reading a lot of information around compliant leg structures and their role in walking, running and jumping. Has anyone seen this implimented in a 3DOF hexapod before?
Might already be another thread but i haven't found it if there is?!

Indeed a hexapod has those advantages. Also, a biped will need higher end servos. The bioloid have their own bigger servos that seem to work well from waht I eard again. So you can have the 645 Hitec servos will work for a hexapod. Of course if you want to had lots of perifirals, a PICO-ITX, you will need better servos. There are lot's of tools to help you out out there. Lynxmotion has the Lynxpod (I think thats what its called) Free software for hexapods. You can also have the SSC-32 sequencer. However, if you want to do the programing yourself, I believe a hexapod could be a easier.

As for programing... This debate (C Vs C++ Vs C#) seems to have been going on and on... I believe that they are all good (althought I haven't worked a lot with C and C#). What I've eared is that C and C++ are easier to learn once you know the other one, there is the same kind of "base". So it's much easier to learn C++ once you have learnt C than to switch from BASIC to C or C++. I think either of these possibilities (C, C++ or C#) is a good start. The example for the start that I gave you includes the ATmega8 which can be programed in C. I would start with the one that you can find the most tutorials, projects or librairies. I hope this was clear :tongue:.

You could probably try to do a compliant leg structure indeed. I don't know that a compliant leg in a small (maybe you want to build a bigger robot?) 3 dOF hexapod was ever done, I say it's worth a shot. The only "problem" I see is that when dealing with compliant leg structures, you need some sensors to be able to detect where the leg actualy is, which could complicate the coding. Dynamic walking with compliant legs is not the easiest task, and I would do that once I am comfortable with programing.

Hope this helped you! :veryhappy: I know once you will start building 'bot you won't be able to stop! :tongue:

Sam

Adrenalynn
01-02-2009, 05:43 PM
>> a biped will need higher end servos which are 120$ each

Not necessarily. The most popular humanoid kit, the Bioloid, uses the AX-12 servos, which are about 1/3rd that each: http://www.trossenrobotics.com/dynamixel-ax-12-robot-actuator.aspx

645MG (probably the lowest-end you'd want to make a humanoid from) are even less. About 1/4 your price there: http://www.trossenrobotics.com/store/p/3292-Hitec-HS-645MG-high-performance-hobby-servo.aspx

C# has nothing to do with, and no relationship to, C.

sam
01-02-2009, 07:06 PM
>> a biped will need higher end servos which are 120$ each

Not necessarily. The most popular humanoid kit, the Bioloid, uses the AX-12 servos, which are about 1/3rd that each: http://www.trossenrobotics.com/dynamixel-ax-12-robot-actuator.aspx

645MG (probably the lowest-end you'd want to make a humanoid from) are even less. About 1/4 your price there: http://www.trossenrobotics.com/store/p/3292-Hitec-HS-645MG-high-performance-hobby-servo.aspx

C# has nothing to do with, and no relationship to, C.

Yes I am aware of the Bioloid, I did said that he could use those in my post. And yes they are less expensive. The 645 are the limit and I wouldn't recommend for a biped. The 5990 @ 120$ were just an exaample.

Adrenalynn
01-02-2009, 07:21 PM
I guess I found the statement "a biped will need higher end servos which are 120$ each." to mean that a biped would need servos which are $120 each. I just wanted to clarify that a biped will NOT need servos that are $120 each. I guess I just didn't understand what you wrote.

ooops
01-02-2009, 08:56 PM
One final thing, I've been reading a lot of information around compliant leg structures and their role in walking, running and jumping. Has anyone seen this implemented in a 3DOF hexapod before?
Might already be another thread but i haven't found it if there is?!

Oh no, you are presenting the first systems of a robot addiction ... run, run while you can:)

Changster
01-04-2009, 07:50 AM
Ha, yes I guess i've got the bug. Might be worth me actually getting a robot before I get wrapped up in compliant leg structures and the like.

So I grabbed myself a copy of MS C# Express and found a great tutorial at a site called www.home&learn.co.uk (http://www.home&learn.co.uk). After a nights study I've built myself a calculator that can add and subtract. Clearly I'm still light years away from understanding everything but it's a positive start.

Adrenalynn, I've read in another thread that you've previously posted some C# code for outputing commands for a SCC-32 via serial port. I've searched but can't find the post so I was wondering if you might point me in the right direction if you have a moment?

Thanks again for everyone's advice. I'll come back with some updates as things progress.

sam
01-04-2009, 09:45 AM
It's in the published tutorials section of the forum.

http://forums.trossenrobotics.com/showthread.php?t=2328#content_start

Amp
01-11-2009, 06:20 AM
Hi Changster,

Sounds like you have been given a good set of sound advice. I just add my own option of starting this year.

Hear is what I have found starting robotics this year. Skip to the end for all the outcomes and advice without all wordy story.

I graduated univeristy this year in a masters of electronics. I fancied getting started on robotics. I set my goals high. I wanted to build a robot that could wanter about my room tidying it and fetching items like beer from the fridge for me. So I am looking at a robot with a high number of DOF, arms hands motion, camerals, tracking, object detection etc etc etc. I though OK, it will take me a while but I have done electronics, it should be just the mechanical and visual software that should be challenging.

I first found my development platform. I chose the QWERK board, this is an 200MHz embedded ARM7 core running linux with an FPGA bolted to its memory bus for good measure. I intended to use the FPGA for custom hardware control and for visual processing (as I had worked with FPGAs during my degree). All was fine.

Then I came to desinging my robot, summer passed researching different things, buying and reading Robot builders bonanza, going on holiday, moving house etc etc. At the end of the summer, I had a good idea of how the robot would be constructed, what sensors I wanted, what vision libraries I might use, what parts I might buy and where from.

Started my job, time was pushed and robotics took a back seat whist I re-adjusted. With a lower ammount of time my foucous changed to buying some prebuilt parts (as I now had a income that was not a loan!) to speed up development. Time went buy getting boged down in trying to implement large parts of my design, arms, hands, lift mechanisims etc.

This christmas I then realised I had been going about the desing all wrong and this was the reasion I had got know where (in terms of building not knowledge) in about 6months ish. I had dived at the most complex level trying to desing parts of the robots which didnt have interfaces or anything to connect to, floating on their own. What I should have been doing was ADDDING. Building a little bit more onto the robot each month. Modifiying changing and adding to the design. First starting with a rover that could drive, then add a camer, then a neck, then a torso, then sholders, then arms, then hands. And all the time writting the software, controlling and testing each bit as I went.

Boy that was long.:tongue:



THE SUMMARY / ADVICE:
------------------------

- BUILD BIT BY BIT - This is the most IMPORTANT lesson ive learnt - make the simplest possible thing work first, then ad a little bit by little bit untill you have made your ideal robot. Think Lego!

- Plan first, build second - looks like you have this right by coming here :happy:

- Dont buy in advance far ahead in a project - Just buy what you need for now, that way when the spec changes later, or you find out somthing you have not wasted money. (Hint buy a small kit maybe)

- If you want to learn a language learn C - every single process has a compiler for C, from ARV to ARM to i368(intel) to AMD to DSPchips to Graphics Cards. It is very usefull for low level programing of embedded processors which robots use a lot.
P.S I have a beginners C book that I can post to you if you wish (as your in the UK) PM me.

- Start with a kit that has support forums (pref active), LOTS OF CODE EXAMPLES and is easy to get up and running. A flexiable kit like the biloid sounds good as you can reconnect to servos how YOU like and you can easiy expand later.

I chose my kit (QWERK) as it had a linux kernel pre-installed on it with servo and moter hardware. This allowed me to plug it into the network, fire up the example code and move servos and stream webcam data over the network to my main PC within 10mins of openeing the box!!!!!

Most of all have fun, do the things you enjoy and buy/simplifiy the things you dont.