Hot answers tagged

30

I'm posting this as an answer because it is the answer. You can't. As @BendingUnit22 mentions, you are attempting "open loop" control. Noise and variations will mean that your robot will never drive a perfectly straight line. The motors could have different winding resistances (different drive currents/torque), the wheels could be different sizes, the ...


16

Very short answer: 2 Sensors Regarding whether reading from sensors all in one node or each separately, you should ask yourself this question: Are the sensors meaningless without the other? This question asks if the sensors are tightly coupled or not. For example, say you have a sensor that is sensitive to temperature (and you need to compensate for it). ...


15

Torque is analogous to force for rotating systems, in that: $$ F = m a \\ \tau = I \alpha \\ $$ Where $\alpha$ is angular acceleration and $I$ is moment of inertia. $m$ and $a$ are mass and linear acceleration, respectively. So, in a way, a position controller, a velocity controller, and an acceleration (torque) controller are all different ...


14

I'm going to take a slightly different tack to Chuck. What is Torque Control? For me, Torque Control is about performing a move with an explicitly defined torque, rather considering torque just the means to the end of Position or Velocity control. Normally when you move a robot, you specify position and speed, with the robot allowed to use any and all ...


13

You're trying to find a formula to convert a given $(r, \theta)$ to left and right thrust percentages, where $r$ represents your throttle percentage. The naive implementation is to base your function on 100% throttle: At $0 ^{\circ}$, left and right thrust are equal to $r$ At $\pm45 ^{\circ}$, one side's thrust equals $r$ and the other side's equals 0 At $\...


11

In the simple models and block diagrams of control systems you will find in basic textbooks, they will show you a single diagram with a feedback section which uses measurements of the target parameter and a feedforward section which does not use the target paremeter. Be ready to relax that definition when you get to the real world. Treat it as terminology ...


11

The glaring issue I see at the moment is that you are forcing polarity on the I and D terms. In general, you are using a lot of sign checks, sign assignments, and conditional programming. None of that belongs in a PID controller. The entire controller should look like: pError = Input - Output; iError = iError + pError*dt; dError = (pError - previousError)/dt;...


11

In robotics, it all boils down to making the hardware(in essence, the actuator) perform the desired action. The basics of control systems tell us that the transfer function decides the relationship between the output and the input given the plant, i.e. system reacts to the latter. While purely control-based robots use the system model to define their input-...


10

The barometer carried on the pixhawk has an altitude resolution of 10 cm. If that isn't enough, you could write a kalman filter that uses the accelerometer data in the prediction step and the ultrasonic sensor and/or the barometer in the correction step. But I don't see this solving your problem. An accurate measurement of altitude at 20hz should be plenty ...


10

In control theory, we refer to this as "open-loop control", which emphasizes the lack of a feedback loop. The wikipedia article has several examples of open-loop control.


9

If you're only using proportional force, then at some point it will be balanced by the force of gravity -- your error will converge on that balance, not zero. To compensate for the mass of the arm, you'll need to add an integral force term. This will increase over time to counterbalance the constant force of gravity. See also: this answer on the integral ...


9

The paper Controlling of Quadrotor UAV Using a Fuzzy System for Tuning the PID Gains in Hovering Mode by E. Abbasi, M. J. Mahjoob explains how to tune PID gains with fuzzy logic. You can find many papers about singleton tuning but this paper shows totally fuzzy control find PID gains with ziegler-nichols (or another technique) Create a fuzzy PID gain ...


9

It's called compliance. Gravity compensation by itself is not enough to achieve this, as well it is not mandatory. For example, if reducers with high reduction ratios are used, robot arm will be very stiff to move around. One way to make robotic arm compliant is to have torque sensors that can measure the differences in expected load (i.e. weight of the arm)...


9

Typically with a multiple input, multiple output (MIMO) system, a control engineer uses a state feedback controller. This style of controller leverages a state-space model of the system and generally takes the form: $$ \dot{x}=\mbox{A}x+\mbox{B}u \\ y = \mbox{C}x + \mbox{D}u \\ $$ where $x$ is a vector of states, $u$ is a vector of inputs, $y$ is a vector ...


9

First I would question your math that got you to the 12b sensor. If you have a $dy$ of 1 mm over an arm that is $r = 1$ m long, then $\sin(\theta) = dy/r \rightarrow \theta = \mbox{asin}(dy/r)$. If you make the small angle approximation $\sin{\theta} \approx \theta$, then $\theta \approx dy/r$. This is $\theta$ in radians, so you're looking at a full ...


9

Industrial robots (e.g. Kuka, ABB, Fanuc) use a control cabinet which has the following main components: Drive amplifiers (controllers): The drive amplifiers are responsible for the closed loop control of the motors in the structure of the robot (and the external axes, if present). The number of drive amplifiers usually matches the number of motors. Their ...


9

Models. If you want to get good at control engineering, get good at modeling. If you want to impress a controls professor, get good at modeling. Models are how you're going to do 90 percent of your job, regardless of the controller style you choose to implement, so get good at modeling! If you want to try building a PID controller, first build a model of ...


8

The function $f$ comes from the equation of motion for the inverted pendulum problem (inverted pendulum alone, not including the motion of the wheeled platform). If you consider your figure but ignore the side-to-side motion of the cart, then the equilibrium of moments about the hinge is: $\sum M = m g l \sin \theta - b\frac{d \theta}{dt} $ Where $m$ is ...


8

Genetic algorithms are a machine learning technique to remove the need for a user to 'fine tune' a system, and instead allow a computer to figure out how to tune the system. The benefits of this approach are that it frees up the researchers/users time and often can lead to a system that is tuned better than what the researcher/user would have been able to ...


8

Yes, a state matrix with zero rows and/or columns makes sense and is viable. It typically signify pure integrators in the system. In the example you give, $$ \dot{v} = -\frac{b}{m} v +\frac{1}{m} u $$ where $v$ is the speed, $u$ is the externally applied force, and $bv$ is some viscous damping force. Now if the viscous damping coefficient is zero (no ...


8

In classical position control, the feedback controller only cares about the position error and is tuned to minimize it. This is done by using very high gains, i.e. if there is even a small position error, the controller counteracts by applying very high torques to the joints. It does not matter if there is a person or a concrete wall in its path; just ...


7

I would like to use P (proportional) controller for now. Just a proportional controller will never make your error stay at 0. Your system is not damped and a proportional controller acts like an undamped spring. Look at the controller equation that you wrote: τ=−K(θ−θd) and compare it to a spring equation: F=Kx or F=K(x1-x2) Your controller is acting ...


7

I don't know if there is a formal proof to this, but in general, no the set of all possible joint configurations that correspond to a particular end-effector pose is not continuous. I think of the set as islands in joint space. Where each island has some local continuous joint range, but is disconnected from the other islands. I think there are a few ...


7

You should start by reading their academic papers: M. Muehlebach, G. Mohanarajah, and R. D'Andrea, Nonlinear Analysis and Control of a Reaction Wheel-based 3D Inverted Pendulum, in Proc. Conference on Decision and Control, CDC 2013 (Florence, Italy) M. Gajamohan, M. Muehlebach, T. Widmer, and R. D'Andrea, The Cubli: A Reaction Wheel-based 3D Inverted ...


7

A couple things, the first is that the controller does not really care what the "real" values are. Everything is relative, if the controller sees that it is sinking it will increase the thrust until it is not sinking. If it is tilting too far to the left it will decrease the right thrust and increase the left thrust. (Here is a good resource if you want to ...


7

I think, it is easier to explain these areas in terms of guidance, navigation and control layers for an autonomous robot. Let's stay an autonomous robot is commanded to reach a desired goal position from where it is. Guidance (what to do): this layers computes a motion plan (a sequence of positions) that starts from the current position of the robot and ...


7

You essentially want to find the time derivative of a linear interpolation between two rotations. The easiest way to obtain this would probably to convert the rotation matrix between the two orientations to a axis-angle representation and the angular velocity would simply be the axis times the angle divided by $T$.


6

2pietjuh2's Mom: Are you familiar with dog whistles? Dog whistles make a sound at a frequency that dogs can hear but humans can not. The sound it makes has a higher frequency than the maximum frequency humans can hear. If we try to draw a picture of what human hearing is like it looks something like this: You may have seen this already if you've ever ...


6

Think of a motion profile as a graph of speed vs. time. If you drive your car down the road: Your initial speed is zero. You start pressing the accelerator pedal. The car starts moving slowly. You keep pressing down on the accelerator. The car accelerates faster. As you approach your targer speed you let go of the accelerator. The car settles on your ...


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