Help with the choic...
 
Notifications
Clear all

Help with the choice of motor type for a 5-6DOF robot arm

11 Posts
3 Users
1 Likes
4,730 Views
(@mr-morgigi)
Member
Joined: 3 years ago
Posts: 6
Topic starter  

I've done a lot of research but still I'm still faced with the choice of suitable motors for my 5-6DOF robot arm. I am torn between servo and stepper motors. Would BLDC motors also be a suitable choice? In this jungle of information it is hard to decide. The motors should be as precise and strong as possible while at the same time being as easy to control as possible, small in size and low in price. I rather tend to stepper motors, because they should be especially precise and strong. Can you give me some advice? What do you think about BLDCs?

Tahnkful for any advice.


   
Quote
robotBuilder
(@robotbuilder)
Member
Joined: 5 years ago
Posts: 2042
 

@mr-morgigi

What tasks is the robot arm going to perform?
How fast must the arm move to perform this task?
How heavy are any objects it must lift?
If it is a simple pick and place robot arm with known weights then stepper motors are probably suitable. If however it has to respond to the environment with force and/or sensory feedback then positional feedback would surely be required.

 


   
ReplyQuote
(@mr-morgigi)
Member
Joined: 3 years ago
Posts: 6
Topic starter  

@robotbuilder

It must perform a pick and place using computer vision. The object to be recognized and gripped should be something simple and relatively light like a pen or a screw for example. I have no special requirements for the speed of the movement, but it should be smooth, precise and reliable.

To the technical specifications of the robot arm:

It should have a range of 20-30cm and at least 1 of its joints should be rotatable by 360°. It will be equipped with a gripper for the pick-and-place task.

Translated with www.DeepL.com/Translator (free version)


   
ReplyQuote
robotBuilder
(@robotbuilder)
Member
Joined: 5 years ago
Posts: 2042
 

@mr-morgigi

The other question is what is your budget?
Also is it going to be a useful tool or an educational project?
That speed is not important flags an educational project.

My own experience was a long time ago using the toy owi arm and adding POTs for positional feedback. One task I attempted was picking up toy wooden blocks using a webcam placed on the elbow of the robot. Not having more degrees of movement in the wrist was an issue as that is required to orientate the object as required.  I would like to build a better one myself and would probably use the Processing language as there are plenty of vision tutorials and it can be used with the Arduino.

Speed I would suggest is important for I found watching it move ever so slowly was boring and time consuming!

I would suggest variable speeds. Move quickly to the target and then slow down to position and grasp the target.

In the case of human control systems vision is more a locater while touch and force feedback provide a fast accurate grasp of the object.

You say you have done a lot of research on the subject and yet none of it covered the advantages and disadvantages of servo vs stepper motors?

Would something like this fit your requirements??

 

So I assume the DFRobot wasn't suitable?

You could build your robotic arm with larger motors?

 

 


   
ReplyQuote
frogandtoad
(@frogandtoad)
Member
Joined: 5 years ago
Posts: 1458
 

@robotbuilder

Posted by: @robotbuilder

I would like to build a better one myself and would probably use the Processing language as there are plenty of vision tutorials and it can be used with the Arduino.

I agree with your recommendation in using Processing for this kind of stuff.  You provided a link to me a while back for vision processing with the crazy Shiffman, and I like his teaching style 🙂

Cheers.


   
ReplyQuote
(@mr-morgigi)
Member
Joined: 3 years ago
Posts: 6
Topic starter  

@robotbuilder

The project represents my bachelor thesis and should therefore meet certain requirements. One evaluation criterion is to choose a cost-saving concept. Since the university pays for the costs of the robot arm, I can also use higher quality and therefore more expensive components, if I can justify that these are necessary.

The arm speed should not be super super slow. But whether the arm needs 2-3 seconds more or less for a pick-and-place task is not a high priority. In fact I already thought about a high approach speed and a reduction of the speed the closer you are to the target. You often read about sinusoidal speed controls.

Indeed, I have already read a fair amount about servos and steppers. Both seem to be precise and therefore suitable for robotics. Stepper are mostly realised open loop and therefore apparently easier to control (?), but there is a risk of step loss. Servos are very reliable but need additional control elements such as an encoder.

You can see both types beeing used equally in different robot arm projects. I have the impression that steppers are rather used for the lower joints at the base, shoulder and elbow, where more weight has to be moved and therefore larger forces are needed. Servos are often seen in the "weaker" joints in the direction of the gripper, where not so much weight has to be moved. I also observed robot arms that are not very heavy, which use driving concepts with only servomotors. Since my robot arm will be 3D-printed and will have a certain range (20-30cm), I can imagine that the arm will have a decent weight and therefore I need relatively strong motors at the lower joints.

The questions I finally ask myself are the following:

- I generally tend to use stepper motors. But maybe a combination of stepper motors for the lower large joints and small light servo motors for joints like the gripper makes sense?

- Which type of motor is easier to control / needs less control components? This would be helpful in terms of the reasoning behind my choice of components.

- Do both types definitely need drivers?

- Do you / does anybody here have any experience with BLDC motors for robot applications? You read about them more and more often.

- Regarding the overall control: I thought of a combination of Raspberry Pi as a powerful computing unit (especially for computer vision) and a microcontroller (e.g. Arduino) as a control element close to the hardware. Does that make sense?

 

p.s.: Thanks for the video recommendations. I already know the first one, but I will take a look at the second one 😉

This post was modified 3 years ago 7 times by Mr.Morgigi

   
ReplyQuote
(@mr-morgigi)
Member
Joined: 3 years ago
Posts: 6
Topic starter  

@robotbuilder

From your experience, how many DOF would you recommend as a minimum for picking elements from the plane without problems? Wanna keep the robot arm as simple as possible. Thought about 5-6 (exclusive gripper):

- base: yaw

- shoulder: roll

- ellbow: roll

- forearm: yaw

- wrist: roll

- maybe another yaw-DOF at the wrist (interface for the endeffector)

This post was modified 3 years ago 2 times by Mr.Morgigi

   
ReplyQuote
robotBuilder
(@robotbuilder)
Member
Joined: 5 years ago
Posts: 2042
 

@mr-morgigi
The project represents my bachelor thesis and should therefore meet certain requirements.

Are you restricted to any particular arm design?

For known weights and in a clear environment (no obstacles) stepper motors should work fine.

Have you considered this type of design?

Rather than lift the whole arm another option is to just move the rod holding the gripper vertically up and down.

Linear drives make it easier to precisely position the working end of a robot arm and in a simple pick and place robot arm with objects on a linear plane it would require less degrees of freedom then the awkward rotating joints.

A 3d printer is a good robot arm design just replace the working part with a gripper.

The design would depend on how the arm is to be used.  In a factory vs attached to a domestic robot.

 

 


   
ReplyQuote
robotBuilder
(@robotbuilder)
Member
Joined: 5 years ago
Posts: 2042
 

@mr-morgigi

- Regarding the overall control: I thought of a combination of Raspberry Pi as a powerful computing unit (especially for computer vision) and a microcontroller (e.g. Arduino) as a control element close to the hardware. Does that make sense?

Depends on the application. For me I would just use a laptop computer and use the Arduino as an intelligent USB interface to the hardware. A laptop gives you a fast computer with lots of software support. However for some applications a RPi or an Arduino or both would be the best solution.

 


   
ReplyQuote
(@mr-morgigi)
Member
Joined: 3 years ago
Posts: 6
Topic starter  

Hey guys,

 

Update: The Kinematics are clear --> 6 DOF

Screenshot 2021 07 23 17.01.30

 

I chose the motors and the camera. I will use 4 Servo motors (2x Dynamixel XL430-W250-T and 2x Dynamixel XL330-M288-T) and 3 Stepper motors. As a camera I chose the Raspberry Pi Camera Module V2.

As I mentioned before, the robot should perform pick-and-place tasks using computer vision with the camera sensor.

 

Now I struggle with the following tasks:

- Selection of motor controller / driver --> are motor controller and motor driver the same thing?! Do the servos necessarily need driver/controller? Somebody told me they don't because the have an absolute encoder with integrated H-bridges. Still hard for me to understand...

- Choice of control unit (Raspberry Pi / Arduino / both)

- Choice of power supply

- proper interconnection of all the components

 

Any recommendations?

This post was modified 3 years ago by Mr.Morgigi

   
ReplyQuote
robotBuilder
(@robotbuilder)
Member
Joined: 5 years ago
Posts: 2042
 

@mr-morgigi

Now I struggle with the following tasks:

- Selection of motor controller / driver --> are motor controller and motor driver the same thing?! Do the servos necessarily need driver/controller? Somebody told me they don't because the have an absolute encoder with integrated H-bridges. Still hard for me to understand...

Looking online I see these are intelligent servo motors thus you don't need a motor controller,  they are inbuilt,  you only need to download the library to make use of the motors.  I don't have the motors myself so I can't experiment with them to give anything more useful than you can find online.  As you have chosen a Raspberry Pi compatible camera I would use the a Rpi and not an Arduino unless you have speed issues with the robot arm itself or cannot find any RPi details on using the Rpi with the motors.

 


   
Mr.Morgigi reacted
ReplyQuote