Angular and Linear Velocities to position

Click For Summary
The discussion focuses on calculating the new position and orientation of an object given its linear and angular velocities at a specific time. The user provides data and equations used to determine the radius of turning, change in orientation, and new coordinates. A challenge arises in determining the direction of angular velocity, leading the user to arbitrarily choose a direction for calculations. The conversation emphasizes the importance of establishing a coordinate system and using rotational motion equations to find the new position based on the radius and angle. Overall, the user seeks confirmation on the adequacy of their approach and calculations in MATLAB.
echoone10
Messages
1
Reaction score
0
Hello everyone. First of all, thank you for any help you can provide.

The essence of the problem is this. I am given the linear and angular velocity of an object at a given moment in time.

Data looks like this:
Time(s): Linear velocity (m/s) Angular velocity(rad/s)
10.313 0.075 0.241

Given the previous position (in x/y cooridnates) and orientation (angle in radians), and this information, I want to calculate the new position and orientation 0.1 seconds later.

Equations I've been using:
radius of turning = linear velocity/angular velocity
change in theta = angular velocity * timestep(0.1 seconds)
x-coordinate = r*cos(theta)
y-coordinate = r*sin(theta)

I realized that we don't really know whether the object will be moving about a circle to its left, or a circle to its right (i.e. is angular velocity clockwise or counter clockwise). I decided to pick one and stick with it, to see how it went.

I'm programming in MATLAB, so here is the code for the function I've written:

Code:
function [newx newy neworient] = newstate(l_vel, ang_vel, tstep, old_orient, old_x, old_y)
        r = (l_vel/ang_vel);
        del_orient = ang_vel * tstep;
        neworient = old_orient + del_orient;
        
        center_x = old_x - r*cos(neworient);
        center_y = old_y - r*sin(neworient);
        newx = center_x + r*cos(del_orient);
        newy = center_y + r*sin(del_orient);
end

I'm beginning to suspect that I don't have enough information to get the proper answer, but I would be happy to be wrong.

Again, thank you all for any help.
 
Physics news on Phys.org
If I am following your question, you are trying to find the position of the particle in rectangular coordinates after .1 second.

I am assuming the velocity given is the tangential velocity and the particle is moving in a circle. You can easily find the radius of the circle if you know Vt and ω. You need to set up a rectangular coordinate system. Let say the radius lays along the x-axis, so the particle at time t=0 sec is (r,0). Using rotational motion equations you can find the angle of rotation after 0.1 second. Since you know the radius and angle use basis trig to find the coordinates of the new position. It probably be helpful if you draw the problem out.
 

Similar threads

  • · Replies 9 ·
Replies
9
Views
3K
Replies
3
Views
2K
Replies
3
Views
1K
Replies
67
Views
4K
Replies
5
Views
5K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 12 ·
Replies
12
Views
4K
Replies
16
Views
2K
Replies
25
Views
2K
  • · Replies 14 ·
Replies
14
Views
2K