Hot answers tagged

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


8

This is a standard dynamics problem. Let's use this figure I drew: Some definitions: $$ \begin{align} m & \mbox{, the mass of the vehicle in kg.} \\ \mu_{\mbox{rolling}} & \mbox{, the rolling friction coefficient of your tires.} \\ \theta & \mbox{, the incline of the plane in radians.}\\ g & \mbox{, the gravitational constant, 9.81 } m/s^2 \...


7

If this is true linear motion (non-rotational) then you will need some sort of a pivoting linkage in between the two units to transfer one motion to the other. Something like this would probably work: As the lower link moves vertically, it rotates the red gear which in turn pushes the second link horizontally. However, given that your image shows more of a ...


4

I think a more compact and reliable solution would be to use a third shaft that is perpendicular to the other two (on the Z-axis) Given the shaft moving up/down is moving on the Y-axis and the shaft moving left/right is moving on the X-axis. This crude diagram should explain things better. As the motor turns Shaft A upwards it then turns Shaft C. Shaft C ...


4

The mechanism suggested in the previous answer is a form of four-bar linkage. A bell crank is a slightly simpler form of basically the same thing. You could push on one side of a bell crank with the end of the motor shaft, and use a spring return for the other direction if it is difficult to attach to the shaft. (The shaft apparently rotates, but the ...


4

One way to do this is complicated, involving computer vision and a robot arm or other manipulator that can directly affect the orientation of each rock. The low-tech way to do it would be to use a separate conveyor that gave you one rock at a time, and use walls to funnel it into a gate that matches the internal dimensions of the straw. You would then just ...


4

I can't think of a reason why a velocity model (based on control commands) would be superior to an odometry model (which uses the actual wheel speeds). The lecture notes from Freiburg on motion models imply the same: Odometry-based models are used when systems are equipped with wheel encoders. Velocity-based models have to be applied when no ...


4

In that context, SE means "Special Euclidean" group, e.g. SE(3) which is shorthand for "the special Euclidean group of rigid body displacements in three-dimensions". This paper may explain more.


4

Many articles reference algorithms such as A*, PRM or RRT based planners to motion planning algorithms which seems unreasonable since it is still necessary to parametrize found path with time.I wonder, why? First of all, RRT, for example, can be used to plan trajectories directly. When the robot in question has $n$ DOFs, such a planning problem happens in a ...


4

The author expects a background that includes a course in physics or mechanics where this equation is taught. When that is the case, this equation gives you instantaneous velocity of a particle (point) moving on a circular path. The $\times$ in $\dot{p} = \omega \times p$ is the cross product. (This may already be obvious to you, it's hard to tell from the ...


4

The S-Curve profile can have several divisions along the time axis 7 divisions as per this image. This example has a constant positive jerk zone, a constant acceleration zone, a constant negative jerk zone, a zero acceleration zone and then the vice-versa. This is the S-Curve in its most general form 5 divisions if there exists no constant acceleration ...


3

All theory aside, circumferences and actual distances travelled will vary with your wheel geometry since your wheels aren't perfectly tangential to their direction of travel while turning. While Ian gives some good math I think I would run tests and assign a pseudo-circumference. I think I would just measure what the odometers read for a full 360 turn-...


3

There are several traps you might have stepped into, but it is difficult to tell without more information. The first issues that came to my mind: The equations you wrote down are for sampling from the velocity motion model. But then you write about the Kalman Gain approaching singularity, which only makes sense of you apply a Gaussian filter (EKF or UKF). ...


3

Wrapping your head around unit conversions in controllers is a pretty common problem, so don't think you're alone. If you're implementing your PID controller using floating point math, then you really don't have to worry: the gains that you assign for the proportional, integral, and derivative action will take care of the differing ranges for the inputs and ...


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

The short answer is that I don't think a good standardized motion file format exists and I don't think there are any good generic wysiwyg robot posing tools. Some level of custom programming is going to be required. RE: Standard file formats for robot motion Collada is meant as a standardized 3D data interchange file format, and it has support for storing ...


3

Scott-Russell type mechanism. For weeks I was trying to come up with a solution for that exact problem for a engineering project mine. Look it up.


3

You need the transformation from the car to the IMU. You can get this by recording the IMU published attitude with the car in known orientations. You should be able to construct the IMU to car transformation by grabbing the IMU orientation while the car is flat, pitched up a bit (30 deg would should enough), and rolled (again, 30 deg should be enough). ...


3

It is a mathematical concept call the "Special Euclidean" group. Roughly, it is a combination of a rotation and translation. You'll also frequently see SO3, which is the special orthogonal group which means rotations.


2

It's hard to see what's going on exactly, especially without seeing the code or knowing more about the sensor model. That's said, your trajectory is mostly straight and $w$ is thus mostly close to zero. This means that: your center of rotation is far away during most of your experiment -- likely beyond the bounds of your graph; you may have numerical ...


2

I've seen a number of systems in this configuration and most went for an outside track solution. Part of the reason for this is control of bend radius. With an outside track, the bend is obvious at all positions and it is clear when you run out of track. If you are bothered about cabling complexity, you could put more of the electronics on the rotated stage,...


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

It's called a slip ring. http://en.wikipedia.org/wiki/Slip_ring The Wikipedia page has several alternate names for it. Be careful when using these devices, a cheap or damaged one with poor brushes will destroy a high-speed digital signal (and even worse, it will get damaged after you build a working prototype.)


2

I agree that the motion models in Probabilistic Robotics are badly suited for omnidirectional robots. I always interpreted the models presented there as examples only that should enable you to devise a custom model for your own robot. First of all you need to model and solve the forward kinematics for this kind of omnidirectional drive. I guess you already ...


2

The majority of the noise you're hearing is not from the motor itself but from gearing, which both servo motors and drills have a lot of. However, if you don't have a gearbox then when power is cut the torque exherted by the motor will become zero and your arm will fall. I would reccomend a standard brushed DC motor with an encoder for precise control, ...


2

Through my reading of this book "Probabilistic Robotics" chapter 5 pp. 120,121. It seems what you thought is right. And this is the reason the authors mentioned. Many commercial mobile robots (e.g. differential drive, synchro drive) are actuated by independent transnational and rotational velocities, or are best thought of being actuated in this way. ...


2

Tim Wescot is one of the most experienced experts ever in this forum especially in the PID controllers field. I recommend you to read his brilliant article here. We used discrete PID for our quadrotor control system. We are building a quadrotor right now and tested both continuous PID controller(What you are usually find in wikipedia or web searches) and ...


2

Assuming you need only to eject the drawer automatically and can close it back manually, I would suggest using compressed spring which would push out the drawer if there is no resistance. A hook or similar mechanism holds the spring when the drawer is pushed back in. This mechanism would save you use of motors, and thus you won't use electricity. The ...


2

I guess you want to find a cubic polynomial for the end effector. You have 3 coordinates for your points A and B, from your question is not clear if they are $x,y,z$ or $x,y,\theta$. Anyway, I'll show here the procedure for $x$, and you can repeat it for the other two coordinates. Given the cubic parametric form $x = a_0+a_1 t + a_2 t^2 + a_3 t^3$ ($*$), ...


2

The model you have given is called the unicycle model and is widely used n robotics. In general the model is given by \begin{eqnarray} \dot{x} &= v\cos \theta \\ \dot{y} &= v\sin \theta \\ \dot{\theta} &= \omega \end{eqnarray} where $v = 1/2(v_1+v_2)$ and $\omega = 1/b(v_2-v_1)$ are the controls of the robot. The method that you have mentioned ...


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