CSCE 452/752 Robotics and Spatial Intelligence, Spring 2026

Project 2

Logistics

This assignment should be done individually.

Reference material

In addition to the concepts you used in Project 1 (nodes, topics, publishers, subscribers, etc.), you'll need to use services, parameters, and bags. You will likely want to consult the tutorials and reference documentation on those subjects.

Provided software

Download the newly-updated version
sim
package from this link and extract it into the
src
subdirectory in your ROS workspace.
ROS2
sim
package
You should use this package to complete this assignment, but should not modify anything in the
sim
package nor add anything to it.

Overview and purpose

This assignment asks you use the
sim2
simulator, an enhanced version of
sim1
from the previous project, to control the simulated robot to visit collection of sites efficiently and accurately. The purpose is to give some experience using ROS in a non-trivial context, along with some experience controlling the motion of (simulated) robots.

Your task

Create a ROS node that uses the
sim2
simulator to draw a line that visits a given set of targets. Each target is a line segment that the robot must touch. The robot's movement should be accurate (i.e. minimal extraneous movement) and fast. Here is an example of what a visualization of the completed project might look like:
a simulated robot that has visited a series of sites
Notice that this solution has room for improvement: There are at least two places where the robot makes slight turns when traveling straight through would have been faster. You should aim for a solution that does not make these mistakes.
Here are details about how
sim2
is set up to handle this problem: Some details about how your program must work: The results will be evaluated based on adherence to these requirements, along with the speed of execution, the correctness of the results, and quality of your code.

What to submit

You should submit a single zip archive containing everything listed below: You may (but are not required to) also include: