Go Down

Topic: 12-servo lynxmotion 209 standalone issue [forwarded] (Read 2959 times) previous topic - next topic

masamune_demin

Hi,

   I recently assembled a 12-servo bipedal hobby robot. I ran it on a SSC-32u servo controller and set up an initial stance for it via its sequence utility.
     As I proceeded with my project, I would like to make it as a standalone, such as making it walk without any usb cables. I then thought about adding a Xbee WIFI module to the SSC-32u board so that I may control my device remotely. However, the SSC-32u board does not store any coded data (as far as my limited knowledge of the board goes, but plz. correct me if I am wrong). I then started to connect my arduino Uno board to the SSC-32u board (like a servo controller shield). That way, I realized coding, data storage and wired executing. However, it does only perform linear control due to my poor arduino coding knowledge.
     Apologize for my lengthy prologue.
     My questions: in terms of my device's wireless control and its autonomy, should I use my arduino Uno as the major platform for coding OR should I use SSC-32u solely to realize its autonomous movement such as walking via a remote control ?
My appreciation in advance.

goodinventor

If you are comparing it to the Uno then for the sake of simplicity I recommend that you don't use the Arduino. However, if you have some Arduino board that perhaps has some advantages over the SSC-32u such as more memory or processing power, then it would be worthwhile. In any case you need to consider your project's requirements and then take action from there.

DuaneDegn

#2
Jan 11, 2016, 09:54 pm Last Edit: Jan 11, 2016, 09:55 pm by DuaneDegn
My questions: in terms of my device's wireless control and its autonomy, should I use my arduino Uno as the major platform for coding OR should I use SSC-32u solely to realize its autonomous movement such as walking via a remote control ?
What sort of commands do you want to send to the robot? Do you want to use a computer keyboard as your controller?

What about using a wireless game controller as an input device? By adding a $3 Bluetooth module, you could use an Android smartphone as a controller.

As I mentioned in this reply, I don't understand the appeal of using an external servo controller. I want to continually be calculating the next servo positions based on control inputs or sensor inputs. Unless I'm having a robot perform some scripted action, I want the controller to be continually updating the servo positions. Even with scripted action, I think external servo controllers are limited to linear motion (each position advances by some set value, the resulting motion can of course be circular).

I'd think an Uno should be able to handle 12 servos. You'll need to figure out a way to get power to the serovs. In reply #12 of the above linked thread I show the sort of boards I used with my hexapod. The Gerber files are available if you wanted to have some made yourself. Of course that sort of board is easy to make with some perfboard, headers and solder.

goodinventor

Walking is all about balance. You need to understand how to maintain balance in a walking robot first. Whether or not you need potentiometers depends on whether the servos you are using are smart servos or not. It they are smart servos then those won't be necessary since the smart servos also read positions back for you.

masamune_demin

What sort of commands do you want to send to the robot? Do you want to use a computer keyboard as your controller?

What about using a wireless game controller as an input device? By adding a $3 Bluetooth module, you could use an Android smartphone as a controller.


What sort of commands do you want to send to the robot? Do you want to use a computer keyboard as your controller?


Thank you for your reply.

I presume using my computer as my controller though I do have a ps2 controller and a receiver but they are for the SSC servo controller. And I do not have any android-friendly device. So, largely a computer would be ideal.

In terms of coding, I am an absolute newbie; I just learnt yesterday how to code to adjust servos' positions one by one using loop command on my arduino uno board. what other commands do you suggest contribute to a point to make my robot walk ?  I know that I should learn from basics and I do not know why I started with such a difficult project (to me at least) besides interest. Systematically, do you know any educational material about coding to make a 12-servo bipedal robot walk? I watched several walking robots videos but few of them demonstrated how to make them walk by coding. Do I need potentiometer(s) to show servos positions ?

  My appreciation in advance.

DuaneDegn

#5
Jan 12, 2016, 01:02 am Last Edit: Jan 12, 2016, 01:02 am by DuaneDegn
I do have a ps2 controller and a receiver but they are for the SSC servo controller.
You can use the PS2 controller with the Arduino.

And I do not have any android-friendly device.
Does this mean you don't have an Android device? If so, that's fine. The PS2 controller would probably be a better interface.

Systematically, do you know any educational material about coding to make a 12-servo bipedal robot walk?
No, I don't know of any bipedal robot tutorials. I suggest learning to control a servo well. Control the servo so it doesn't slam from one position to the next.

I posted some joystick/servo code here. I think the code is a good example of how to ramp up the speed of servos in order to produce smooth motion.

I personally like to use algorithms to control servos. My hexapod has an algorithm which tells its feet where they should be positioned. The IK algorithm then calculates the angles to which the servos should move. I think the same sort of thing could be done with a biped. Here's an old video of animated Lego minifigures. I used an algorithm to generate the various positions in the minifigure. When/if I make a biped, I plan to use a similar approach to generate movement.

It would likely be easier to use a table of servo positions in order to generate a workable gait for your robot. I haven't used this approach myself but I believe it's very common.

You might be able to use a wireless device between your servo controller and the computer. I don't know enough about the servo controller you're using to know how practical this would be.

Do I need potentiometer(s) to show servos positions ?
No. The servos have potentiometers already. You generally don't need to read back the position from a servo. As long as you're not driving the servos past their mechanical limits and not stalling the servos, the servos should be positioned as commanded by the Arduino. The Arduino already knows the servos' position since it just told them to move to the current position.

masamune_demin

use algorithms to control servos. The IK algorithm
Thank you for your reply.
Would you mind elaborating more on the subject of IK algorithm. Does "IK" mean Inverse Kinematic. I searched it on wiki and it links to Kinematics equations; it looks complex...esp. matrices...

a table of servo positions in order to generate a workable gait for your robot.
Do you mean that I pose my robot like an articulated figure and record each position ?

masamune_demin

Walking is all about balance. You need to understand how to maintain balance in a walking robot first. Whether or not you need potentiometers depends on whether the servos you are using are smart servos or not. It they are smart servos then those won't be necessary since the smart servos also read positions back for you.
Thank you for your reply; I wish I could use smart servos but they are expensive. :)

goodinventor

What servos are you using? Maybe I can look up the datasheet and tell you the features it has (if you don't want to look it up yourself).

DuaneDegn

Would you mind elaborating more on the subject of IK algorithm. Does "IK" mean Inverse Kinematic. I searched it on wiki and it links to Kinematics equations; it looks complex...esp.
Yes,  "IK" stands for Inverse Kinematics.
The complexity of the equations depends on the complexity of the robot joints. I used rotation matrices to calculate the positions of the minifig pieces in the animated video but I didn't use rotation matrices in my hexapod program. But you're right, the math is pretty complex (which is why I wanted to make a hexapod).

Do you mean that I pose my robot like an articulated figure and record each position ?
Yes. You often use some sort of algorithm to move between these poses.

goodinventor

Yes,  "IK" stands for Inverse Kinematics.
The complexity of the equations depends on the complexity of the robot joints. I used rotation matrices to calculate the positions of the minifig pieces in the animated video but I didn't use rotation matrices in my hexapod program. But you're right, the math is pretty complex (which is why I wanted to make a hexapod).

Yes. You often use some sort of algorithm to move between these poses.
Which is why I am getting ahead in math. I need to learn how to maintain balance myself in a robot.

masamune_demin

What servos are you using? Maybe I can look up the datasheet and tell you the features it has (if you don't want to look it up yourself).
What servos are you using? Maybe I can look up the datasheet and tell you the features it has (if you don't want to look it up yourself).
Hi goodinventor,
Plz. refer to the link for the servo specs.
http://www.es.co.th/schemetic/pdf/et-servo-s3003.pdf

I am using futaba s3003 servos.

masamune_demin

Yes,  "IK" stands for Inverse Kinematics.
The complexity of the equations depends on the complexity of the robot joints. I used rotation matrices to calculate the positions of the minifig pieces in the animated video but I didn't use rotation matrices in my hexapod program. But you're right, the math is pretty complex (which is why I wanted to make a hexapod).

Yes. You often use some sort of algorithm to move between these poses.
Hi DuaneDegn,

   Thank you very much for pointing a direction for my project. Now I shall learn some math to get it moving. :)

masamune_demin

Walking is all about balance. You need to understand how to maintain balance in a walking robot first. Whether or not you need potentiometers depends on whether the servos you are using are smart servos or not. It they are smart servos then those won't be necessary since the smart servos also read positions back for you.
Do smart servos like Dynamixel XL-320 OLLO Smart Serial Servo, the cheapest so far provide more torque than hobby servos ? Thanks.

goodinventor

Not necessarily. It depends on what type of hobby servo you are comparing it to. The only way to know would be to look at the datasheets of the two servos you are comparing.

Go Up