CS6963: Algorithmic Foundations of Robotics, 2025 Fall, University of Utah
- Name: Seongil Heo
- UID: u1527760
- Date: September 5th, 2025
1. Define in your own words what a node, topic, publisher, and subscriber are and how they relate to each other.
Answer
-
Node: A node is an executable process in a ROS system. A node can include publishers, subscribers, services, actions, parameters, and internal logic. Nodes can be executed using commands like
rosrun [package] [node]orroslaunch [package] [filename.launch]. -
Topic: A topic is a communication channel for the exchange of message-based data between nodes. A message is a data structure that contains the transmitted information. Each topic has a designated name and message type. Detailed information about available topics can be viewed using
rostopic list -v. The data published to a topic can be inspected using commands likerostopic echo [topic]. -
Publisher: A publisher is an object within a node that sends messages to a topic. Each publisher is bound to a specific message type. A single publisher can send messages to only one topic, but a node may contain multiple publishers for different topics.
-
Subscriber: A subscriber is an object within a node that receives messages from a topic. Each subscriber is bound to a specific message type. A single subscriber can receive messages from only one topic, but a node may contain multiple subscribers for different topics.
-
Relation: Publishers and subscribers are objects contained within nodes. They communicate through topics. Publishers send messages to a topic, and subscribers receive messages from it. Each topic can have multiple publishers and subscribers.
Answer
A launch file is used with roslaunch to simplify the process of running multiple nodes simultaneously and configuring the environment.
It is written in XML format, and its main features include running nodes(<node>), remapping topic/service names(<remap>), setting parameters (<param>, <rosparam>), grouping namespaces (<group>), including other launch files (<include>), and distributing execution across machines (<machine>).
A launch file can also define dependencies between nodes, control execution order, and enable conditional execution.
Answer
The simulator was run with the new map (cse2_2.yaml from the cse478 package) and RViz was opened.
The screenshot below shows of RViz with the new map.
Answer
Answer
Answer
![]() Figure 6: Car locations for plan tight_figure_8.txt. |
![]() Figure 7: Car distances for plan tight_figure_8.txt. |
7. Optional: Include your own plan file, any code you wrote to generate it, and the resulting locations.png figure.
Answer
# introduction/plans/si_plan.txt
0,0,0
2.00, 0.09
2.00, 0.09
2.00, 0.09
2.00, 0.09
2.00, 0.09
2.00, 0.09
2.00,-0.09
2.00,-0.09
2.00,-0.09
2.00,-0.09
2.00,-0.09
2.00,-0.09
2.00,0.09
3.00, 0
1.8, -0.6
5.00, 0
3.00, 0
3.00, 0







