CSCE 452/752 Robotics and Spatial Intelligence, Fall 2025

Project 2

Assigned: 2024-09-22
Due: 2023-10-06, 11:59pm

Logistics

This assignment is intended to be completed in teams of size 3. Nevertheless, it may be completed in teams of size 1, 2, or 3. Expectations and grading standards will be the same regardless of team size. The instructor will not mediate conflicts between team members. Everyone on the team will be considered fully responsible for all of the submitted work.
You should assign yourself to a team within the Canvas system —Use the People link within the course page— by noon on September 26. After this date, teams for this project will be final. If you are choosing to work alone, this step is still required; simply add yourself to a group with no other members.

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.

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:
[Submit via Canvas.]