# Tag Info

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

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

9

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

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}$$ whereR$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 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 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

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

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

3

A little background. You need to weight each particle by the liklihood of the particle being correct. The probability the particle is correct is given by the probability that it is correct given the measurements. Note that the "weight" (which is a terrible term) is simply the probability of the particle being correct. Therefore, each particle is really an ...

3

Following a human can be relatively easy, but it depends on your requirements and your sensors on how easy this is. If you use ROS there are some available packages: people_tracker which uses a Kinect. Person-following and Detection in an Indoor Environment: combines a face and leg detector. ppl-detection also uses a Kinect. lidar-tracking: lidar used to ...

3

Barometers are cheap, easy to use, and very sensitive. They can be placed inside a sealed rubber ball and detect changes in pressure. See for example these sensors: www.takktile.com. (The makers of these sensors encase them in rubber, which you may or may not want to do).

3

Kinematics of mobile robots For the figure on the left: I = Inertial frame; R = Robot frame; S = Steering frame; W = Wheel frame; $\beta$ = Steering angle; For the figure on the right: L = Distance between the wheels; r = radious of the wheel; Now we can derive some useful equations. Kinematics: $\hspace{2.5em}$ \$\vec{v}_{IW} = \vec{v}_{IR} + \vec{\...

3

Part 1. Use one or the other. Often odometery is used instead of kinematics or dynamics for prediction, at least in my work. Part 2. This is handled by the construction of the measurement equation jacobian. Every time a measurement comes in, construct a Jacobian for the whole state. You'll notice that some of the state elements are independent of the ...

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