Kinematic Modeling of a Tricycle Robot
VerifiedAdded on 2020/05/16
|32
|3444
|186
AI Summary
This assignment delves into the kinematic modeling of a tricycle mobile robot, utilizing MATLAB for analysis and simulation. Students investigate the system's linearity and develop a linearized model. The assignment briefly explores trajectory control strategies and showcases promising initial results achieved by integrating a high-level planner designed for differential drive robots with the designed trajectory controller for the tricycle robot.
Contribute Materials
Your contribution can guide someone’s learning journey. Share your
documents today.
UNIVERSITY AFFILIATION
COURSE NAME & COURSE CODE
DATE OF SUBMISSION
GROUP 5
GROUP REPORT
STUDENT NAME(S) REGISTRATION NUMBER
(S)
% CONTRIBUTION OF
WORK
COURSE NAME & COURSE CODE
DATE OF SUBMISSION
GROUP 5
GROUP REPORT
STUDENT NAME(S) REGISTRATION NUMBER
(S)
% CONTRIBUTION OF
WORK
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
EXECUTIVE SUMMARY
The paper seeks to derive the kinematic modelling equations in two states where the front wheel
does the steering and the rear wheel roll over and where the front wheels do both the steering and
driving. It, further, seeks to review the concept of wheeled mobile robotics using the tricycle.
The tricycle is a three-wheeled vehicle that is able to move forward and back but it encounters a
lateral slip when it moves sideways. The tricycle, in a practical circumstance, encounters the
ground dynamics and hindrances such as friction. The simulation demonstrates different driving
modes such as constant driving velocity and a constant steering angle, constant driving velocity
and a linearly changing steering angle, and the linearly changing driving velocity with linearly
changing steering angle. The movement of a tricycle is only restricted to forward and backward
movement as opposed to other multi-directional vehicles that can move even sideways
(Giovanni, 2009).
1
The paper seeks to derive the kinematic modelling equations in two states where the front wheel
does the steering and the rear wheel roll over and where the front wheels do both the steering and
driving. It, further, seeks to review the concept of wheeled mobile robotics using the tricycle.
The tricycle is a three-wheeled vehicle that is able to move forward and back but it encounters a
lateral slip when it moves sideways. The tricycle, in a practical circumstance, encounters the
ground dynamics and hindrances such as friction. The simulation demonstrates different driving
modes such as constant driving velocity and a constant steering angle, constant driving velocity
and a linearly changing steering angle, and the linearly changing driving velocity with linearly
changing steering angle. The movement of a tricycle is only restricted to forward and backward
movement as opposed to other multi-directional vehicles that can move even sideways
(Giovanni, 2009).
1
TABLE OF CONTENTS
EXECUTIVE SUMMARY.........................................................................................................................1
INTRODUCTION.......................................................................................................................................3
MATLAB IMPLEMENTATION OF THE TRICYCLE.............................................................................6
PART 1....................................................................................................................................................6
PART 2..................................................................................................................................................24
REVIEW AND DISCUSSION..................................................................................................................28
CONCLUSION.........................................................................................................................................30
RECOMMENDATION.............................................................................................................................30
REFERENCES..........................................................................................................................................31
2
EXECUTIVE SUMMARY.........................................................................................................................1
INTRODUCTION.......................................................................................................................................3
MATLAB IMPLEMENTATION OF THE TRICYCLE.............................................................................6
PART 1....................................................................................................................................................6
PART 2..................................................................................................................................................24
REVIEW AND DISCUSSION..................................................................................................................28
CONCLUSION.........................................................................................................................................30
RECOMMENDATION.............................................................................................................................30
REFERENCES..........................................................................................................................................31
2
INTRODUCTION
The kinematic model of the wheeled mobile robot provides all the feasible directions for the
instantaneous motion. It describes the relation between the velocity input commands and the
derivatives of generalized coordinates (Dong-Sung, & et al., 2003). It is crucial to note that the
highest number of robot locomotives are based on the differential drive model. The model states
that the two powered wheels are used to drive the robot as well as change its direction, hence
they are used for both driving and steering. The control strategies for the differential drive model
of the robot are completely different and do not apply to other robot designs such as the
Ackerman drive robots or the omnidirectional mobile robots. Another model of locomotion for
the three-wheeled robot tricycle is where the steering and powering is done at the front wheels.
The advantage of the steering geometry has several advantages for the purpose of localization
and motion planning. The mechanically more complex, steered and driven conventional wheel is
utilized on Neptune, Hero, and Avatar. These three robots have a tricycle wheel arrangement; the
front wheel and it is driven with two rear wheels are at a fixed parallel orientation and are
undriven (Nilanjan, & et al., 2004).
Figure 1 A moving robot in the environment with laser sensor and landmarks
3
The kinematic model of the wheeled mobile robot provides all the feasible directions for the
instantaneous motion. It describes the relation between the velocity input commands and the
derivatives of generalized coordinates (Dong-Sung, & et al., 2003). It is crucial to note that the
highest number of robot locomotives are based on the differential drive model. The model states
that the two powered wheels are used to drive the robot as well as change its direction, hence
they are used for both driving and steering. The control strategies for the differential drive model
of the robot are completely different and do not apply to other robot designs such as the
Ackerman drive robots or the omnidirectional mobile robots. Another model of locomotion for
the three-wheeled robot tricycle is where the steering and powering is done at the front wheels.
The advantage of the steering geometry has several advantages for the purpose of localization
and motion planning. The mechanically more complex, steered and driven conventional wheel is
utilized on Neptune, Hero, and Avatar. These three robots have a tricycle wheel arrangement; the
front wheel and it is driven with two rear wheels are at a fixed parallel orientation and are
undriven (Nilanjan, & et al., 2004).
Figure 1 A moving robot in the environment with laser sensor and landmarks
3
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
KINEMATIC MODELLING EQUATIONS
A tricycle like mobile robot is as shown in the figure below. There are usually two different
types of mechanisms used to maneuver a tricycle. The first type uses the front wheel for both the
steering and driving actions while the second type uses the front wheel as the steering and the
back wheels as driving wheels (Kanayama, & et al, n.d).
ωz = ˙ψ= vt
L
tan δ= vt
L
The forward velocity at the front wheel is simply, v, but because of the kinematic steering the
velocity along the path of the wheel must be,
vδ= v
cosδ
The lateral velocity at the front steered wheel must be,
vt=vδ sinδ =vtanδ
To obtain the angular velocity about the center of gravity which is located at the rear axle is,
ωz = v
L tanδ
The time continuous tricycle model using theta is obtained as,
˙x=v cosθ
˙y=v sinθ
˙θ=ω
4
A tricycle like mobile robot is as shown in the figure below. There are usually two different
types of mechanisms used to maneuver a tricycle. The first type uses the front wheel for both the
steering and driving actions while the second type uses the front wheel as the steering and the
back wheels as driving wheels (Kanayama, & et al, n.d).
ωz = ˙ψ= vt
L
tan δ= vt
L
The forward velocity at the front wheel is simply, v, but because of the kinematic steering the
velocity along the path of the wheel must be,
vδ= v
cosδ
The lateral velocity at the front steered wheel must be,
vt=vδ sinδ =vtanδ
To obtain the angular velocity about the center of gravity which is located at the rear axle is,
ωz = v
L tanδ
The time continuous tricycle model using theta is obtained as,
˙x=v cosθ
˙y=v sinθ
˙θ=ω
4
The time continuous vehicle model while the vs is the velocity of the steering wheel.
The wheeled mobile robot has been modeled as a planar rigid body that rides on an arbitrary
number of wheels in order to develop a relationship between the rigid body motion of the robot
and the steering and drive rates of wheels (Nelson, & et.al, n.d). Kinematics differential driven
robot and synchronous driven robot,
[ ˙x (t )
˙y (t)
θ(t) ] =
[ cos θ (t) 0
sin θ(t) 0
0 1 ] [ v (t)
w (t) ]
˙q ( t ) =S (q) ξ(t)
The forward velocity at the front wheel is simply, v, but due to the kinematic steering, the
velocity along the path of the wheel must be,
vδ= v
cos δ
This means that the lateral velocity at the front steered wheel must be,
vt=vδ sin δ =v tan δ
To find the angular velocity about the CG, which is located at the center of the rear axle as,
ωz = v
L tan δ
v= vR + v L
2
ω= v R−vL
B
R=B . v R +v L
vR −v L
5
The wheeled mobile robot has been modeled as a planar rigid body that rides on an arbitrary
number of wheels in order to develop a relationship between the rigid body motion of the robot
and the steering and drive rates of wheels (Nelson, & et.al, n.d). Kinematics differential driven
robot and synchronous driven robot,
[ ˙x (t )
˙y (t)
θ(t) ] =
[ cos θ (t) 0
sin θ(t) 0
0 1 ] [ v (t)
w (t) ]
˙q ( t ) =S (q) ξ(t)
The forward velocity at the front wheel is simply, v, but due to the kinematic steering, the
velocity along the path of the wheel must be,
vδ= v
cos δ
This means that the lateral velocity at the front steered wheel must be,
vt=vδ sin δ =v tan δ
To find the angular velocity about the CG, which is located at the center of the rear axle as,
ωz = v
L tan δ
v= vR + v L
2
ω= v R−vL
B
R=B . v R +v L
vR −v L
5
v=ω . R
MATLAB IMPLEMENTATION OF THE TRICYCLE
PART 1
(i) Constant driving velocity and a constant steering angle
clear, clc;
G = 5;
d = sqrt(0.5 + 0.01 * G);
maximum_velocity = 1.5 + 0.05 * G;
velocity_limit = [maximum_velocity 0];
maximum_acceleration = 0.8 + 0.02 * G;
acceleration_limit = [maximum_acceleration -maximum_acceleration];
maximum_steering_angle = pi / 4;
steering_angle_limit = [maximum_steering_angle -
maximum_steering_angle];
maximum_steering_velocity = 0.3;
steering_velocity_limit = [maximum_steering_velocity -
maximum_steering_velocity];
acceleration_0 = 0;
steering_velocity_0 = 0;
velocity_0 = maximum_velocity;
steering_angle_0 = maximum_steering_angle / 2;
sim_time_length = 5;
time = (0 : 1e-3 : sim_time_length)';
acceleration = [time acceleration_0 * ones(size(time))];
steering_velocity = [time steering_velocity_0 * ones(size(time))];
sim rwdmodel; rwddata = simout;
sim fwdmodel; fwddata = simout;
run plotResults.m;
plot of the velocity against time
6
MATLAB IMPLEMENTATION OF THE TRICYCLE
PART 1
(i) Constant driving velocity and a constant steering angle
clear, clc;
G = 5;
d = sqrt(0.5 + 0.01 * G);
maximum_velocity = 1.5 + 0.05 * G;
velocity_limit = [maximum_velocity 0];
maximum_acceleration = 0.8 + 0.02 * G;
acceleration_limit = [maximum_acceleration -maximum_acceleration];
maximum_steering_angle = pi / 4;
steering_angle_limit = [maximum_steering_angle -
maximum_steering_angle];
maximum_steering_velocity = 0.3;
steering_velocity_limit = [maximum_steering_velocity -
maximum_steering_velocity];
acceleration_0 = 0;
steering_velocity_0 = 0;
velocity_0 = maximum_velocity;
steering_angle_0 = maximum_steering_angle / 2;
sim_time_length = 5;
time = (0 : 1e-3 : sim_time_length)';
acceleration = [time acceleration_0 * ones(size(time))];
steering_velocity = [time steering_velocity_0 * ones(size(time))];
sim rwdmodel; rwddata = simout;
sim fwdmodel; fwddata = simout;
run plotResults.m;
plot of the velocity against time
6
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Velocity [m/s]
RWD vehicle
FWD vehicle
Plot of steering angle against time
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
Alpha [rad]
RWD vehicle
FWD vehicle
7
Time [s]
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Velocity [m/s]
RWD vehicle
FWD vehicle
Plot of steering angle against time
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
Alpha [rad]
RWD vehicle
FWD vehicle
7
Plot of angular velocity against time for forward and reverse drive modes
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
Theta [rad]
RWD vehicle
FWD vehicle
Plot of Y-position against time for forward and reverse drive modes
8
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
Theta [rad]
RWD vehicle
FWD vehicle
Plot of Y-position against time for forward and reverse drive modes
8
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
0
0.5
1
1.5
2
2.5
3
3.5
4
Position Y [m]
RWD vehicle
FWD vehicle
Plot of X-position against time for forward and reverse mode
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Position X [m]
RWD vehicle
FWD vehicle
9
Time [s]
0
0.5
1
1.5
2
2.5
3
3.5
4
Position Y [m]
RWD vehicle
FWD vehicle
Plot of X-position against time for forward and reverse mode
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Position X [m]
RWD vehicle
FWD vehicle
9
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
Plot of Y-position against X-position for all drive modes
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
X [m]
0
0.5
1
1.5
2
2.5
3
3.5
4
Y [m]
RWD vehicle
FWD vehicle
(ii) Constant driving velocity and a linearly changing steering angle
clear, clc;
G = 5;
d = sqrt(0.5 + 0.01 * G);
maximum_velocity = 1.5 + 0.05 * G;
velocity_limit = [maximum_velocity 0];
maximum_acceleration = 0.8 + 0.02 * G;
acceleration_limit = [maximum_acceleration -maximum_acceleration];
maximum_steering_angle = pi / 4;
steering_angle_limit = [maximum_steering_angle -
maximum_steering_angle];
maximum_steering_velocity = 0.3;
steering_velocity_limit = [maximum_steering_velocity -
maximum_steering_velocity];
acceleration_0 = 0;
steering_velocity_0 = steering_angle_limit(2) / 5;
velocity_0 = maximum_velocity;
steering_angle_0 = steering_angle_limit(1);
sim_time_length = 5;
time = (0 : 1e-3 : sim_time_length)';
acceleration = [time acceleration_0 * ones(size(time))];
steering_velocity = [time steering_velocity_0 * ones(size(time))];
sim rwdmodel; rwddata = simout;
sim fwdmodel; fwddata = simout;
10
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
X [m]
0
0.5
1
1.5
2
2.5
3
3.5
4
Y [m]
RWD vehicle
FWD vehicle
(ii) Constant driving velocity and a linearly changing steering angle
clear, clc;
G = 5;
d = sqrt(0.5 + 0.01 * G);
maximum_velocity = 1.5 + 0.05 * G;
velocity_limit = [maximum_velocity 0];
maximum_acceleration = 0.8 + 0.02 * G;
acceleration_limit = [maximum_acceleration -maximum_acceleration];
maximum_steering_angle = pi / 4;
steering_angle_limit = [maximum_steering_angle -
maximum_steering_angle];
maximum_steering_velocity = 0.3;
steering_velocity_limit = [maximum_steering_velocity -
maximum_steering_velocity];
acceleration_0 = 0;
steering_velocity_0 = steering_angle_limit(2) / 5;
velocity_0 = maximum_velocity;
steering_angle_0 = steering_angle_limit(1);
sim_time_length = 5;
time = (0 : 1e-3 : sim_time_length)';
acceleration = [time acceleration_0 * ones(size(time))];
steering_velocity = [time steering_velocity_0 * ones(size(time))];
sim rwdmodel; rwddata = simout;
sim fwdmodel; fwddata = simout;
10
run plotResults.m;
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Velocity [m/s]
RWD vehicle
FWD vehicle
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
Alpha [rad]
RWD vehicle
FWD vehicle
11
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Velocity [m/s]
RWD vehicle
FWD vehicle
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
Alpha [rad]
RWD vehicle
FWD vehicle
11
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
0
1
2
3
4
5
6
Theta [rad]
RWD vehicle
FWD vehicle
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
-3
-2
-1
0
1
2
3
Position Y [m]
RWD vehicle
FWD vehicle
12
Time [s]
0
1
2
3
4
5
6
Theta [rad]
RWD vehicle
FWD vehicle
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
-3
-2
-1
0
1
2
3
Position Y [m]
RWD vehicle
FWD vehicle
12
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
Position X [m]
RWD vehicle
FWD vehicle
-3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1
X [m]
-3
-2
-1
0
1
2
3
Y [m]
RWD vehicle
FWD vehicle
(iii) Linearly changing driving velocity and linearly changing steering angle
13
Time [s]
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
Position X [m]
RWD vehicle
FWD vehicle
-3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1
X [m]
-3
-2
-1
0
1
2
3
Y [m]
RWD vehicle
FWD vehicle
(iii) Linearly changing driving velocity and linearly changing steering angle
13
clear, clc;
G = 5;
d = sqrt(0.5 + 0.01 * G);
maximum_velocity = 1.5 + 0.05 * G;
velocity_limit = [maximum_velocity 0];
maximum_acceleration = 0.8 + 0.02 * G;
acceleration_limit = [maximum_acceleration -maximum_acceleration];
maximum_steering_angle = pi / 4;
steering_angle_limit = [maximum_steering_angle -maximum_steering_angle];
maximum_steering_velocity = 0.3;
steering_velocity_limit = [maximum_steering_velocity -
maximum_steering_velocity];
acceleration_0 = acceleration_limit(1) / 10;
steering_velocity_0 = steering_angle_limit(1) / 10;
velocity_0 = 0;
steering_angle_0 = 0;
sim_time_length = 5;
time = (0 : 1e-3 : sim_time_length)';
acceleration = [time acceleration_0 * ones(size(time))];
steering_velocity = [time steering_velocity_0 * ones(size(time))];
sim rwdmodel; rwddata = simout;
sim fwdmodel; fwddata = simout;
run plotResults.m;
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Velocity [m/s]
RWD vehicle
FWD vehicle
14
G = 5;
d = sqrt(0.5 + 0.01 * G);
maximum_velocity = 1.5 + 0.05 * G;
velocity_limit = [maximum_velocity 0];
maximum_acceleration = 0.8 + 0.02 * G;
acceleration_limit = [maximum_acceleration -maximum_acceleration];
maximum_steering_angle = pi / 4;
steering_angle_limit = [maximum_steering_angle -maximum_steering_angle];
maximum_steering_velocity = 0.3;
steering_velocity_limit = [maximum_steering_velocity -
maximum_steering_velocity];
acceleration_0 = acceleration_limit(1) / 10;
steering_velocity_0 = steering_angle_limit(1) / 10;
velocity_0 = 0;
steering_angle_0 = 0;
sim_time_length = 5;
time = (0 : 1e-3 : sim_time_length)';
acceleration = [time acceleration_0 * ones(size(time))];
steering_velocity = [time steering_velocity_0 * ones(size(time))];
sim rwdmodel; rwddata = simout;
sim fwdmodel; fwddata = simout;
run plotResults.m;
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Velocity [m/s]
RWD vehicle
FWD vehicle
14
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
Alpha [rad]
RWD vehicle
FWD vehicle
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
Theta [rad]
RWD vehicle
FWD vehicle
15
Time [s]
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
Alpha [rad]
RWD vehicle
FWD vehicle
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
Theta [rad]
RWD vehicle
FWD vehicle
15
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
0.2
Position Y [m]
RWD vehicle
FWD vehicle
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
0
0.2
0.4
0.6
0.8
1
1.2
Position X [m]
RWD vehicle
FWD vehicle
16
Time [s]
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
0.2
Position Y [m]
RWD vehicle
FWD vehicle
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [s]
0
0.2
0.4
0.6
0.8
1
1.2
Position X [m]
RWD vehicle
FWD vehicle
16
0 0.2 0.4 0.6 0.8 1 1.2
X [m]
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
0.2
Y [m]
RWD vehicle
FWD vehicle
Section 3: Path determination
To determine the path,
sim rwdmodel; rwddata = simout;
sim fwdmodel; fwddata = simout;
run plotResults.m;
17
X [m]
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
0.2
Y [m]
RWD vehicle
FWD vehicle
Section 3: Path determination
To determine the path,
sim rwdmodel; rwddata = simout;
sim fwdmodel; fwddata = simout;
run plotResults.m;
17
0 5 10 15 20 25 30
Time [s]
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Velocity [m/s]
RWD vehicle
FWD vehicle
0 5 10 15 20 25 30
Time [s]
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
Alpha [rad]
RWD vehicle
FWD vehicle
18
Time [s]
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Velocity [m/s]
RWD vehicle
FWD vehicle
0 5 10 15 20 25 30
Time [s]
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
Alpha [rad]
RWD vehicle
FWD vehicle
18
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
0 5 10 15 20 25 30
Time [s]
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
Theta [rad]
RWD vehicle
FWD vehicle
0 5 10 15 20 25 30
Time [s]
-7
-6
-5
-4
-3
-2
-1
0
Position Y [m]
RWD vehicle
FWD vehicle
19
Time [s]
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
Theta [rad]
RWD vehicle
FWD vehicle
0 5 10 15 20 25 30
Time [s]
-7
-6
-5
-4
-3
-2
-1
0
Position Y [m]
RWD vehicle
FWD vehicle
19
0 5 10 15 20 25 30
Time [s]
-2
0
2
4
6
8
10
12
14
Position X [m]
RWD vehicle
FWD vehicle
-2 0 2 4 6 8 10 12 14
X [m]
-7
-6
-5
-4
-3
-2
-1
0
Y [m]
RWD vehicle
FWD vehicle
20
Time [s]
-2
0
2
4
6
8
10
12
14
Position X [m]
RWD vehicle
FWD vehicle
-2 0 2 4 6 8 10 12 14
X [m]
-7
-6
-5
-4
-3
-2
-1
0
Y [m]
RWD vehicle
FWD vehicle
20
rad = tan(pi / 2 - maximum_steering_angle) * d
sim rwdmodel; rwddata = simout;
sim fwdmodel; fwddata = simout;
run plotResults.m;
0 5 10 15
Time [s]
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Velocity [m/s]
RWD vehicle
FWD vehicle
21
sim rwdmodel; rwddata = simout;
sim fwdmodel; fwddata = simout;
run plotResults.m;
0 5 10 15
Time [s]
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Velocity [m/s]
RWD vehicle
FWD vehicle
21
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
0 5 10 15
Time [s]
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
Alpha [rad]
RWD vehicle
FWD vehicle
0 5 10 15
Time [s]
0
1
2
3
4
5
6
7
8
9
Theta [rad]
RWD vehicle
FWD vehicle
22
Time [s]
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
Alpha [rad]
RWD vehicle
FWD vehicle
0 5 10 15
Time [s]
0
1
2
3
4
5
6
7
8
9
Theta [rad]
RWD vehicle
FWD vehicle
22
0 5 10 15
Time [s]
0
0.5
1
1.5
Position Y [m]
RWD vehicle
FWD vehicle
0 5 10 15
Time [s]
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
Position X [m]
RWD vehicle
FWD vehicle
23
Time [s]
0
0.5
1
1.5
Position Y [m]
RWD vehicle
FWD vehicle
0 5 10 15
Time [s]
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
Position X [m]
RWD vehicle
FWD vehicle
23
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8
X [m]
0
0.5
1
1.5
Y [m]
RWD vehicle
FWD vehicle
PART 2
Localization of the tricycle using a particle filter
Using Matlab,
% Just run part2sol.m and it will generate outputs for report
clc; clear all; % Clear console; % Clear workspace
run initialize.m
for current_sample = 1 : length(carpos)
sensor_data = sensor(carpos(current_sample,:)); % Get sensor measurements
run particleFilterIteration;
end
run analyze.m
24
X [m]
0
0.5
1
1.5
Y [m]
RWD vehicle
FWD vehicle
PART 2
Localization of the tricycle using a particle filter
Using Matlab,
% Just run part2sol.m and it will generate outputs for report
clc; clear all; % Clear console; % Clear workspace
run initialize.m
for current_sample = 1 : length(carpos)
sensor_data = sensor(carpos(current_sample,:)); % Get sensor measurements
run particleFilterIteration;
end
run analyze.m
24
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
1.5 1.6 1.7 1.8 1.9 2 2.1 2.2
X (m)
1
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
Y (m)
Real pose
Estimated pose
0 1 2 3 4 5 6 7 8 9 10
Time (s)
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
X error (m)
10-3
25
X (m)
1
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
Y (m)
Real pose
Estimated pose
0 1 2 3 4 5 6 7 8 9 10
Time (s)
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
X error (m)
10-3
25
0 1 2 3 4 5 6 7 8 9 10
Time (s)
-4
-3
-2
-1
0
1
2
3
Y error (m)
10-3
0 1 2 3 4 5 6 7 8 9 10
Time (s)
-2
-1
0
1
2
3
4
5
6
Theta error (rad)
10-3
26
Time (s)
-4
-3
-2
-1
0
1
2
3
Y error (m)
10-3
0 1 2 3 4 5 6 7 8 9 10
Time (s)
-2
-1
0
1
2
3
4
5
6
Theta error (rad)
10-3
26
The particle filter algorithm,
The key idea is to represent the required posterior density function by a set of random samples
with associated weights. One can thereafter compute the required posterior density function by a
set of random samples and weights determined.
The steps involved in the algorithm are as follows,
sampling = zeros(M, 3); % Just define sampling for this iteration
for m = 1 : M % Go through all particles first time
velocity = velocity_initial_value + randn(1) * velocity_std;
alpha = alpha_initial_value + randn(1) * alpha_std;
sampling(m,1) = 0.05 * velocity * cos(filter_particles(m,3)) +
filter_particles(m,1);
sampling(m,2) = 0.05 * velocity * sin(filter_particles(m,3)) +
filter_particles(m,2);
sampling(m,3) = 0.05 / d * velocity * sin(alpha) + filter_particles(m,3);
end
w = ones(M, 1); % Just define weights for this iteration
for m = 1 : M % Go through all particles second time
error_by_sensor = zeros(size(sensor_data));
landmark_locations_guess = [];
% Here is solved tricky part - we dont know which measurement is
% generated because of which landmark - we have to guess it!
for i = 1 : size(sensor_data, 1)
landmark_locations_guess(1) = sampling(m,1) + sensor_data(i,1) *
cos(sampling(m,3) + sensor_data(i,2));
landmark_locations_guess(2) = sampling(m,2) + sensor_data(i,1) *
sin(sampling(m,3) + sensor_data(i,2));
index = 1;
min_value = 1e6; % Just put something big to start
for j = 1 : size(landmark_locations, 1)
if sqrt((landmark_locations_guess(1) - landmark_locations(j,1))^2
+ (landmark_locations_guess(2) - landmark_locations(j,2))^2) < min_value
index = j;
min_value = sqrt((landmark_locations_guess(1) -
landmark_locations(j,1))^2 + (landmark_locations_guess(2) -
landmark_locations(j,2))^2);
end
end
% Prepare data for pdf function
27
The key idea is to represent the required posterior density function by a set of random samples
with associated weights. One can thereafter compute the required posterior density function by a
set of random samples and weights determined.
The steps involved in the algorithm are as follows,
sampling = zeros(M, 3); % Just define sampling for this iteration
for m = 1 : M % Go through all particles first time
velocity = velocity_initial_value + randn(1) * velocity_std;
alpha = alpha_initial_value + randn(1) * alpha_std;
sampling(m,1) = 0.05 * velocity * cos(filter_particles(m,3)) +
filter_particles(m,1);
sampling(m,2) = 0.05 * velocity * sin(filter_particles(m,3)) +
filter_particles(m,2);
sampling(m,3) = 0.05 / d * velocity * sin(alpha) + filter_particles(m,3);
end
w = ones(M, 1); % Just define weights for this iteration
for m = 1 : M % Go through all particles second time
error_by_sensor = zeros(size(sensor_data));
landmark_locations_guess = [];
% Here is solved tricky part - we dont know which measurement is
% generated because of which landmark - we have to guess it!
for i = 1 : size(sensor_data, 1)
landmark_locations_guess(1) = sampling(m,1) + sensor_data(i,1) *
cos(sampling(m,3) + sensor_data(i,2));
landmark_locations_guess(2) = sampling(m,2) + sensor_data(i,1) *
sin(sampling(m,3) + sensor_data(i,2));
index = 1;
min_value = 1e6; % Just put something big to start
for j = 1 : size(landmark_locations, 1)
if sqrt((landmark_locations_guess(1) - landmark_locations(j,1))^2
+ (landmark_locations_guess(2) - landmark_locations(j,2))^2) < min_value
index = j;
min_value = sqrt((landmark_locations_guess(1) -
landmark_locations(j,1))^2 + (landmark_locations_guess(2) -
landmark_locations(j,2))^2);
end
end
% Prepare data for pdf function
27
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
error_by_sensor(i,1) = sensor_data(i,1) - sqrt((sampling(m,1) -
landmark_locations(index,1))^2 + (sampling(m,2) -
landmark_locations(index,2))^2);
error_by_sensor(i,2) = sensor_data(i,2) + sampling(m,3) -
atan2(landmark_locations(index,2) - sampling(m,2), landmark_locations(index,1)
- sampling(m,1));
end
for j = 1 : size(error_by_sensor, 1)
% We just do probabilities multiplication, assuming independence
w(m) = w(m) * pdf('Normal', error_by_sensor(j,1), 0,
sensor_distance_std) * pdf('Normal', error_by_sensor(j,2), 0,
sensor_beta_std);
end
end
w = w / sum(w);
particles_weighted_sum = 0;
sum_of_particles_weights = 0;
for m = 1 : M
random_number = rand(1);
random_particle_index = find(cumsum(w) <= random_number == 0, 1, 'first');
filter_particles(m,:) = sampling(random_particle_index,:);
particles_weighted_sum = particles_weighted_sum + w(random_particle_index)
* sampling(random_particle_index,:);
sum_of_particles_weights = sum_of_particles_weights +
w(random_particle_index);
end
% Save current pose estimation to vector for plot
pf_pose_estimation(current_sample,:) = particles_weighted_sum /
sum_of_particles_weights;
REVIEW AND DISCUSSION
The axial distance is
d= √ 0.5+ 0.01G
Where G=5
d= √ 0.5+ 0.05 m
d=0.74162m
The trajectory control interacts with the steering control. In this work our objective was to design
the trajectory control strategy which feeds the steering control loop. The steering control loop
has its own controller whose design is also considered in the paper. For the velocity control
system, as mentioned above, we assumed that the robot dynamics are primarily due to the BLDC
motor which is responsible for the translation. For response to a step input in velocity control, we
designed a controller based on the model identified. A fast rise time is often the most desirable
performance characteristic for any autonomous mobile robot. Other than the high bandwidth, the
28
landmark_locations(index,1))^2 + (sampling(m,2) -
landmark_locations(index,2))^2);
error_by_sensor(i,2) = sensor_data(i,2) + sampling(m,3) -
atan2(landmark_locations(index,2) - sampling(m,2), landmark_locations(index,1)
- sampling(m,1));
end
for j = 1 : size(error_by_sensor, 1)
% We just do probabilities multiplication, assuming independence
w(m) = w(m) * pdf('Normal', error_by_sensor(j,1), 0,
sensor_distance_std) * pdf('Normal', error_by_sensor(j,2), 0,
sensor_beta_std);
end
end
w = w / sum(w);
particles_weighted_sum = 0;
sum_of_particles_weights = 0;
for m = 1 : M
random_number = rand(1);
random_particle_index = find(cumsum(w) <= random_number == 0, 1, 'first');
filter_particles(m,:) = sampling(random_particle_index,:);
particles_weighted_sum = particles_weighted_sum + w(random_particle_index)
* sampling(random_particle_index,:);
sum_of_particles_weights = sum_of_particles_weights +
w(random_particle_index);
end
% Save current pose estimation to vector for plot
pf_pose_estimation(current_sample,:) = particles_weighted_sum /
sum_of_particles_weights;
REVIEW AND DISCUSSION
The axial distance is
d= √ 0.5+ 0.01G
Where G=5
d= √ 0.5+ 0.05 m
d=0.74162m
The trajectory control interacts with the steering control. In this work our objective was to design
the trajectory control strategy which feeds the steering control loop. The steering control loop
has its own controller whose design is also considered in the paper. For the velocity control
system, as mentioned above, we assumed that the robot dynamics are primarily due to the BLDC
motor which is responsible for the translation. For response to a step input in velocity control, we
designed a controller based on the model identified. A fast rise time is often the most desirable
performance characteristic for any autonomous mobile robot. Other than the high bandwidth, the
28
control design should be such that the closed loop system is insensitive to external disturbances
which arise due to undulations in the road terrain and other environmental disturbances. To
achieve both the design objectives a lead-lag compensator is needed. There are certain distinct
advantages that can be had with a three-wheeled robot design(Vrunda, & et al, 2009). The steer
using the front wheel is quite close in working to the design of cars.
Traditionally, reference paths have been designed from lines and arcs, laid out to make the
heading along the path continuous. It has been shown that it is not possible for most mobile
robots to follow this kind of paths without errors(Nelson, & et.al, n.d). The cause of errors is the
discontinuity in curvature at the junctions between the lines and the arcs. A step-wise change of
curvature demands infinite acceleration of the actuator controlling the curvature taken by the
robot guide point. The tricycle is an exception with the guide point placed under the steering
wheel. The placement should be avoided because of the resulting complex control of the
orientation of the robot as well as the wide swept area. The common placement of guide point as
the mid-point between the non-steered wheels for a tricycle mobile robot. This is at the mid-point
between the rear or front wheels of an articulated mobile robot. Another model of obtaining a
path is using a gaussian shape of the steer angle versus time function of a tricycle mobile robot
when driving in a curve. The gaussian function is infinitely differentiable, solving the problem
with steeps in actuator torque but the path was difficult to obtain (Zhang, & et al, n.d.).
The curvature of the path is defined as the inverse of the instantaneous radius of curvature,
centered around a hypothetical center of a circle. The center of curvature is similarly defined as
the center of a circle which passes through the path at a given point which has the same tangent
and curvature at that point on the path. We can calculate the curvature for the robot design in
consideration in this paper as shown below,
V L=rx ωL
V R=rx ωR
Where r is the radius of a wheel, ωL is the left wheel angular velocity and ωR is the right wheel
angular velocity. The rear wheels follow differential drive kinematics as they are both free to
move in both clockwise and anticlockwise directions. It is prudent to have the tricycle follow a
trajectory as shown in the illustration below. The aim is to plan the driving acceleration and
steering velocity profiles for the front wheel steering and back wheel driving robot so that the
robot will follow the path. Apply the same control profile to the front wheel steering and front
wheel driving robot. A similar model was also identified by running the BLDC motor without
load. The minimum radius of curvature of the circle is computed so as to confirm the results,
The solution obtained on Matlab,
rad = tan(pi / 2 - maximum_steering_angle) * d
rad = 0.7416
Total length of travel:
¿ 10+9.4248+10
29
which arise due to undulations in the road terrain and other environmental disturbances. To
achieve both the design objectives a lead-lag compensator is needed. There are certain distinct
advantages that can be had with a three-wheeled robot design(Vrunda, & et al, 2009). The steer
using the front wheel is quite close in working to the design of cars.
Traditionally, reference paths have been designed from lines and arcs, laid out to make the
heading along the path continuous. It has been shown that it is not possible for most mobile
robots to follow this kind of paths without errors(Nelson, & et.al, n.d). The cause of errors is the
discontinuity in curvature at the junctions between the lines and the arcs. A step-wise change of
curvature demands infinite acceleration of the actuator controlling the curvature taken by the
robot guide point. The tricycle is an exception with the guide point placed under the steering
wheel. The placement should be avoided because of the resulting complex control of the
orientation of the robot as well as the wide swept area. The common placement of guide point as
the mid-point between the non-steered wheels for a tricycle mobile robot. This is at the mid-point
between the rear or front wheels of an articulated mobile robot. Another model of obtaining a
path is using a gaussian shape of the steer angle versus time function of a tricycle mobile robot
when driving in a curve. The gaussian function is infinitely differentiable, solving the problem
with steeps in actuator torque but the path was difficult to obtain (Zhang, & et al, n.d.).
The curvature of the path is defined as the inverse of the instantaneous radius of curvature,
centered around a hypothetical center of a circle. The center of curvature is similarly defined as
the center of a circle which passes through the path at a given point which has the same tangent
and curvature at that point on the path. We can calculate the curvature for the robot design in
consideration in this paper as shown below,
V L=rx ωL
V R=rx ωR
Where r is the radius of a wheel, ωL is the left wheel angular velocity and ωR is the right wheel
angular velocity. The rear wheels follow differential drive kinematics as they are both free to
move in both clockwise and anticlockwise directions. It is prudent to have the tricycle follow a
trajectory as shown in the illustration below. The aim is to plan the driving acceleration and
steering velocity profiles for the front wheel steering and back wheel driving robot so that the
robot will follow the path. Apply the same control profile to the front wheel steering and front
wheel driving robot. A similar model was also identified by running the BLDC motor without
load. The minimum radius of curvature of the circle is computed so as to confirm the results,
The solution obtained on Matlab,
rad = tan(pi / 2 - maximum_steering_angle) * d
rad = 0.7416
Total length of travel:
¿ 10+9.4248+10
29
L= 29.4248 m
100
L=0.294248m
vR=2.5 m/ s
vL=2.1 m/ s
diameter=
0.294248
2 ∗2.5+2.1
2.5−2.1
R=0.147124∗11.5
2
R=0.7516 m
There is a variation in the calculation from the MATLAB simulation value.
The main assumption in the analysis is that the tricycle is running on a level ground. The
simulation results are as shown in the MATLAB simulation file showing there is a lesser
velocity for the reverse as compared to the forward movement. The reverse requires a steering
angle to be maintained. Change in the steering angle is bound to cause a slower motion as
compared to the normal or orthogonal movement where the steering wheel is perpendicular to
the ground (Zhang, & et al, n.d.).
CONCLUSION
In a nutshell, the kinematic modelling of a tricycle mobile robot is useful in the design of best fit
tricycle mobile locomotives for real life applications. The MATLAB software is an essential tool
in the analysis of the system and in the modelling of the three-wheeled mobile robot. The
linearity of the model was also investigated thoroughly and the range of linearity was calculated
by analyzing the experimental data. We identified a linearized model for a three-wheeled
autonomous mobile robot. The trajectory control problem was touched upon briefly in this paper
and some promising initial results were demonstrated. A high-level planner designed for
holonomic differential drive robots only, when used with the designed trajectory controller for
the three-wheeled robot design followed the desired trajectory. Modeling and control strategies
for a design of an autonomous three wheeled mobile robot with front wheel steer.
RECOMMENDATION
There is a great opportunity in the mobile robotics field where there is current research on
solving challenges in the intelligent autonomous robots. The areas of interest are navigation,
including self-localization, trajectory tracking, wheel speed control and obstacle avoidance. It is
30
100
L=0.294248m
vR=2.5 m/ s
vL=2.1 m/ s
diameter=
0.294248
2 ∗2.5+2.1
2.5−2.1
R=0.147124∗11.5
2
R=0.7516 m
There is a variation in the calculation from the MATLAB simulation value.
The main assumption in the analysis is that the tricycle is running on a level ground. The
simulation results are as shown in the MATLAB simulation file showing there is a lesser
velocity for the reverse as compared to the forward movement. The reverse requires a steering
angle to be maintained. Change in the steering angle is bound to cause a slower motion as
compared to the normal or orthogonal movement where the steering wheel is perpendicular to
the ground (Zhang, & et al, n.d.).
CONCLUSION
In a nutshell, the kinematic modelling of a tricycle mobile robot is useful in the design of best fit
tricycle mobile locomotives for real life applications. The MATLAB software is an essential tool
in the analysis of the system and in the modelling of the three-wheeled mobile robot. The
linearity of the model was also investigated thoroughly and the range of linearity was calculated
by analyzing the experimental data. We identified a linearized model for a three-wheeled
autonomous mobile robot. The trajectory control problem was touched upon briefly in this paper
and some promising initial results were demonstrated. A high-level planner designed for
holonomic differential drive robots only, when used with the designed trajectory controller for
the three-wheeled robot design followed the desired trajectory. Modeling and control strategies
for a design of an autonomous three wheeled mobile robot with front wheel steer.
RECOMMENDATION
There is a great opportunity in the mobile robotics field where there is current research on
solving challenges in the intelligent autonomous robots. The areas of interest are navigation,
including self-localization, trajectory tracking, wheel speed control and obstacle avoidance. It is
30
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
also involved in task planning and coordination, object recognition, sensor integration and world
map building, learning and adaptation, cooperation between robots and humans.
REFERENCES
Johann Borenstein and Yoram Koren, “Motion Control Analysis Of A Mobile Robot”,
Transactions of ASME, Journal of Dynamics, Measurement and Control, Vol. 109, No. 2, pp 73-
79.
Dong-Sung Kim, Wook Hyun Kwon, and Hong Sung Park, “Geometric Kinematics and
Applications of a Mobile Robot”, International Journal of Control, Automation, and Systems
Vol.1, No. 3, pp 376-384, September 2003.
Giovanni Indiveri, “Swedish Wheeled Omnidirectional Mobile Robots: Kinematics Analysis and
Control”, IEEE transactions on robotics, VOL. 25, NO. 1, pp 164-171, February 2009.
J.L. Guzm´ana, M. Berenguela, F. Rodr´ýgueza, and S. Dormidob, “An interactive tool for
mobile robot motion planning”, Robotics and Autonomous Systems 56, pp 396–409, 2008
Johann Borenstein, “Control and Kinematic Design of MultiDegree-of- Freedom Mobile Robots
with Compliant Linkage”, IEEE transactions on robotics and automation, vol. 1, pp 21-35.
Nilanjan Chakraborty and Ashitava Ghosal, “Kinematics of wheeled mobile robots on uneven
terrain”, Mechanism and Machine Theory 39, pp 1273–1287, 2004.
S.-F. Wu, J.-S. Mei, and P.-Y. Niu, “Path guidance and control of a guided wheeled mobile
robot,” Control Engineering Practice, Vol. 9, Issue 1, pp. 97-105, 2001
Vrunda A. Joshi and Ravi N. Banavar, “Motion analysis of a spherical mobile robot”, Robotica
(2009), volume 27, Cambridge University Press, pp. 343–353
Y. Kanayama et al “A Locomotion Control Method for Autonomous Vehicles” IEEE conf. on
Robotics and automation:1315-1317.
31
map building, learning and adaptation, cooperation between robots and humans.
REFERENCES
Johann Borenstein and Yoram Koren, “Motion Control Analysis Of A Mobile Robot”,
Transactions of ASME, Journal of Dynamics, Measurement and Control, Vol. 109, No. 2, pp 73-
79.
Dong-Sung Kim, Wook Hyun Kwon, and Hong Sung Park, “Geometric Kinematics and
Applications of a Mobile Robot”, International Journal of Control, Automation, and Systems
Vol.1, No. 3, pp 376-384, September 2003.
Giovanni Indiveri, “Swedish Wheeled Omnidirectional Mobile Robots: Kinematics Analysis and
Control”, IEEE transactions on robotics, VOL. 25, NO. 1, pp 164-171, February 2009.
J.L. Guzm´ana, M. Berenguela, F. Rodr´ýgueza, and S. Dormidob, “An interactive tool for
mobile robot motion planning”, Robotics and Autonomous Systems 56, pp 396–409, 2008
Johann Borenstein, “Control and Kinematic Design of MultiDegree-of- Freedom Mobile Robots
with Compliant Linkage”, IEEE transactions on robotics and automation, vol. 1, pp 21-35.
Nilanjan Chakraborty and Ashitava Ghosal, “Kinematics of wheeled mobile robots on uneven
terrain”, Mechanism and Machine Theory 39, pp 1273–1287, 2004.
S.-F. Wu, J.-S. Mei, and P.-Y. Niu, “Path guidance and control of a guided wheeled mobile
robot,” Control Engineering Practice, Vol. 9, Issue 1, pp. 97-105, 2001
Vrunda A. Joshi and Ravi N. Banavar, “Motion analysis of a spherical mobile robot”, Robotica
(2009), volume 27, Cambridge University Press, pp. 343–353
Y. Kanayama et al “A Locomotion Control Method for Autonomous Vehicles” IEEE conf. on
Robotics and automation:1315-1317.
31
1 out of 32
Your All-in-One AI-Powered Toolkit for Academic Success.
+13062052269
info@desklib.com
Available 24*7 on WhatsApp / Email
Unlock your academic potential
© 2024 | Zucol Services PVT LTD | All rights reserved.