Skip to content

Tools for safe road crossing with mobile robots in ROS

License

Notifications You must be signed in to change notification settings

vlk-jan/road_crossing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Road Crossing

Overview

This package provides a ROS node to facilitate safe traverse of an autonomous robot across a road. It was done as a bachelor's thesis at FEE CTU.

The main algorithm is based on a behavior-tree structure. This work does not include the detection of incoming vehicles that are provided by a different node.

Installation

Clone this repository into your catkin workspace.

git clone https://github.com/vlk-jan/road_crossing.git

For this package to work you need to install additional packages:

The package also requires additional libraries:

  • BehaviorTree.CPP - c++ library containing the behavior-tree implementation we use.
  • GeographicLib - c++ library for geographical conversions.
  • Numpy - python library for numerical calculations.
  • Overpy - python library for accesing the OSM overpass API.
  • Shapely - python library for work with geometrical objects.
  • UTM - python library for bidirectional UTM <-> WGS84 conversion.

Installing c++ libraries:

sudo apt-get install libgeographic-dev ros-$ROS_DISTRO-behaviortree-cpp-v3

Installing python libraries

pip install -r requirements.txt

Simulation

This package can be simulated using the Gazebo simulator. The necessary information about the simulation environment, needed packages and more is available at the road_crossing_gazebo.

Documentation

This package does not currently have any documentation. However, the text of my bachelor thesis is here, where I try to explain the code a bit.

License

License

TODO

  • Short-term
    • Create unit tests?
  • Long-term
    • Service for obtaining better place - possible need to rewrite road cost
    • move_to_place weight map (point-cloud) creation & implementation
    • Vehicle obtaining (from ROS node) message type & implementation
    • Obtaining road info from real-world - using camera? - possibly different node, so just integration of the messages

About

Tools for safe road crossing with mobile robots in ROS

Resources

License

Stars

Watchers

Forks