$30
Home assignment #1
Quick start with V-REP and exercise:
▪ Download the exercise task from the web-page of Autonomous Systems Lab
(Institute of Robotics and Intelligent Systems in ETH Zurich):
https://www.ethz.ch/content/dam/ethz/special-interest/mavt/robotics-n-intelligent-systems/
asl-dam/documents/lectures/autonomous_mobile_robots/spring-2016/ethzasl_amr_exercise
2.zip
▪ Open “exercise 2-assignment.pdf” and use this tutorial step-by-step
▪ To execute hw1 use V-REP PRO EDU and MATLAB/Octave
1 | Kinematics and control of a differential drive vehicle. | Dr. Ilya Afanasyev| i.afanasyev@innopolis.ru |
“Intelligent Mobile Robotics” course | Innopolis University, Russia, Winter 2019
Reference:
▪ Margarita Chli, Paul Furgale, Marco Hutter, Martin Rufli, Davide Scaramuzza,
Roland Siegwart, Autonomous Mobile Robots, ETH, 2016,
http://www.asl.ethz.ch/education/lectures/autonomous_mobile_robots.html
Running a Scene with robot Bob
▪ Open V-REP scene: scene/mooc_exercises.ttt
▪ Set additional walls: Models/infrastructure/walls
▪ Run a mobile robot Bob (motion + lidar scanning)
2 | Introduction to the V-REP robot simulator. | Dr. Ilya Afanasyev| i.afanasyev@innopolis.ru |
“Intelligent Mobile Robotics” course | Innopolis University, Russia, Winter 2019
Start a remote API client from MATLAB
▪ Open MATLAB, copy relevant *.dll and files.
▪ Set up MATLAB - V-REP communication by the MATLAB commands
Result
3 | Introduction to the V-REP robot simulator. | Dr. Ilya Afanasyev| i.afanasyev@innopolis.ru |
“Intelligent Mobile Robotics” course | Innopolis University, Russia, Winter 2019
where (υ, ω) represent forward and rotational velocity of the
robot platform, respectively, and the spinning speed
of the right and left wheels. The wheel radius is given by r
and l denotes half of the inter-wheel distance.
Feed Forward Control
▪ For a differential-drive robot, the kinematic model is described by the equations:
Result
4 | Kinematics and control of a differential drive vehicle. | Dr. Ilya Afanasyev| i.afanasyev@innopolis.ru |
“Intelligent Mobile Robotics” course | Innopolis University, Russia, Winter 2019
Task 1:
▪ Edit calculateWheelSpeeds.m in such a manner that it
computes the spinning speeds based on the
given velocities (υ, ω). Based on this feed forward
controller, the robot will attempt to drive on a 0.5m
radius circular trajectory.
▪ Validation: The feed forward controller can be
evaluated by running the test/testCircleDrive.m script.
Task 2:
▪ Use control law
▪ Task: Please implement this close-loop position
controller within calculateControlOutput.m. Helpful
MATLAB commands/files are: atan2, and
normalizeAngle.m. All angles are given in the positive
right-hand coordinate frame (counter clockwise).
▪ Validation: Start V-REP, load scene
scene/mooc_exercises.ttt and start the simulation.
You should see a circular robot and a set of walls. Now
run the script vrep/vrepSimulation.m within MATLAB.
Closed-loop Control
5 | Kinematics and control of a differential drive vehicle. | Dr. Ilya Afanasyev| i.afanasyev@innopolis.ru |
“Intelligent Mobile Robotics” course | Innopolis University, Russia, Winter 2019
Variables of State feedback control
for mobile robot Bob
Variables for kinematic model of the
differential-drive robot
Task 3:
▪ Improve your code within calculateControlOutput.m
such way that the robot is able to drive in both
directions depending on where it is located with
respect to the target pose, driving towards with a
constant speed.
▪ Validation: Start V-REP, load scene
scene/mooc_exercises.ttt and start the simulation.
▪ You should see a circular robot and a set of walls. Now
run the script vrep/vrepSimulation.m within MATLAB.
The robot should starts driving towards the green
robot ghost and should come to a stop in the same
spot and the same orientation as the target.
Closed-loop Control Enhanced
6 | Kinematics and control of a differential drive vehicle. | Dr. Ilya Afanasyev| i.afanasyev@innopolis.ru |
“Intelligent Mobile Robotics” course | Innopolis University, Russia, Winter 2019
Variables of State feedback control
for mobile robot Bob
Result
Task 4.
Complete either of the following two options:
• Make Bob to move to the target avoiding walls.
You may use the generated room map.
• Build a room map by using the lidar sensor (fastHokuyo) of Bob.
Bob will need to drive through the room in order to do this.
Home assignment #1