Go to the documentation of this file.
26 #include <sensor_msgs/LaserScan.h>
27 #include <diagnostic_msgs/DiagnosticArray.h>
32 #define DEG2RAD M_PI/180.0
90 if(!
nh.
hasParam(
"angle_resolution"))
ROS_WARN(
"Used default parameter for resolution");
150 ROS_ERROR(
"Setting angle resolution failed: Current angle resolution is %f.",
cfg.angleResolution/10000.0);
152 ROS_ERROR(
"Setting scan frequency failed: Current scan frequency is %f.",
cfg.scaningFrequency/100.0);
155 ROS_ERROR(
"Connection to device failed");
178 if (
cfg.angleResolution == 2500)
182 else if (
cfg.angleResolution == 5000)
196 scan_msg.intensities.resize(num_values);
246 for (
int i = 0; i <
data.dist_len1; i++)
259 diagnostic_msgs::DiagnosticArray diagnostics;
260 diagnostics.status.resize(1);
261 diagnostics.status[0].level = 0;
263 diagnostics.status[0].message =
"sick scanner running";
280 diagnostic_msgs::DiagnosticArray diagnostics;
281 diagnostics.status.resize(1);
282 diagnostics.status[0].level = 2;
284 diagnostics.status[0].message = error_str;
291 int main(
int argc,
char** argv)
293 ros::init(argc, argv,
"sick_lms1xx_node");
void login()
Log into LMS1xx unit. Increase privilege level, giving ability to change device configuration.
ROSCPP_DECL void init(const M_string &remappings, const std::string &name, uint32_t options=0)
void startDevice()
The device is returned to the measurement mode after configuration.
void stopMeas()
Stop measurements. After receiving this command LMS1xx unit stop spinning laser and measuring.
ROSCPP_DECL void spinOnce()
void saveConfig()
Save data permanently. Parameters are saved in the EEPROM of the LMS and will also be available after...
void publish(const boost::shared_ptr< M > &message) const
Publisher advertise(AdvertiseOptions &ops)
void publishError(std::string error_str)
status_t queryStatus()
Get current status of LMS1xx device.
Structure containing scan configuration.
void setScanCfg(const scanCfg &cfg)
Set scan configuration. Get scan configuration :
void disconnect()
Disconnect from LMS1xx device.
ros::Publisher diagnostic_pub
bool hasParam(const std::string &key) const
bool isConnected()
Get status of connection.
void startMeas()
Start measurements. After receiving this command LMS1xx unit starts spinning laser and measuring.
Class responsible for communicating with LMS1xx device.
T param(const std::string ¶m_name, const T &default_val) const
bool getData(scanData &data)
Receive single scan message.
sensor_msgs::LaserScan scan_msg
const std::string & getNamespace() const
Structure containing single scan message.
Structure containing scan data configuration.
void setScanDataCfg(const scanDataCfg &cfg)
Set scan data configuration. Set format of scan message returned by device.
scanCfg getScanCfg() const
Get current scan configuration. Get scan configuration :
void scanContinous(int start)
Start or stop continuous data acquisition. After reception of this command device start or stop conti...
int main(int argc, char **argv)
void connect(std::string host, int port=2111)
Connect to LMS1xx.
cob_sick_lms1xx
Author(s): Konrad Banachowicz
autogenerated on Wed Nov 8 2023 03:47:47