Skip to content

boris-gu/lars-gazebo-dem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lars-gazebo-dem

Дрон с лидаром и три карты:

  • MAP_N55E106 - построена по карте высот (9x9 км)
  • MAP_N56E110 - построена по карте высот (9x9 км)
  • test_lidar - карта для теста лидара, плоскость с расставленными в случайном порядке кубами, цилиндрами и сферами

Зависимости

Подготовка

  • Так как PX4-Autopilot быстро развивается, за основу взята стабильная версия 1.13.1.
    Клонировать:

    git clone --recurse-submodules --branch v1.13.1 https://github.com/PX4/PX4-Autopilot.git

    Добавьте модель, запустив <PATH_TO_THIS_REP>/setup/setup.sh <PATH_TO_PX4>. Этот скрипт внесет все необходимые изменения в PX4-Autopilot.

  • Соберите пакет lars_gazebo_dem

    cd <PATH_TO_THIS_REP>/lars_gazebo_dem_ws
    catkin build
  • Для корректной работы лидара необходимо настроить преобразование фреймов map->base_link.
    В файле px4_config.yaml (скорее всего будет лежать по пути /opt/ros/noetic/share/mavros/launch/) установите send на true в следующем куске кода:

    # local_position
    local_position:
    frame_id: "map"
    tf:
        send: true
        frame_id: "map"
        child_frame_id: "base_link"
        send_fcu: false
  • При первом запуске симуляции необходимо настроить следующие параметры через QGroundControl:
    MPC_XY_VEL_MAX = 1 м/с - ограничить скорость дрона для более плотного сканирования лидаром
    COM_RCL_EXCEPT = 4 - Offboard

Запуск

cd <PX4-Autopilot_clone>
DONT_RUN=1 make px4_sitl_default gazebo
source ~/catkin_ws/devel/setup.bash    # (optional)
source <PATH_TO_THIS_REP>/lars_gazebo_dem_ws/devel/setup.bash # LaserScan -> PointCloud2
source Tools/setup_gazebo.bash $(pwd) $(pwd)/build/px4_sitl_default && \
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd) && \
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd)/Tools/sitl_gazebo
roslaunch px4 MAP_N55E106.launch
# или
# roslaunch px4 MAP_N56E110.launch
# или
# roslaunch px4 test_lidar.launch

Если необходимо запустить дрон в пустом мире, воспользуйтесь командой:

roslaunch px4 mavros_posix_sitl.launch vehicle:=iris_lidar_lars_dem
# Запустите в отдельном терминале для возможности просматривать данные с лидара
tf2_ros static_transform_publisher 0 0 -0.045 0 1.5707 0 base_link laser_frame
# Запустите в отдельном терминале для конвертирования данных LaserScan -> PointCloud2
source <PATH_TO_THIS_REP>/lars_gazebo_dem_ws/devel/setup.bash
rosrun lars_gazebo_dem ls2pc2.py

Данные с дрона

Для просмотра данных лидара запустите RViz с конфигом laser_config.rviz

rviz -d <PATH_TO_THIS_REP>/laser_config.rviz

RViz

Для сохранения данных выполните в отдельном терминале:

# Создате папку для файлов с облаками точек
mkdir ./pcd
cd ./pcd
# Сохраните облака точек (каждый кадр - отдельный файл)
# Для окончания записи нажмите Ctrl+C
rosrun pcl_ros pointcloud_to_pcd input:=/laser_pc2
# Объедините файлы в output.pcd
pcl_concatenate_points_pcd *.pcd
# Посмотреть результат
pcl_viewer ./output.pcd

pcl_viewer

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published