29

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


20

The best option will depend on the type of terrain you expect to cover. You want the correct balance of several factors: ground pressure traction suspension steering Ground pressure from tracks is less than ground pressure than wheels, so they're more suited to soft surfaces. Larger tires can help, but there are limits -- they may not work in something ...


16

Well, you generally use wheels when: You want speed. Treads need a lot more torque to power, thus you generally use low-rpm/high torque motors. You want maneuverability: Treads are a big pain to turn with. Differential steering is very ineffective (the bot skids to steer, which may not work if you have really grippy treads) But, treads are better when: ...


14

Assuming it is a rigid robot, then the only weight properties of interest is: the total mass the centre of mass In terms of tipping over, the robot is more stable if the angle required before tipping over is maximized. This is achieved by having a low centre of mass, and a centre of mass as far away from the edges of the support polygon as possible. ...


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

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


9

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

Optical avoidance of people in an every-day (like) environment would be difficult, your best bet would be with sensing the range of things from the robot, rather than if it is a person or not. An Xbox Kinect could do the job if mounted in the right place. Alternatively you could use range finders, either the light or acoustic variety. I have used Ultrasonic ...


7

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

I think this is a very relevant question for robotics, as you can spent a lot of time fixing your system if something went wrong in this area. Here are a few things to look out for: Insulation: Ideally you don't want any high voltages to reach your equipment in the first place. So one of the most important rules we apply to our electronics is insulate. Try ...


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

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

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


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