ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
ros::init()
/ rospy.init_node()
, subscribe()
and so on. Some ROS nodes are "ROS drivers" (see below), others do path planning/sensor data processing/whatever.As an example, the sicktoolbox is a standalone Linux device driver for SICK laser scanners. If you search the source code, you won't find any mention of ROS in the actual source files. The sicktoolbox_wrapper is a ROS package that contains several ROS nodes, for example sicklms
. If you look at the source code (sicklms.cpp), you can see that it's a ROS node that uses the sicktoolbox API (by calling GetSickScan()
) and publishes the result as a ROS message, so it's a ROS wrapper:
#include "ros/ros.h"
[...]
ros::init(argc, argv, "sicklms");
[...]
sick_lms.GetSickScan(range_values, intensity_values, n_range_values, n_intensity_values);
[...]
pub->publish(scan_msg);
2 | No.2 Revision |
#include
some ROS headers (C++) or import
ROS modules (Python) and call functions defined there, like ros::init()
/ rospy.init_node()
, subscribe()publish()
and so on. Some ROS nodes are "ROS As an example, the sicktoolbox is a standalone Linux device driver library for SICK laser scanners. If you search the source code, you won't find any mention of ROS in the actual source files. The sicktoolbox_wrapper is a ROS package that contains several ROS nodes, for example sicklms
. If you look at the source code (sicklms.cpp), you can see that it's a ROS node that uses the sicktoolbox API (by calling GetSickScan()
) and publishes the result as a ROS message, so it's a ROS wrapper:
#include "ros/ros.h"
[...]
ros::init(argc, argv, "sicklms");
[...]
sick_lms.GetSickScan(range_values, intensity_values, n_range_values, n_intensity_values);
[...]
pub->publish(scan_msg);