OVERVIEW
This repository contains two exercises:
- Performance testing of ROS publishers and subscribers implemented in C++ and Python
- Canny edge detection on an image stream acquired from built-in laptop webcam
DEPENDENCIES
- Robot Operating System (ROS) Kinetic
- OpenCV v3
- cv_bridge (ROS package) contained within the vision_opencv package
- cv_camera (ROS package)
- numpy (Python library)
- matplotlib (Python library)
USAGE
- Exercise 1 is contained in ROS package named performance tests. Run perfomance_tests_{x}.launch where {x} refers to the combinations to test as follows: {1}: C++ publisher to Python subscriber, {2}: C++ publisher to C++ subscriber, {3}: Python publisher to Python subscriber, and {4}: Python publisher to C++ subscriber. The integer parameters /cppPublisher/publish_frequency and /pyPublisher/publish_frequency control the rate at which ROS messages are published and can be initialised in the launch file. Final results are in the plots folder.
- Excercise 2 is contained in a ROS package named canny_edge_my_face. Run the canny_edge_my_face.launch launch file which will also launch rqt_viewer. To see the original stream select the /cv_camera_node/image_raw topic. To see the canny edge detection stream select the /canny_edge_my_face/image_canny topic.
AUTHOR
Bonolo M.
LICENSE
GNU GPLv3