30 votes
Accepted

Robot never goes straight

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 ...
Chuck's user avatar
  • 15.9k
12 votes

How do the PID parameters (Kp, Ki, and Kd) affect the heading of a differential driving robot when they are increased individually?

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 ...
Andy's user avatar
  • 1,041
10 votes
Accepted

How to program a three wheel Omni?

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. ...
Ben's user avatar
  • 5,825
10 votes
Accepted

Holonomics Movement vs Holonomics Constraint

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=\...
Chi's user avatar
  • 224
7 votes

Do I need to use separate function in PID algorithm to make the bot go LEFT or RIGHT?

No, but you do need to calculate the P/I/D terms correctly. You have: I = I + previous_I; followed by: previous_I = I; ...
Chuck's user avatar
  • 15.9k
6 votes

Robot never goes straight

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 ...
TobiasK's user avatar
  • 1,657
6 votes

Is there any robot stability control equation that describes the relation between velocity of the robot and its orientation?

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 ...
Chuck's user avatar
  • 15.9k
5 votes
Accepted

L293D won't turn motor backwards

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 ...
Chuck's user avatar
  • 15.9k
5 votes

How has the Mars Exploration Rover (MER) has been working for 11 years if it was designed for 90 Sol?

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 (...
hauptmech's user avatar
  • 4,355
4 votes
Accepted

Kinematics of a 4 wheeled differential drive robots

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 ...
hauptmech's user avatar
  • 4,355
4 votes

Choosing the state vector for an EKF

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 ...
Chuck's user avatar
  • 15.9k
4 votes
Accepted

Meaning of symbol, 'curly N' in the equation of Linear Gaussian system dynamics

They are modeling the probability as a normal distribution with the given mean and variance.
SteveO's user avatar
  • 4,386
4 votes
Accepted

What is the difference between the pose of a robot and the configuration of a robot?

Do "configuration" and "pose" means the same thing? No. One of the most clear definitions of 'pose' that I've heard is in Peter Corke's Robotics, Vision and Control (RVC). It states that: "The ...
sempaiscuba's user avatar
  • 1,054
4 votes

How to control a 4 wheel mechanum wheel robot with PID?

Let's consider first the task you are wanting to accomplish: following some sort of Cartesian space trajectory. So, you are wanting to make sure your robot is only moving in the x-direction. However, ...
domo_arigato's user avatar
3 votes

Multi-Rate Sensor Fusion using EKF

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 ...
Josh Vander Hook's user avatar
3 votes
Accepted

How to find kinematics of differential drive caster robot?

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 = ...
leCrazyEngineer's user avatar
3 votes

What is the easiest and efficient way to detect human in close range distance and make the robot follow it?

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 ...
agold's user avatar
  • 260
3 votes

Is there a way to use a stress-ball-like device as acceleration control interface

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 ...
Ben's user avatar
  • 5,825
3 votes

Plotting location using wheel encoder data

A few things: I took a look at your data set. Did you make sure you used the time column correctly? The first entry is "1429481388546050050" without the decimal. To make it in seconds, it should be ...
kamek's user avatar
  • 980
3 votes

Self balancing robot control system strategies

I can recommend an alternative which has worked for me quite well. I derived the dynamical model of a inverted pendulum, then linearised it around the stable operating point. With this simplified ...
vmatos's user avatar
  • 71
3 votes
Accepted

Handling PID DC motor control at low speeds

I came up with a solution in the end. Fire a periodic interrupt at a fixed rate (In my case, I configured the STM32 to fire a systick interrupt every 1ms In the ISR for the 1ms timer, decrement a ...
Dibly's user avatar
  • 91
3 votes
Accepted

TWIP robot - DC gearmotor speed/Encoders

:EDIT: Let me put some numbers on this. Let's say you want to get from any angle to vertical in half a second. Say for now (more on this unrealistic scenario later) that you want to get from "...
Chuck's user avatar
  • 15.9k
3 votes
Accepted

How to increase the traction of tyres/wheels

Two seemingly contradictory approaches come to mind. One is to increase the friction between the wheels and the track. You can do this by coating the tires with a soft material, such as a gasket or ...
SteveO's user avatar
  • 4,386
3 votes
Accepted

State space model

Unfortunately, you're trying to apply a linear controller (the L of LQR) to a nonlinear system. In general, this doesn't work. As an approximation, you could linearize the system. If the ...
ryan0270's user avatar
  • 2,794
3 votes

Will there be any interference when distance sensors facing each other?

The amount of interference highly depends on the sensor type and how you use them. One of the worst for this is probably ultrasonic rangers: These are going out of fashion now, but older robots used ...
Ben's user avatar
  • 5,825
3 votes

what exactly is 'observation model' for a robot

An observation model is what relates your measurement to your states. For example, you might have a state that is vehicle speed, but the only thing you can measure is tire RPM. Tire RPM is not vehicle ...
Chuck's user avatar
  • 15.9k
3 votes

How to deal with asynchronous samples in a kalman filter framework multi-sensor fusion?

The correct way of integrating multi-rate observations in a Kalman framework when the measurements are unavailable is to let the system evolve resorting merely to the prediction steps. Therefore, set ...
Ugo Pattacini's user avatar
2 votes
Accepted

Dynamic model of a tank like robot

For building a dynamic model from scratch of any differential drive mobile robot (i.e., a tank), the best resource I've found so far is a paper by Dhaouadi and Hatab (PDF link) titled "Dynamic ...
Brandon J. DeHart's user avatar
2 votes

How to make an "invisible line following robot"?

Anki uses optical sensors in their toy cars to implement line followers. The optical sensors are sensitive in the IR range. The fact that the lines cannot be seen is easily explained: The lines are ...
user1225999's user avatar
2 votes

Accurate Wheeled Robot Odometry

First, you can try adding encoders - you don't need to buy anything to do this. Only remember to perform UMBmark procedure first. It will allow you to get much more reliable odometry from encoders ...
mactro's user avatar
  • 953

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