Visual sensemaking repo for the Health & Safety robot inspector (HanS)
-
ROS distro: galactic
-
ROS2 Instructions for setting up a ROS2 workspace. Then, this repo can be cloned under the
srcfolder. -
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.zipunzip v5.3.2.zipcd cgal-5.3.2mkdir build && cd buildcmake ..sudo make install
- Build SFCGAL from source
wget https://gitlab.com/Oslandia/SFCGAL/-/archive/v1.4.1/SFCGAL-v1.4.1.zipunzip SFCGAL-v1.4.1.zipcd SFCGAL-v1.4.1cmake . && 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 curlcurl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpgsudo 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 postgrespsqlALTER USER postgres PASSWORD 'password';
- Open PgAdmin and create a server by clicking
Add new Serverin the home dashboard. The server name must begis_database, the hostnamelocalhost, and the ownerpostgresuser. - Select the DB `` and click on the
Query Toolat the top of the sidebar.
The schema of the DB is documented under
./postgresql/create_tables.sql - Install PostgreSQL 12
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.
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.