ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

You should only ever have one node which interacts with the serial port.

There are a few reasons you might consider using ROS. One way to take advantage of ROS, would be to take all of the data you're receiving over the serial port and publishing it as ROS topics. This way you can record it and play it back off-line using rosbag, you can introspect it on the live system easily using rostopic echo, rqt_plot, or other rqt plugins, and you can visualize it (depending of the type of data it is) in rviz.

The other way you can take advantage of ROS would be with your camera. ROS provides tools for recording, playing back, and visualizing the camera data. It also probably has a driver for your camera. ROS has good integration with opencv, so if you are using opencv for your image processing. It's is really nice to write a node which reads camera data, does some decision making, and publishes commands to the robot base, because that node can be developed with recorded data on your desktop, and then the exact same node, without modification, can be run on the live robot. ROS does a good job of abstracting the source of the data, whether it is live data, recorded data, or simulated data.

Hopefully that helps you decide whether or not to use ROS.