# Tag Info

9

To answer your first question: if you really want to find the true kinematic equations for differential drive, I wouldn't start approximating by assuming that each wheel has moved in a straight line. Instead, find the turning radius, calculate the center point of the arc, and then calculate the robot's next point. The turning radius would be infinite if the ...

7

The principle lying underneath the sphero robot's design and locomotion is shifting of the centre of mass of the ball and making it unstable which makes the ball roll [1,3,4,5,6]. A controlled and calculated shifting of the centre of mass to the appropriate position can achieve desired trajectories of the ball. Apart from the above said principle, a few ...

5

I put together encoders for this exact chassis. Rather than reflecting ones, I used slot ones. I thought I could work off the hole in the white gear, but it turns out the plastic is pretty transparent to IR, so I ended up using some black electical tape (high tech, I know) to make opaque regions on the gear. After building two encoders, I discovered ...

5

Typically, tracking the position and orientation of a vehicle is not accomplished by looking at the wheels — it's done with navigation sensors. If you were attempting to have closed-loop control (i.e. servo control) of your motors then wheel-mounted position sensors might be appropriate. But if the goal is to support "autonomous driving", then I don'...

4

One alternative to sensing the wheel movement is to actually track the vehicle movement over ground. I know that some people have done it using optical mouse sensors. The results will depend on the type of underground you are expecting. The upside is however that you track the actual vehicle movement, which is what you are really interested in.

3

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 model I found the LQR controller which keeps my robot upright and tracks my desired linear and angular velocities. The robot working: https://www.youtube.com/...

3

: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 "laying down" (90 degrees from vertical) to upright in half a second. This is just for the purposes of coming up with a spec. The position equation:  \theta = \...

3

I've calculated a max. traction force of 6.51N. Does this mean a torque force at the wheels of up to and including 6.51N can be applied, to drive the robot without the wheels slipping? ... $max(F_{t}) = μN$ Yes, the traction force equation means that the wheels can push on that surface with up to and including that force (and the surface ...

3

Are the wheels essentially hollow except for the spokes? If they were, it would seem to me like adding a small hole a little offset from the front axle (the wheel without gears) would be a good place to put a light detector. Of course that would not work too well in the dark. Each spoke, or more properly tooth on the gear, while technically would be correct,...

3

You're describing an encoder. It will give you a signal every time the wheel turns a some amount of degrees. http://www.bot-thoughts.com/2011/03/avc-bot-wheel-encoders.html

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{\... 2 For a repeated calculation, it doesn't matter whether you find$\Delta\theta$before or after you apply$\theta$to the$\Delta{x}, \Delta{y}$calculation. You will always be alternating between a position and an orientation calculation. In a practical sense, it might be better to calculate$\Delta\theta$after you calculate$\Delta{x}, \Delta{y}$, since ... 2 Yes, that's correct. A "good choice" for acceleration has nothing to do with velocity. Generally, acceleration limits are chosen based on motor thermal ratings. You should have some design load the motor should accelerate, that design load should require some quantity of torque, the motor constant relates torque to current, and then the current heats the ... 1 It is difficult to provide a specific answer due to not knowing details of your design, but consider these factors for the deflection of a beam. They should give you ideas. For a beam supported at the endpoints, with a load in the center, the deflection increases if: The load increases. The distance between endpoints increases. The deflection decreases if ... 1 This started out as a comment but I ran out of space. Also, I am waiting for the question to be clarified, as morbo has requested of the OP. Here is an example on YouTube, Lego Technic two-wheeled double track tank r/c omni-wheel, although I must say that the wheels do not look particularly omni to me: Whilst this is not particular to Omni/Mecanum wheels, ... 1 You should use the individual wheel velocities at all times to compute the robot's heading and angular and linear velocity and super-impose another controller that works to correct the same. This could be a PID that works on the desired changed in angular velocity of the robot which you could reduce down to each individual wheels. Making both the wheels ... 1 If going completely straight is the goal then you'll need more feedback than just the wheel speeds. Even if you could guarantee the wheels turned at exact same speed (say for instance they were attached together on the same axle) then it still wouldn't go in a straight line. Any tiny difference in wheel circumference or bump, crumb or surface change will ... 1 As Chuck said you are using the parametric form of the ellipse$p(t) = (m) + cos(t)*a + sin(t)*b$the$t$doesn't represent the time but the eccentric anomaly. But from this equation you can create a matrix for$t\epsilon [0,2\pi]$and calculate the points on the eclipse from the equations$ x = a*cos(t) $,$ y = b*sin(t) $then you have$(x,y)$points ... 1 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 nonlinearities are small it's common to linearize about a nominal point such as$\theta=0$, but in your case this might not work well since it would eliminate any lateral ... 1 SLAM is only needed when you are also building a map. You already have a map so the problem is localization. To be exact the problem you want to research is Monte Carlo localization or particle filter localization. A fantastic book on it is Probabilistic Robotics if you can get your hands on it. Some slides describing the resources in the book can be found ... 1 Your signal actual going back and forth like that; it's registering with the microcontroller because you're at an intermediate voltage. As @TobiasK mentions, this is called "bouncing". You're trying to use this for controlling tires, so I would suggest you do a little math to determine whether or not a "subsequent" signal could be considered valid or not. ... 1 Well, if it is truly a caster wheel with two differential drives, then I'd just assume that the castor is not a constraint at all! It's a freely rotating wheel that should just follow the direction of motion induced by rotating the differential wheels. In that case, you can use this answer. 1 Well, I moved my answer here from the Engineering SE because it looks like your question is probably going to get closed there, just like it got closed at the physics site. Assuming everything about the vehicles is the same - mass especially, but also shape, center of gravity, etc., such that the entire problem boils down to tire grip, you will lose. See ... 1 "Is there a way to account for possible error in the speeds of the motors so that the robot can end up in a very precise location?" The other answers describe the approximate solution (encoders). It depends on what you define 'precise' as. For an Arduino budget project, it is probably precise enough. But typically, say you direct your Arduino robot to move ... 1 You're attempting to move a robot along a predefined path without the aid of sensors, so really we just need to convert the list of points into a list of pre-scripted actions. Convert input points to$({\Delta}x, {\Delta}y)$pairs Convert$({\Delta}x, {\Delta}y)$pairs to$(\Delta\theta, d)$pairs Convert$(\Delta\theta, d)$pairs to$(V_{left}, V_{right}, {...

1

There are two ways you can approach this problem, open-loop and closed-loop. Open-loop approach should be easier although it will be highly inaccurate. The closed-loop is more complex but it should improve the accuracy. The decision depends on your application and how much time you can spend. The robot has to follow a requested path drawn by the user. To do ...

1

for the hardware You don't say what type of motor you use. If it's a DC-brushed type, putting more or less voltage will not necessary linearly alter the speed, in fact if you increase the voltage the relative amount the load on the motor increase the speed won't change. To do a good control you need a feed-back of the motor or wheel speed, or an angle ...

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