Webots: Getting Started
Read
- Webots User Manual: Chapters 3, 5, and 6.
- Murphy: Chapter 4 and 5
Getting used to Webots
- Create a world:
- Create the world kiki.wbt from Section 4.1 in the User's Guide
- Using default.wbt as a template, create a maze in which you
have a single Khepera robot without any extension turrets. If you have
troubles, consult the User Guide. Save your
environment as myobstacle.wbt.
- Create a controller print.c that reads sensor values and prints them to the
screen.
- Create an open-loop controller openloop.c, that does the following
- Has a function that given a certain distance d, has the
robot move straight for d meters
- Has a function that given a radius, makes the robot drive
clockwise around in a circle of radius r meters from the
current position. If the argument is negative, the robot should
drive counter clockwise around the circle.
- Has a function that given a length l and an integer
n moves the
robot around in a square with side length l meters
n times.
- Includes code that demonstartes out each of the above
functions.
- In the last problem, the square trajectory was not
perfect. Using sensors and PID control, make a robot controller
(squares.c) follow the
square trajectory.
- Implement a Braitenberg type 2 vehicle in braiten2.c that
exhibits obstacle avoidance behavior using only two sensors and excitatory
connections.
Submit all of the following individually using assignment name
webots0.
Subsumption
In this section which will be completed as a group, you should implement a controller for the following problem from the midterm:
Design a reactive wall-following agent that follows the perimeter of a
room, starting from some interior point in the room. You robot should find
the nearest wall and start following it. Your robot should also avoid open
space, and not bump into any obstacles.
We also would like our robot to follow a light source.
Your solution should have layers that do the following, in order of
priority from lowest to highest:
- Follow closest wall at a distance of d meters: using PD control
- Navigate through corners: by calculating the
trajectory using the kinematics of the robot
- Avoid obstacles and open space (i.e. be attracted to the walls):
using potential fields
- Follow light source of at least intensity i: using
Braitenberg Vehicle 4 type architecture
Each group member should write one of the layers individually. Remember
that each level may need different inputs.
After each individual layer is finished, as a group you should
- Write the arbitration layer
- Develop a world and demo of your robot solving the task described
Writeup
Describe the architecture of your robot, submit your code files, and include
a pointer to the video of your wall-following robot. Submit using
assignment name webots1.
Jeffrey R.N. Forbes
Last modified: Fri Oct 18 10:14:44 EDT 2002