People who code: we want your input. Take the Survey
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 ...


11

Proportional term: this controls how quickly to turn the steering when the heading is not at the set value. A low P will lead to sluggish steering, reacting only slowly to set heading changes. It may never reach the commanded value. A higher P will give a snappier response, ideally with the steering turning rapidly and smoothly to follow commanded heading ...


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 ...


10

I was looking for something similar, and I found Mars Rover Rocker-Bogie Differential to be really helpful. With my level of understanding it took me a while. But the link my professor provided me with really helped me, it has decent animations to help understanding the concept. Okay so here's my understanding of the mechanism. The differential system ...


10

You can look at degrees of freedom as if they were the number of variables that you need to use to describe your system. So, for a robot moving in a 2D plane, its state would be represented by: $$ s=\begin{bmatrix} x \\ y \\ \theta \\ \end{bmatrix} $$ For a robot moving in a 2D plane to be holonomic, it must have the ability to change any state ...


8

The math involved for controlling a holonomic robot is really not too bad. It is basically just high-school trigonometry and knowing how to set up the problem. First, lets start with the joystick. I think the easiest way to deal with joysticks is to convert it's cartesian $(x,y)$ readings into polar $(r,\phi)$ coordinates. This will allow us to control ...


7

No, but you do need to calculate the P/I/D terms correctly. You have: I = I + previous_I; followed by: previous_I = I; With I = 0; previous_I = 0; declared at the start. So your I term will always be zero here. What it should be is: error = reference - feedback; P_error = error; I_error = I + (error*timeStep); D_error = (error - previous_error)/...


6

Since the open-closed loop issue is already mentioned, I will give a comment to the "I once tried to run a dc-motor without a load". Yes you might damage your motor with this but you can also damage or destroy your motor with a load. The destruction is coming from the current and the resulting temperature. If there is no smoke and some obvious smell coming ...


6

That's not obvious. If I'm in a tank, going 0.5 km/h, I don't need to slow down at all. If I'm in a bobsled going 100km/h and the track banks, I don't need to slow down at all. When you steer, you begin to move around a circle with a particular radius of curvature. This means you also begin to experience centrifugal force. $$ F_c = mv^2/r $$ where $F_c$ ...


5

The short answer is, frustratingly, "it depends". Nearly every established language can be used to program one robot platform or another. In my short career as a roboticist I have already used Python, Java and C++ to program different robots. There are even tools to program the Lego NXT in Ada, would you believe that? So whatever programming language you ...


5

Looks like wikipedia calls it Active Four-Wheel Steering. Although, what you're talking about is the left and right side steering opposite of each, whereas Active Four-Wheel Steering in automobile usually refers to the front and rear steering opposite of each other, I still think your case can still be considered Active Four-Wheel Steering the way it is ...


5

The motor driver chip you state you are using, the L293D, is a "quadruple half H driver." This means that, instead of two full H circuits capable of driving a motor forward and reverse, you have four half H circuits, which are only capable of driving a motor in one direction. You even speculate in your post, Either the L293D's chip is broken (but then ...


5

There are 2 main reasons why the MER is still operating long after it's 90 Sol planned lifetime. The first is political, strategic, and can be summarized as 'Under promise, over deliver'. When a PI (principal investigator) proposes a high-risk scientific mission like this, they always frame the goals of the project such that their project is viewed ...


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

This is an old question but I see it repeated without a real answer. Sticking with a kinematic model only, here's what I would do: The linear velocity of the robot is $\upsilon$ and the angular velocity of the robot is $\omega$. The distance to the ICR (not shown in the diagram) is $$ \frac{\upsilon}{\omega} $$ The velocity of the wheel about the ICR is $...


4

I'm not aware of any technical name for the alignment of the wheels except -- literally -- "steering". Spot turns in theory are no different than any other turn. You simply align the axis of each wheel with the radial lines coming from a single pivot point. If that point is underneath the vehicle, you will be doing a spot turn (a.k.a. point turn, a.k.a. ...


4

Whether a single 3-way, 2-position pneumatic valve (typically with a work port, an input port, and an exhaust port ‒ see page 3 of nationalpneumatic.com's pdf about valves) will suffice depends on information not given in the question. For example, if you can turn the compressor on or off at will, and if it will hold pressure when off, you can attach the ...


4

How fast are you driving the car and are you allowing slip during turning? From this powerpoint, the turning radius is given by: $$ R = \frac{L}{\delta} $$ where $R$ is the turning radius, $L$ is the wheelbase length, and $\delta$ is the steering angle. Note that the equation is for low speed driving. Given this equation, you can generate a circle around ...


4

In general, I try to obey the following two rules when selecting states: Only use the states necessary for control, and Choose states to be measurable properties, whenever possible. For example, on my car's dashboard I could include: suspension displacement, brake pad wear, tire wear, etc. - these are all measurable properties that are critical to ...


4

They are modeling the probability as a normal distribution with the given mean and variance.


3

Differential drive Left and right wheels drive clockwise and anticlockwise, at same speed, for robot to rotate with reference to central point between wheels You may want to let front and back pairs of wheel free spinning (if gear ration small, open electric circuit will do) and only drive the central 2 wheels. Or, you need to model all six wheels, may be ...


3

I have done this myself, controlling the exact position of a brushless DC motor as its velocity ramps up and down. And I did it using a position controller only. Sounds obvious, but it worked extremely well. The integral term of the controller is key to this. Since you want the position error to be as close to zero as possible the whole time, but you need a ...


3

If there is no differential between the front and rear wheels, you will be skid-steering. You will just treat it like a simple 2-wheeled differential drive robot: Calculate position of differential drive robot It shouldn't change much, but if you really wanted to you could find the robot's center of rotation (e.g. following this question) and consider a ...


3

I run a rep-rap (Mendel Max) 3d printer ~ $1500AUD (built from scratch). I can't really comment on the print quality of other printers, but my statements about materials will hold for other printers. I have printed usable gears down to about 1/2 inch diameter. PLA has a melting point of about 150 Celsius and starts softening at about 60 Celsius, you ...


3

Your calculation is correct in magnitude but incorrect in sign, because gear B rotates oppositely to A (when the axis of D is fixed and D is not locked). If D is locked (ie, the gear is not free to rotate in its plane) then A and B are locked together and rotate identically. If the body V to which the axis of D is fixed rotates during rotation of A, then ...


3

If I understand your question, you are asking whether a vehicle balancing on two wheels (or two wheels and one caster) will be able to move straight, or at least predictably, if both wheels were driven from the same motor and used a differential. The answer is yes, but only if you have a way to equalize the forces of friction affecting each wheel. For ...


3

Roombas move slowly, below a walking pace, right? If that's so, then you probably want a geared DC motor. I'm guessing that on concrete you can get away with a motor that's 100W or less, particularly if it's geared down a whole bunch. You might want to figure out the highest incline or steepest step that you want to negotiate, figure out what force you ...


3

I assume that your 2 channels control forward/backward and left/right. But even if the 2 channels control forward/backward in each wheel (differential-drive style), it should still be possible to do what you are suggesting electrically instead of mechanically. You should be able to read the input signal to the motors, decide whether those signals are ...


3

Where your robot will go will depend on where the axes of the wheels intersect. If all the axes are identical, it can turn around any point on the axes, or go straight, perpendicular to the axes. If all the axes intersect in one point, the robot will travel on a circle around that point. If the axes are parallel, it will go only straight, perpendicular to ...


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