gitextract_xh4fad55/ ├── .github/ │ └── workflows/ │ └── lidarbot_ci_action.yml ├── .gitignore ├── LICENSE ├── README.md ├── docs/ │ └── index.md ├── lidarbot/ │ ├── CMakeLists.txt │ └── package.xml ├── lidarbot_aruco/ │ ├── config/ │ │ ├── chessboard_calibration.yaml │ │ ├── params_1.yaml │ │ └── params_2.yaml │ ├── launch/ │ │ └── trajectory_visualizer_launch.py │ ├── lidarbot_aruco/ │ │ ├── __init__.py │ │ ├── aruco_trajectory_visualizer.py │ │ ├── detect_aruco_marker.py │ │ └── generate_aruco_marker.py │ ├── package.xml │ ├── resource/ │ │ └── lidarbot_aruco │ ├── setup.cfg │ ├── setup.py │ └── test/ │ ├── test_copyright.py │ ├── test_flake8.py │ └── test_pep257.py ├── lidarbot_base/ │ ├── CMakeLists.txt │ ├── include/ │ │ └── lidarbot_base/ │ │ ├── DEV_Config.h │ │ ├── Debug.h │ │ ├── MotorDriver.h │ │ ├── PCA9685.h │ │ ├── lidarbot_hardware.hpp │ │ ├── motor_encoder.h │ │ └── wheel.hpp │ ├── lidarbot_hardware.xml │ ├── package.xml │ └── src/ │ ├── DEV_Config.c │ ├── MotorDriver.c │ ├── PCA9685.c │ ├── lidarbot_hardware.cpp │ ├── motor_checks_client.cpp │ ├── motor_checks_server.cpp │ ├── motor_encoder.c │ └── wheel.cpp ├── lidarbot_bringup/ │ ├── CMakeLists.txt │ ├── LICENSE │ ├── config/ │ │ ├── controllers.yaml │ │ └── gazebo_ros2_ctl_use_sim.yaml │ ├── include/ │ │ └── lidarbot_bringup/ │ │ ├── mpu6050_hardware_interface.hpp │ │ └── mpu6050_lib.h │ ├── launch/ │ │ ├── camera_launch.py │ │ ├── lidarbot_bringup_launch.py │ │ └── rplidar_launch.py │ ├── mpu6050_hardware.xml │ ├── package.xml │ └── src/ │ ├── mpu6050_covariances.cpp │ ├── mpu6050_hardware_interface.cpp │ ├── mpu6050_lib.cpp │ └── mpu6050_offsets.cpp ├── lidarbot_description/ │ ├── CMakeLists.txt │ ├── launch/ │ │ ├── description_launch.py │ │ └── robot_state_publisher_launch.py │ ├── meshes/ │ │ ├── MPU6050.dae │ │ ├── caster_mount.dae │ │ ├── caster_wheel.dae │ │ ├── power_bank.dae │ │ ├── power_bank_stand.dae │ │ ├── right_wheel.dae │ │ ├── robot_chassis.dae │ │ ├── rpi_4.dae │ │ ├── rpi_camera.dae │ │ ├── rpi_camera_mount.dae │ │ ├── rpi_stand.dae │ │ ├── rplidar_base.dae │ │ ├── rplidar_stand.dae │ │ └── rplidar_top.dae │ ├── package.xml │ ├── rviz/ │ │ ├── description.rviz │ │ └── lidarbot_sim.rviz │ └── urdf/ │ ├── camera.xacro │ ├── gazebo_control.xacro │ ├── imu.xacro │ ├── inertial_macros.xacro │ ├── lidar.xacro │ ├── lidarbot.urdf.xacro │ ├── lidarbot_core.xacro │ └── ros2_control.xacro ├── lidarbot_gazebo/ │ ├── CMakeLists.txt │ ├── config/ │ │ └── gazebo_params.yaml │ ├── launch/ │ │ └── gazebo_launch.py │ ├── package.xml │ └── worlds/ │ └── obstacles.world ├── lidarbot_gz/ │ ├── CMakeLists.txt │ ├── config/ │ │ └── lidarbot_bridge.yaml │ ├── launch/ │ │ └── gz_launch.py │ ├── models/ │ │ ├── construction_barrel/ │ │ │ ├── meshes/ │ │ │ │ └── construction_barrel.dae │ │ │ ├── model-1_3.sdf │ │ │ ├── model-1_4.sdf │ │ │ ├── model.config │ │ │ └── model.sdf │ │ └── construction_cone/ │ │ ├── meshes/ │ │ │ └── construction_cone.dae │ │ ├── model-1_3.sdf │ │ ├── model-1_4.sdf │ │ ├── model.config │ │ └── model.sdf │ ├── package.xml │ ├── urdf/ │ │ ├── lidarbot_gz.urdf.xacro │ │ ├── lidarbot_gz_core.xacro │ │ └── sensors.xacro │ └── worlds/ │ └── obstacles.sdf ├── lidarbot_navigation/ │ ├── CMakeLists.txt │ ├── config/ │ │ ├── ekf.yaml │ │ └── nav2_params.yaml │ ├── launch/ │ │ ├── localization_launch.py │ │ └── navigation_launch.py │ ├── lidarbot_navigation/ │ │ └── __init__.py │ ├── maps/ │ │ ├── real_map3.pgm │ │ ├── real_map3.yaml │ │ ├── sim_map.data │ │ ├── sim_map.pgm │ │ ├── sim_map.posegraph │ │ └── sim_map.yaml │ ├── package.xml │ ├── rviz/ │ │ └── lidarbot_nav.rviz │ └── scripts/ │ └── trajectory_visualizer.py ├── lidarbot_slam/ │ ├── CMakeLists.txt │ ├── config/ │ │ └── mapper_params_online_async.yaml │ ├── launch/ │ │ └── online_async_launch.py │ ├── package.xml │ └── rviz/ │ └── lidarbot_slam.rviz └── lidarbot_teleop/ ├── CMakeLists.txt ├── config/ │ ├── joystick.yaml │ └── twist_mux.yaml ├── launch/ │ └── joystick_launch.py └── package.xml