思岚rplidar雷达设置scan_topic(应用于多个雷达,定义每个雷达的scan)

使用多个雷达合作建图时,对每个雷达的scan进行定义,以便后续处理雷达扫描点

  • 修改rplidar_node.cpp

using namespace sl;

bool need_exit = false;
class SLlidarNode : public rclcpp::Node
{
    
    
  public:
    SLlidarNode()
    : Node("sllidar_node")
    {
    
    
      // 修改时间: 2024年5月15日11:48:19  添加scan_topic 参数
      this->declare_parameter<std::string>("scan_topic", "/scan");
      this->get_parameter_or<std::string>("scan_topic", scan_topic, "/scan");
      scan_pub = this->create_publisher<sensor_msgs::msg::LaserScan>(scan_topic, rclcpp::QoS(rclcpp::KeepLast(10)));
    }
  • 修改launch文件
def generate_launch_description():
    channel_type =  LaunchConfiguration('channel_type', default='serial')
    serial_port = LaunchConfiguration('serial_port', default='/dev/ttyUSB1')
    serial_baudrate = LaunchConfiguration('serial_baudrate', default='1000000') #for s2 is 1000000
    frame_id = LaunchConfiguration('frame_id', default='laser')
    inverted = LaunchConfiguration('inverted', default='false')
    angle_compensate = LaunchConfiguration('angle_compensate', default='true')
    cut_angle = LaunchConfiguration('cut_angle', default='true')
    right_degrees = LaunchConfiguration('right_degrees', default='135.0')
    left_degrees = LaunchConfiguration('left_degrees', default='225.0')
    scan_mode = LaunchConfiguration('scan_mode', default='DenseBoost')
    scan_topic = LaunchConfiguration('scan_topic', default='/scan2')
    ...
    ...
    ...
    Node(
       package='rplidar_ros',
       executable='rplidar_node',
       name='rplidar_node',
       parameters=[{
    
    'channel_type':channel_type,
                    'serial_port': serial_port,
                    'serial_baudrate': serial_baudrate,
                    'frame_id': frame_id,
                    'inverted': inverted,
                    'angle_compensate': angle_compensate,
                    'cut_angle': cut_angle,
                    'right_degrees': right_degrees,
                    'left_degrees': left_degrees,
                    'scan_mode': scan_mode,
                    'scan_topic': scan_topic}],
       output='screen'),

猜你喜欢

转载自blog.csdn.net/weixin_44313745/article/details/138968093