Project Link: https://hackster.io/ceyeber/an-eye-for-an-item-9162a7
For instructions to set up this project, please go to the Wiki
To better make sense of the structure of this repository, please refer to the diagrams below:
Everything in ros2 can be accessed by entering the docker container ./run_ros.sh
. The following diagram depicts the organization of all the components using ROS2:
Contains vanilla arduino code for bluetooth teleop of the chassis. You can upload it through arduino IDE as a basic test that you've built and wired your chassis up correctly.
Contains the Dockerfile based off of dustynv/ros:humble-desktop-l4t-r35.2.1
, with all required dependencies for this specific project installed on top of it. Everything in this project can / should be run in this docker environment.
Contains platformio project for ESP32, featuring IMU and motor control features, integrated through ROS to allow it to talk to the Jetson Orin via serial.
Submodule. Fork of the official jetson-containers project. Particular containers of interest include ROS2 Humble and Nanodb.
ROS2 workspace for this project. See system architecture diagram for details.
βββ find_obj.py
βββ visualize_tags.py
find_obj.py
reads from the terminal outputs of nanodb after you issue a query for the object your finding, displays the best 8 matches, and visualizes the location of the robot when the selected image was taken.
visualize_tags.py
is a helper script that draws the map of the robot environment, apriltag locations, and of course the robot location where the image was taken. This script is called by find_obj.py
and you don't need to run this script directly.