Code Monkey home page Code Monkey logo

spatio_temporal_voxel_layer's Issues

Costmap not getting cleared properly

Hello, I'm using this configuration

rgbd_obstacle_layer:
    enabled:               true
    voxel_decay:           15     #seconds if linear, e^n if exponential
    decay_model:           0      #0=linear, 1=exponential, -1=persistent
    voxel_size:            0.05   #meters
    track_unknown_space:   true   #default space is unknown
    observation_persistence: 0.0  #seconds
    max_obstacle_height:   2.0    #meters
    unknown_threshold:     15     #voxel height
    mark_threshold:        0      #voxel height
    update_footprint_enabled: true
    combination_method:    1      #1=max, 0=override
    obstacle_range:        3.0    #meters
    origin_z:              0.0    #meters
    publish_voxel_map:     true   # default off
    transform_tolerance:   0.2    # seconds
    mapping_mode:          false  # default off, saves map not for navigation
    map_save_duration:     60     #default 60s, how often to autosave
    observation_sources:   rgbd1_mark rgbd1_clear 
    rgbd1_mark:
      data_type: PointCloud2
      topic: /throttle_filtering_points/filtered_points
      marking: true
      clearing: false
      min_obstacle_height: 0.3    #default 0, meters
      max_obstacle_height: 3.0     #defaule 3, meters
      expected_update_rate: 0.0    #default 0, if not updating at this rate at least, remove from buffer
      observation_persistence: 0.0 #default 0, use all measurements taken during now-value, 0=latest 
      inf_is_valid: false          #default false, for laser scans
    rgbd1_clear:
      data_type: PointCloud2
      topic: /throttle_filtering_points/filtered_points
      marking: false
      clearing: true
      max_z: 7.0                  # default 0, meters
      min_z: 0.1                  # default 10, meters
      vertical_fov_angle: 0.8745  # default 0.7, radians
      horizontal_fov_angle: 1.048 # default 1.04, radians
      decay_acceleration: 5.0     # default 0, 1/s^2. If laser scanner MUST be 0
      voxel_filter: true    

The obstacles are detected properly and the costmap is updated, but when the points are deleted due to the voxel decay, the costmap portion corresponding to these point is not properly cleared.
Here is a video, it might be more explicit : https://youtu.be/G7ypkJwLBuM
Did you faced this error ? And if yes, do you where it come from ?

Thanks for the help

Create mapping mode

would:

  • disable clearing
  • save grids at regular intervals
  • publish this occupancy grid or open vdb viewer?

Work needed to support good maps in dynamic environments

  • probabilistic marking

Utils needed

  • VDB -> Pointcloud

Find voxel blobs - v1.5

  • in connected-component to the static map (2D, later 3D as well)
  • blobs not connected to map, static
  • blobs that are moving not disconnected from static map

Validate interior checks

Check that the dots and vector transforms do as intended for accelerating the interior of frustums.

Voxel grid and costmap stop marking

Observed this after the costmap reset was triggered and when there were a lot of voxels left marked. Normal behavior was restored after the grid was purged by another reset or when all previously marked voxels expired

Allow for voxel size to vary from static map size - v1.5

The voxel size in openvdb should not be required to be the same as the size of the static map. I want to be able to have a more dense, descriptive environment to work with and then downsample to the static map size for layering.

combine CIterator loop for 2D plane & publish PC2 and return both

Create a function to do the effective combination of these two functions to minimize the number of times we iterate through the grid. Projecting to the 2D plane should be done and pointcloud stored but not retrieved by the ROS interface layer unless publishing voxel grid is enabled.

acceleration based on frustum inclusion

also, are the models in the right place? should they be on the checking or storing end? (or both)

Choose functions and how the acceleration factor affects it.

Costmap update from spatio-temporal-voxel-layer

I am using the following config:

# costmap_ros
global_frame: /base_link
robot_base_frame: /base_link

update_frequency: 4.0
publish_frequency: 4.0
static_map: false
map_type: costmap
resolution: 0.015

width: 10.0
height: 10.0

rolling_window: true
transform_tolerance: 0.4

plugins:
 - {name: rgbd_obstacle_layer, type: "spatio_temporal_voxel_layer/SpatioTemporalVoxelLayer"}


rgbd_obstacle_layer:
  enabled:                  true
  voxel_decay:              15    # seconds if linear, e^n if exponential
  decay_model:              0     # 0=linear, 1=exponential, -1=persistent
  voxel_size:               0.05  # meters
  track_unknown_space:      false  # default space is known
  max_obstacle_height:      2.0   # meters
  unknown_threshold:        15    # voxel height
  mark_threshold:           0     # voxel height
  update_footprint_enabled: true
  combination_method:       1     # 1=max, 0=override
  obstacle_range:           3.0   # meters
  origin_z:                 0.0   # meters
  publish_voxel_map:        true # default off
  transform_tolerance:      0.2   # seconds
  mapping_mode:             false # default off, saves map not for navigation
  map_save_duration:        60    # default 60s, how often to autosave
  observation_sources:      rgbd1_mark rgbd1_clear
  rgbd1_mark:
    data_type: PointCloud2
    topic: /detected_obstacles
    marking: true
    clearing: false
    min_obstacle_height: 0.1     # default 0, meters
    max_obstacle_height: 3.0     # default 3, meters
    expected_update_rate: 1.0    # default 0, if not updating at this rate at least, remove from buffer
    observation_persistence: 0.0 # default 0, use all measurements taken during now-value, 0=latest
    inf_is_valid: false          # default false, for laser scans
  rgbd1_clear:
    data_type: PointCloud2
    topic: /detected_obstacles
    marking: false
    clearing: true
    max_z: 7.0                  # default 0, meters
    min_z: 0.1                  # default 10, meters
    vertical_fov_angle: 0.8745  # default 0.7, radians
    horizontal_fov_angle: 1.048 # default 1.04, radians
    decay_acceleration: 5.0     # default 0, 1/s^2. If laser scanner MUST be 0
    voxel_filter: false          # default off, apply voxel filter to sensor, recommend on

and getting the voxel layer display as following:
pc-layer

voxel

My questions are:

  1. Is, in the first place, Spatio-Temporal-Voxel-Layer supposed to update costmap_2d? If yes, what could be wrong in the configuration?
  2. Voxels appear and disappear which should be part of acceleration and decay but seems to be very non-deterministic and couldn't be set to desirable/understandable behavior.

Renaming

{level set, parallel, locking grid}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.