Skip to content

Visual sensemaking repo for the Health & Safety robot inspector (HanS)

License

Notifications You must be signed in to change notification settings

kmi-robots/HanS

Repository files navigation

HanS

Visual sensemaking repo for the Health & Safety robot inspector (HanS)

Dependencies

  • ROS distro: galactic

  • ROS2 Instructions for setting up a ROS2 workspace. Then, this repo can be cloned under the src folder.

  • Bounding box detection via OpenCV. Object classification via USB, through a Coral Edge TPU. Setting up the Edge TPU accelerator and Pycoral library: https://coral.ai/docs/accelerator/get-started

  • Open3D Python library v.0.12 for 3D data processing

  • apt install ros-galactic-sensor-msgs-py

  • Set up a PostgreSQL database, with the PostGIS and SFCGAL extensions enabled.

    • Install PostgreSQL 12
      • apt-get install postgresql-12
    • Build CGAL>= 5.3 from source
      • wget https://github.com/CGAL/cgal/archive/refs/tags/v5.3.2.zip
      • unzip v5.3.2.zip
      • cd cgal-5.3.2
      • mkdir build && cd build
      • cmake ..
      • sudo make install
    • Build SFCGAL from source
      • wget https://gitlab.com/Oslandia/SFCGAL/-/archive/v1.4.1/SFCGAL-v1.4.1.zip
      • unzip SFCGAL-v1.4.1.zip
      • cd SFCGAL-v1.4.1
      • cmake . && make && sudo make install
    • Install PostGIS
      • sudo apt-get install postgresql-12-postgis-3
    • PgAdmin 4 provides a helpful interface to visualize and query your DB.
      • sudo apt install curl
      • curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
      • sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'
      • sudo apt install pgadmin4
    • Setup a PostgreSQL user:
      • sudo -i -u postgres
      • psql
      • ALTER USER postgres PASSWORD 'password';
    • Open PgAdmin and create a server by clicking Add new Server in the home dashboard. The server name must be gis_database, the hostname localhost, and the owner postgres user.
    • Select the DB `` and click on the Query Tool at the top of the sidebar.

    The schema of the DB is documented under ./postgresql/create_tables.sql

Additional Database setup notes

Instructions in ./postgresql folder. Create tables first through the queries in the create_queries.sql file. Apply triggers to queries as explained in the trigger_functions.md file.

Running on your own map

The script postgresql/draw_walls.py can be used for annotating the walls of an input map. The image of the map and configuration parameters (map origin, and resolution), should follow the same format of the files provided under ./map.

About

Visual sensemaking repo for the Health & Safety robot inspector (HanS)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published