How to calculate total distance covered, time taken and total angle turned by differential drive kinetic model of robot in navigatiom?

2 ビュー (過去 30 日間)
After navigation the robot (differential drive kinetic) from one point to another, through waypoints, i would like to find the following output, total distance covered, time taken to complete the navigation, and total angle turned by robot to comple the movement.

採用された回答

Cameron Stabile
Cameron Stabile 2022 年 2 月 22 日
編集済み: Cameron Stabile 2022 年 2 月 22 日
Hi Aminu,
While navigating your robot, you will likely have access to the state derivative (or vehicle commands) applied during your path-following. Assuming that your commands/state-derivative are constant between each timestep, you can calculate your desired metrics via simple integration.
Assuming your system follows standard differentialDriveKinematics, the commands for your robot are , velocity and angular velocity, respectively:
% Define a random sequence of commands that were applied to your robot
v = rand(100,1);
w = (rand(100,1)-.5)
% Assume a fixed control step-size
dt = 0.1;
% Assuming that controls are held constant between each step, integrate
% the controls over the trajectory to calculate total change in distance/angle.
totalDist = sum(abs(v*dt));
totalChangeInAngle = sum(abs(w*dt));
totalTime = dt*numel(v);
If your commands are instead given in terms of wheelspeed (), you can use these formulas for converting them to generalized commands.
Hope this helps,
Cameron

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeRobotics についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by