4am-robotics / cob_control

The cob_control stack includes packages that are used to do low level control tasks with Care-O-bot hardware over ROS.
www.care-o-bot.org
Apache License 2.0
35 stars 64 forks source link

[cob_collision_velocity_filter] cannot use frame other than a robot attached frame as collision costmap global frame. #242

Open AravindaDP opened 4 years ago

AravindaDP commented 4 years ago

Hi,

I have being using cob_collision_velocity_filter along with cob_linear_nav for controlling holonomic robot other than care-o-bot family robot (Since these are generic enough for use in other robots as well)

But I couldn't set something like odom or map frame as the global frame for local costmap and collision_velocity_filter.

Following are my settings (only relavent fields are shown)

collision_velocity_filter_params.yaml

#where to look for costmap parameters
costmap_parameter_source: "/collision_velocity_filter/anti_collision_costmap/costmap" #default "/local_costmap_node/costmap"

#Parameters specifying collision velocity filter
global_frame: /odom
robot_base_frame: /base_footprint

local_costmap_params.yaml

# global information
global_frame: /odom
robot_base_frame: /base_footprint
update_frequency: 4.0
publish_frequency: 4.0

# local map settings
rolling_window: true
width: 10.0
height: 10.0
resolution: 0.2

This will cause collision_velocity_filter to only correctly recognize relevent obstacles when robot is at 0,0 only. So assume cost grid of cost map is not correctly transformed from map frame to robot frame and compared.

The reason I'm trying to use odom frame as costmap global frame is because when robot link is used for costmap it rotates along with robot and smears the obstacles around our robot (Since it does have very limited FoV of LIDAR) - May be we should simply try to resolve that rather, but I believe above problem in collision_velocity_filter also a genuine limitation

Please let me know if any additional information is required.