ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

how to set parameters (publish_voxel_map)

asked 2014-04-01 17:26:33 -0600

Ken_in_JAPAN gravatar image

updated 2014-04-02 10:29:23 -0600

I'm trying to navigate a turtlebot with eband_local_planner on hydro. I have already navigated a turtlebot with base_local_planner. With eband_local_planner, next error is displayed on a terminal.

load_parameters: unable to set parameters (last param was [/move_base/local_costmap/publish_voxel_map=True]): cannot marshal None unless allow_none is enabled

As if I chage publish_voxel_map false in costmap_common_params.yaml, new error is displayed on a terminal.

load_parameters: unable to set parameters (last param was [/move_base/local_costmap/publish_voxel_map=False]): cannot marshal None unless allow_none is enabled

I don't understand yaml file enough yet. What is difference between yaml on eband_local_planner and one on base_local_planner? Could anyone give me some advice?
costmap_common_params.yaml

global_frame: /map
robot_base_frame: /hokuyo_link
update_frequency:
publish_frequency: 1.0

publish_voxel_map: false

map_type: voxel
origin_z: 0.0
z_resolution: 0.2
z_voxels: 10
unknown_threshold: 10
mark_threshold: 0

max_obstacle_height: 0.60
obstacle_range: 3.0
raytrace_range: 3.0
robot_radius: 0.18

observation_sources: scan bump

scan: {data_type: LaserScan, topic: /base_scan, marking: true, clearing: true, min_obstacle_height: 0.6, max_obstacle_height: 0.6}
bump: {data_type: PointCloud2, topic: mobile_base/sensors/bumper_pointcloud, marking: true, clearing: false, min_obstacle_height: 0.0, max_obstacle_height: 0.1}

global_costmap_params.yaml

global_costmap:
   global_frame: /map
   robot_base_frame: /base_link
   update_frequency: 3.0
   publish_frequency: 1.0
   static_map: true
   transform_tolerance: 1.0
   width: 100
   height: 100
   resolution: 0.05
   inflation_radius: 0.4 

local_costmap_params.yaml

local_costmap:
   global_frame: odom
   robot_base_frame: base_footprint
   update_frequency: 3.0
   publish_frequency: 1.0
   static_map: false
   rolling_window: true
   meter_scoring: true
   width: 4.0
   height: 4.0
   resolution: 0.05
   transform_tolerance: 0.25
   footprint_padding: 0.02

move_base_params.yaml

foot_print: [[-0.18, -0.18], [0.18, -0.18], [0.18, 0.18], [-0.18, 0.18]]

shutdown_costmaps: false

controller_frequency: 5.0
controller_patience: 3.0

planner_frequency: 2.0
planner_patience: 5.0

oscillation_timeout: 10.0
oscillation_distance: 0.2

eband_planner_params.yaml

EBandPlannerROS:

#TRAJECTORY CONTROL
differential_drive: true

# velocity limits
max_vel_lin: 0.8
max_vel_th: 0.5
min_vel_lin: 0.5
min_in_place_vel_th: 0.25

# goal tolerance
xy_goal_tolerance: 0.15
yaw_goal_tolerance: 0.15
# angular velocity PID
k_prop: 0.3
#eband parameters
edit retag flag offensive close merge delete

Comments

It sounds like there's an error in your yaml file; can you add it to your question?

ahendrix gravatar image ahendrix  ( 2014-04-01 20:07:23 -0600 )edit

Could you wait for my edit? I don't know how to show my .yaml directly on this page.

Ken_in_JAPAN gravatar image Ken_in_JAPAN  ( 2014-04-02 07:16:16 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted
0

answered 2014-04-04 12:54:32 -0600

Ken_in_JAPAN gravatar image

Thank you, @ahendrix! After adding an indent to eband_local_params.yaml as I follow your instruction, Errors went out and my turtlebot2 worked with eband_local_planner. image description

edit flag offensive delete link more
0

answered 2014-04-02 10:44:07 -0600

ahendrix gravatar image

On the third line of your costmap_common_params.yaml , you don't have a setting for update_frequency , which corresponds to None. I would try to find a setting for that parameter or just try removing it.

edit flag offensive delete link more

Comments

I will try it. Thank you, Prof. ahendrix!

Ken_in_JAPAN gravatar image Ken_in_JAPAN  ( 2014-04-02 11:03:36 -0600 )edit

After I removed it and set a value to update_frequency, another error appeared.

load_parameters: unable to set parameters (last param was [/move_base/global_costmap/z_voxels=10]): cannot marshal None unless allow_none is enabled
I'm investigating the problem.

Ken_in_JAPAN gravatar image Ken_in_JAPAN  ( 2014-04-02 11:17:29 -0600 )edit

@ahendrix: I'm googling the meaning of the error message. Due to http://help.openerp.com/question/14108/typeerror-cannot-marshal-none-useless-allow_none-is-enabled/ , XMLRPC protocol doesn't allow the None values. So, you point out update_frequency. Am I right? Thank you in advance!

Ken_in_JAPAN gravatar image Ken_in_JAPAN  ( 2014-04-03 14:18:29 -0600 )edit

Correct! You can't have a parameter that is unset in a yaml file. Also note that yaml is indentation-sensitive, so your eband_local_params.yaml may start with an empty parameter `EBandPlannerROS`, because the keys after it are not indented.

ahendrix gravatar image ahendrix  ( 2014-04-03 18:35:56 -0600 )edit

@ahendrix: Thank you for your instruction!

Ken_in_JAPAN gravatar image Ken_in_JAPAN  ( 2014-04-04 04:48:28 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2014-04-01 17:26:33 -0600

Seen: 2,730 times

Last updated: Apr 04 '14