Update LSLiDAR driver and AGV configs

1. LSLiDAR driver:
 - Fixed packet header check in serial parser
 - Updated angle compensation for M10 series
 - Fixed angle discontinuity bug
 - Added optional PointCloud2 publishing
 - Added optional LaserScan publishing
 - Added support for ROS 2 Humble
 - Added support for dual-echo LiDARs
 - Added TXT-based config loading

2. RViz:
 - Updated gmapping.rviz file for SLAM display

3. AGV bringup:
 - Modified launch file for LSN10P integration
This commit is contained in:
X-lanni
2025-06-14 16:28:30 +08:00
parent fc020ceff9
commit d0688eb122
28 changed files with 72 additions and 115 deletions
@@ -1,50 +0,0 @@
#!/usr/bin/python3
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch_ros.actions import LifecycleNode
from launch.substitutions import LaunchConfiguration
from launch_ros.actions import Node
from launch.actions import DeclareLaunchArgument
import lifecycle_msgs.msg
import os
def generate_launch_description():
driver_dir_1 = os.path.join(get_package_share_directory('lslidar_driver'), 'params', 'lsx10_1.yaml')
driver_dir_2 = os.path.join(get_package_share_directory('lslidar_driver'), 'params', 'lsx10_2.yaml')
driver_node_1 = LifecycleNode(package='lslidar_driver',
executable='lslidar_driver_node',
name='lslidar_driver_node', #设置激光数据topic名称
output='screen',
emulate_tty=True,
namespace='lidar_1',
parameters=[driver_dir_1],
)
driver_node_2 = LifecycleNode(package='lslidar_driver',
executable='lslidar_driver_node',
name='lslidar_driver_node', #设置激光数据topic名称
output='screen',
emulate_tty=True,
namespace='lidar_2',
parameters=[driver_dir_2],
)
rviz_dir = os.path.join(get_package_share_directory('lslidar_driver'), 'rviz', 'lslidar.rviz')
rviz_node = Node(
package='rviz2',
namespace='',
executable='rviz2',
name='rviz2',
arguments=['-d', rviz_dir],
output='screen')
return LaunchDescription([
driver_node_1,
driver_node_2,
rviz_node,
])
@@ -11,7 +11,7 @@ import os
def generate_launch_description():
driver_dir = os.path.join(get_package_share_directory('lslidar_driver'), 'params', 'lsx10.yaml')
driver_dir = os.path.join(get_package_share_directory('lslidar_driver'), 'params','lidar_uart_ros2', 'lsn10p.yaml')
driver_node = LifecycleNode(package='lslidar_driver',
executable='lslidar_driver_node',
@@ -23,6 +23,6 @@ def generate_launch_description():
)
return LaunchDescription([
driver_node
driver_node,
])
@@ -0,0 +1,26 @@
#!/usr/bin/python3
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch_ros.actions import LifecycleNode
from launch.substitutions import LaunchConfiguration
from launch_ros.actions import Node
from launch.actions import DeclareLaunchArgument
import lifecycle_msgs.msg
import os
def generate_launch_description():
rviz2_config = os.path.join(get_package_share_directory('lslidar_driver'),'rviz','lslidar.rviz')
rviz2_node = Node(
package='rviz2',
executable='rviz2',
name='rviz2',
arguments=['-d',rviz2_config],
output='screen')
return LaunchDescription([
rviz2_node,
])