Skip to content

Latest commit

 

History

History
135 lines (116 loc) · 4.85 KB

File metadata and controls

135 lines (116 loc) · 4.85 KB

Project 1: Introduction to ROS and MuSHR

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] or roslaunch [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 like rostopic 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.

2. What is the purpose of a launch file?

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.

3. Include the RViz screenshot showing the new map.

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.


Figure 1: RViz screenshot.

Figure 2: RViz video.

4. Include your runtime_comparison.png figure for the different norm implementations.

Answer


Figure 3: Runtime comparison for different norm implementations.

5. Include the locations.png and distances.png figures for the plan figure_8.txt.

Answer


Figure 4: Car locations for plan figure_8.txt.

Figure 5: Car distances for plan figure_8.txt.

6. Include the locations.png and distances.png figures for the plan tight_figure_8.txt.

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

Figure 8: Car locations for my initials plan (SI).