0

在嵌入式板(ROS 开发环境)上运行其中一个 Lslidar(16 通道)不是问题。这是因为您可以使用默认 IP 和端口。但是我打算同时运行两个,并且我想使用端口和IP的默认值以外的值..

比如你可以使用2368和2369这样的端口。我需要一个参考来参考如何更改端口值和IP值...帮助Plz...

4

1 回答 1

0

这是来自 ROS Wiki 的 lsLidar 驱动程序的代码:

bool LslidarC16Driver::loadParameters() {
  //pnh.param("frame_id", frame_id, std::string("lslidar"));
  pnh.param("lidar_ip", lidar_ip_string, std::string("192.168.1.222"));
  pnh.param<int>("device_port", UDP_PORT_NUMBER,2368);
  pnh.param<bool>("add_multicast", add_multicast, false);
  pnh.param("group_ip", group_ip_string, std::string("234.2.3.2"));
  inet_aton(lidar_ip_string.c_str(), &lidar_ip);
  ROS_INFO_STREAM("Opening UDP socket: address " << lidar_ip_string);
  if(add_multicast) ROS_INFO_STREAM("Opening UDP socket: group_address " << group_ip_string);
  ROS_INFO_STREAM("Opening UDP socket: port " << UDP_PORT_NUMBER);
  return true;
}

如您所见,有一个地方可以更改端口和IP。对于两个设备,我建议您修改原始驱动程序。所有源代码都可在https://github.com/tongsky723/lslidar_C16上找到, 将其克隆到您的工作区并为两个 LiDAR 创建附加功能。

于 2020-05-13T09:22:00.770 回答