gt-marine-robotics-group / Virtuoso

ROS2 autonomy architecture for Georgia Tech Marine Robotics. Designed to be modular and work with any combination of sensors + motors.
7 stars 3 forks source link

Create processing nodes for raw sensor data #3

Closed ragingonyx closed 2 years ago

ragingonyx commented 2 years ago

We need to create a way to process our raw sensor data from the vehicles. This will be done through the perception pipeline package. We should start developing processing nodes for each of sensors.

The main sensors that we should focus on to process will be the lidar and camera. The way we will process these is as follows.

Lidar -> Point cloud data -> Ground Filter (optional) -> Downsample (voxel) Camera -> Image data -> Grayscale -> Downsample (resolution shrink)

There could be more processing done in the future, but for the first iteration, these should be sufficient. Each processing step should be it's own method within the node and the callback should call the processing functions in succession.

Here are some useful links for Lidar Processing: STVL (Spatio Temporal Voxel Layer) Ground Filter

Here are a useful link for Camera Processing: Skimage

mroglan commented 2 years ago

From last week: Got AutowareAuto installed and the ray_ground_classifier_nodes running on a launch file. Also installed gazebo and working on finding out why the textures aren't rendering.

mroglan commented 2 years ago

Added downsampling for lidar point cloud data with voxel_grid_nodes from AutowareAuto. Used rosbags to test the lidar pipline.

mroglan commented 2 years ago

Created a Node for grayscaling image data and tested with a rosbag. Also painfully figured out how to resize hard disk for vm; will document how later.