Two main Python fetching classes were created to convert rosbag & aerial map data to generic formats for visualization and/or further processing.
To load any aerial map, a CSASite instance from csa_raster_load.py needs to be initialized using the path to the directory containing the mapping data. An example showing how to properly use this Python class is shown in the show_raster.py example:
python show_raster.py -d /path/to/raster/directory
To load data from a rosbag, a FetchEnergyDataset instance from rosbag_data_load.py needs to be initialized using the path to the said rosbag. Several methods within this class are available to fetch specific data streams.
The complete GPS history is accessed through the load_gps_data
method documented here. The following sample spatial plot was generated using the plot_gps_data.py sample script:
python plot_gps_data.py -b /path/to/file.bag -d /path/to/raster/directory
Images are accessed through the load_image_data
method documented here. The following sample plot was generated using the plot_images.py sample script:
python plot_images.py -b /path/to/file.bag
Similar to images, point clouds can be fetched as numpy arrays by using the load_pointcloud_data
method documented here. Note that point clouds are saved in a separate rosbag for each run, so a rosbag different from the one needed for all other data types needs to be loaded.
The complete power and energy consumption history of the left and right motor drivers onboard the Husky rover base is accessed through the load_energy_data
method documented here. The following sample plot was generated using the plot_energy.py sample script:
python plot_energy.py -b /path/to/file.bag
The complete solar irradiance history on top of the rover's top plane is accessed through the load_irradiance_data
method documented here. The following sample plot was generated using the plot_irradiance.py sample script:
python plot_irradiance.py -b /path/to/file.bag
The complete IMU history is accessed through the load_imu_data
method documented here. The following sample plot was generated using the plot_imu_data.py sample script:
python plot_imu_data.py -b /path/to/file.bag
The complete encoder history (angular positions and velocities) is accessed through the load_encoder_data
method documented here.
Target/commanded velocities were recorded and can be accessed via the load_cmd_vel_data
method documented here. Planar velocity estimates of the mobile base were computed from encoder velocities. Those can be accessed through the load_est_vel_data
method documented here. The following sample plot was generated using the plot_cmd_est_velocity_data.py sample script:
python plot_cmd_est_velocity_data.py -b /path/to/file.bag