Overview and purpose
This assignment asks you to create software that produces occupancy grid maps based on robot sensor data. The purpose is to give you additional experience designing and implementing algorithms that overcome sensor data that is noisy and incomplete.Your task
Here is a collection of bag files, all recorded by the same robot: Your job is to use the data recorded in these bag files to produce a map of the environment the robot is moving in. An important part of this task will be to investigate what sort of data is available in the bag files. This information will be essential as you devise an algorithm to process that data into as complete and accurate map as the data allow. Your system must publish a message on the topic/map
at least once per
second, based on the data available so far up to that point.
- This message must have data type nav_msgs/msg/OccupancyGrid.
- The map must represent a $10\text{m} \times 10\text{m}$ square of the plane, centered at the origin with its sides aligned with the axes.
- The map must be 50 cells tall and 50 cells wide.
- Each cell in the grid is signed integer, representing 100 times the probability that the cell contains an obstacle. So 100 would mean you are certain that the cell contains an obstacle and 0 would mean you are certain there is no obstacle. Cells that have not been observed by the robot should have value 50.
What to submit
Three required parts:- A PDF report including:
- A concise description of how the system works. This should be a couple of paragraphs, describing your overall approach at a conceptual level. Some questions to consider: What choices did you make in designing the program, and why? What nodes does your system contain, and what role does each one play? What specific constants are part of your method, and how did you select values for those constants?
- A short answer to these questions: Did the results meet your expectations? Why or why not?
- The source code for your program(s). This will span at least one source code files. Be sure to consult the source code style guide.
- Rosbag recordings of all topics throughout the entire execution
of your program for each of the provided input bags numbered 1
through 8. The directory of each bag file must be named with your TAMU
netid. followed by a dash, followed by the number of the input bag file.
For example, your instructor's submission would include bag directories
called jokane-1,jokane-8, and so on. Incorrectly named bags cannot be graded.
- A short video demonstrating your system in some way that may be helpful in grading.