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
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 begis_database
, the hostnamelocalhost
, and the ownerpostgres
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
- 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
.