10

How Servos Work Based on these details of your question: I just got a kit [...] continuous servos [...] plugged it into the microcontroller Combined with your "Arduino" tag, I'm betting that you are working with hobby (RC) servos modified for continuous rotation. Standard servos work by receiving a pulsed signal with a 20ms period (50Hz). Regular ...


7

Motion Profile Generation In the past, I've used a motion profile generator to solve this problem. To use it you would need the desired target position (set point), maximum velocity, and acceleration values that are associated with your motors. It works by integrating a trapezoidal velocity curve in order to get a smooth position profile. An S-curve can be ...


6

motor controllers what is the actuated quantity Yes, the output of the control electronics and the input of the motor, in the simplest case -- DC permanent-magnet motors -- is the voltage applied to the motor. In other cases, the output of the control electronics is the duty cycle of a PWM voltage applied directly to the motor or indirectly to the "signal"...


6

There are a variety of reasons to separate the motor power from the "hotel load", including: Reducing the number of wires running between high-power and low-power electronics Redundancy (your homing beacon shouldn't run out of power when the rest of the system does) Preventing heavy current loads from browning out the control system Making the system more ...


5

To answer your questions about the motors/gearing: To lift 5Kg at 1 metre distance - the "shoulder" torque needs to be 500 Kg.cm or about 5000 N.cm. This is far above the torque of most model servos, so forget them; robots of this sort of performance generally use a specialist motor, much more than 12V and a purpose built gearing arrangement that probably ...


5

Universal states that they use brush-less DC motors with harmonic drives on their FAQ here http://cross-automation.com/blog/universal-robots-top-10-faqs Bigger ones like the KUKA KR5 uses AC servo motors. From the conversation here https://support.industry.siemens.com/tf/ww/en/posts/kuka-servo-motor/87265/?page=0&pageSize=10#post344333 it looks it is a ...


4

It seems to me like there are three basic differences between the classic PID topology and the so-called PIV topology mentioned in the white paper: Desired velocity is assumed to be proportional to position error, the $K_p$ term regulates this. The integral error gain $K_i$ works to remove steady state errors in velocity, not position. That is essentially ...


4

There is at least two modalities along which servos (continuous or otherwise) usually fail: gear problems and motor breakdown. When the gear fails (broken tooth, hard point, etc.), the servo may get stuck, free moving or any combination. When the motor breaks (usually the brushes inside the DC motor are the culprit), the servo stops working altogether (as ...


4

I suspect that your Arduino is reseting, by the fact that the stall current of the motor by the product sheet is $800mA$, and you are using the USB power, then Arduino regulator, to supply the motor. As you are using the USB/Serial converter to make the connection to the Raspberry Pi, when it resets, it can be creating a new "virtual" serial port on the ...


3

I believe the most efficient thing to do is to maintain a 90 degree phase lead, and adjust your voltage magnitude for control. You'll probably want to have an inner current loop, wrapped by the actual position loop.


3

You can also add between the controller power an electrolytic capacitor of about 500 or even 1000 microfarads x 12 volts and a diode in series with it, so when the trigger pull much current source with a corresponding drop in voltage will be avoided that Power down controller please and even free you from unwanted noise (about 10 turns of cable around a ...


3

If you are speaking about RC style servos, then the actual drive to the motor is in the form of a pulse width modulated voltage: the servo amplifier just turns the motor on fully in one direction or the other, for a length of time determined by the difference between the measured position and the target position as determined by the width of the incoming ...


3

Your intuition is right but your question is actually a bit off, I would say. The variable controlled is indeed position. What you want to know is what variable is actuated, that is, what do we use to control position. I don't know much about the internals of servomotors, but when performing PID control of DC motors it is quite common to use the voltage ...


2

A PID loop and a so-called PIV loop with equal gains should have the same response to a disturbance, so I'm not sure why the claim that the disturbance response is better or worse. As mentioned, the derivative "kick" will be less, which can be a good thing if you give the thing sharp inputs. In addition, there can be some benefits as the thing comes out of ...


2

In industry, this type of control is still generally referred to as PID control and I've seen many applications of it. It's main benefit stems from the fact that it removes the "derivative kick" caused by an abrupt change in set point and thus is useful for applications where set point tracking is most important (rather than fast disturbance rejection). See ...


2

You are right that there are issues in having an "unclean" power supply running into your RaspberryPi. If you are drawing tons of power, things get very hairy very fast. However, there are ways to "convert" and "clean" a supply to isolate the voltage (and therefore making it suitable for input to the Raspberry Pi). How much cleaning will depend on your ...


2

18 servos is a lot of power no matter their size but you are going to need to be more specific with what kind of servos you are talking about. That said, this What is the best way to power a large number (27) servos at 5 V? is a good answer to your question.


2

As can be seen in the following two photos from pages 1 and 3 of David Hunt's article mentioned in question, the timing belt forms a U-bend as it passes the motor's drive pulley. Sets of bearings support the back of the belt on each side of the drive pulley. It looks like the centerline of the drive pulley is in line with the rest of the belt. A deeper U ...


2

I think the question refers to this sort of device: RC servo Those usually aren't very high performance so they're not going to be able to track a generated motion profile very well. Most commercial motor control systems use an S curve for a point to point move (see @ddevaz's answer) which do a piece-wise profile where each segment uses a different ...


2

I assume you mean hobby servos, like the one pictured here: These were primarily designed for RC planes and cars to actuate control surfaces and steering. Continuous rotation is not needed. So a simple and cheap potentiometer is used for absolute position measurement. Cheap pots like this have a large dead zone. Their internal construction is something ...


2

One way you can use SLAM in your setup is to stop the robot every 30 cm or so, and perform a sweep with your lidar. You can then use e.g. one of the 2D SLAM packages from openslam. The problem with sweeping while you are moving is that you cannot get any correspondence information from a single range reading. SLAM works by associating features in one ...


2

Sounds more like a material/mechanics of materials problem to me. I'm assuming this is an FDM part, and the M3 nut is metal? The nut will have no trouble stripping this. FDM parts are far from 'full strength' parts, nearly all 3D printing is. There are too many 'spaces' inside of the print itself. This gets compounded by your design itself, since this part ...


2

Yes, you could control the legs, but no, you're probably not going to get the effect I think you're after. The legs will probably not walk on their own just because they're miming what your motion capture system recorded. First, a human leg has more than six degrees of freedom. The hip can flex and extend, abduct and adduct, and rotate laterally and ...


2

Chuck's answer is correct; applying motion capture to a robot will make its legs move in a walking motion, but won't guarantee that the entire setup will remain upright. One simple fix for that would be to just use the legs for propulsion only, and use a set of wheels for balance.


2

There's no reason why you couldn't do it with a servo on the first pendulum, but the problem is very different. Instead of motion constrained on a line (cart), motion is constrained along an arc. The dynamics change dramatically due to both vertical and horizontal motion along the arc, but that's not to say that it couldn't be done. As far as I know, it's ...


1

I am looking into this type of absolute position encoder. They were used in the NAO robot. They are small, accurate and typically under $10 USD.


1

The measurement you're looking for is called "resolution" -- it will tell you how many positions the motor can be in. One way to calculate this is based on the number of bits returned by the encoder (or resolver). This page has a great introduction to servo motors, including this bit on resolution: Resolution – this is a measure of the smallest ...


1

Torque is pretty easy to calculate. A 300 gram (2.94 Newton) mass at the end of a 340 mm (0.34 meter) arm is 1 Nm. (2.94 * 0.34). If the arm weighs 2 kg (19.61 N), and its center of mass is half it's length, (0.17 m), that adds another 3.33 Nm. So a total of 4.33 Nm. But this doesn't take into account the joint's rotational acceleration which you didn't ...


1

First of all industrial robots drive trains with basically no play/backlash, plus the whole construction is very rigid. AFAIK they all use harmonic drive gearing, which is extremely expensive. Most DIY'ers are not willing to spend that kind of money, and that is one reason why they have jerky movements. With regards to Universal Robots. They use motors ...


1

The tutorial is using software pwm from java code. If the PI is otherwise busy or the jvm pauses for garbage collection, the pwm signals to the servo will be erratic. Which could be causing your problems. I have to admit to only looking at the first page of the tutorial.... The other problem I encountered which was very confusing was erratic behaviour ...


Only top voted, non community-wiki answers of a minimum length are eligible