ROS 2 пакет для перевірки знаходження робота в межах визначеної географічної зони (geofence).
Пакет дозволяє:
- Завантажувати зону з GeoJSON файлу
- Перевіряти чи робот знаходиться в межах зони на основі GPS координат
- Публікувати межі зони для візуалізації в Mapviz
- ROS 2 (Humble/Iron/Jazzy)
- mapviz, mapviz_plugins
- swri_transform_util
- PROJ (бібліотека для картографічних проекцій)
- nlohmann_json
cd ~/ros2_ws/src
git clone https://github.com/Fastroof/ros_geofence.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select ros_geofence
source install/setup.bashДля відображення супутникових тайлів потрібен API ключ від MapTiler.
Встановіть змінну середовища:
# Додайте в ~/.bashrc для постійного використання
export MAPTILER_API_KEY="your_api_key_here"Або передайте ключ як параметр при запуску:
ros2 launch ros_geofence bringup.launch.py maptiler_api_key:=your_api_key_hereros2 launch ros_geofence bringup.launch.pyros2 launch ros_geofence zone_checker.launch.pyПриклад файлу zone.geojson:
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [[
[30.4309, 47.2594],
[30.4356, 47.2461],
[30.4502, 47.2484],
[30.4454, 47.2624],
[30.4309, 47.2594]
]]
}
}]
}Apache-2.0
