build details

Show: section status errors & todos local changes recent changes last change in-page changes feedback controls

Assignment

Modified 2018-08-28 by Josh Roy

Creating a Publisher and Subscriber (50 points)

Modified 2018-09-30 by GarrettWarren

Fill in the corresponding sections in the answers.txt in your handin repository and submit the ROS package you create.

  1. Read understanding nodes.

  2. Start the screen session we use to fly the drone. Use rosnode list to display what nodes are running when you start the screen. If you wish, take a look at the software architecture diagram and look at all of the blue ROS topics to gain a visual understanding of all of the nodes that are running. Once again, do not worry about understanding everything now, or knowing what each topic is used for- you will learn this through experience as the course progresses.

  3. Use rosnode info to find out more about as many nodes as you’d like. What topics does /pidrone/infrared publish?

  4. Do the ROS tutorial to create a package. Name your package ros_assignment_pkg.

  5. Do the building packages tutorial.

  6. Follow the ROS publisher/subscriber tutorial using the workspace and package you created above. Hand in the entire package.

  7. Start the screen session we use to fly the drone. Use rostopic echo and rostopic hz to examine the results of various topics. What is the rate at which we are publishing the infrared range reading?

Messages (5 points)

Modified 2018-08-28 by Josh Roy

Make all modifications in your ROS package from Problem 1 and hand in the package

  1. Read Creating a ROS msg. You do not need to read the section on services.

  2. In your package from question 1, create a ROS message called MyMessage with a field for a string, called name, and a field for an array of float64, called contents. Edit files such as CMakeLists.txt to ensure your message is compiled and available for use. Make these modifications in the package from problem 1 and hand it in.

Reading the IR Sensor (15 points)

Modified 2018-08-28 by Josh Roy

  1. Write a ROS subscriber on your drone to read the values from the infrared sensor topic and print them to stdout. Name the file my_echo.py and submit it.

  2. Write a second ROS subscriber that listens to the infrared sensor topic and calculates the mean and variance over a ten second window using NumPy. Print these values to stdout. Name the file mean_and_variance.py and submit it.

Handin

Modified 2018-10-09 by Josh Roy

Hand in your answers using this link. Make sure you hand in: - answers.txt - my_echo.py - mean_and_variance.py - ros_assignment_pkg: the ROS package you created