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

unable to increase speed of the bot using dwa_local_parameter

asked 2020-11-17 15:10:38 -0500

arjunchatterg gravatar image

updated 2020-11-18 13:20:27 -0500

I am trying to increase the speed of skid steering bot using dwa local planner but the speed doesn't increase above 0.5. I have tried manipulating acceleration, velocity and translational limit in the parameter file but the result is still the same. I don't get what is limiting the bot to not increase the speed above 0.5 m/s.

Update- I checked the situation using rqt_reconfigure and the bot is able to react to any value in max_vel_x throughout the slider. But when I mention the same values in the yaml file, the bot sticks to 0.5 m/s for vel > 0.5.

Below is the content of my dwa_local_planner_params.yaml file-

DWAPlannerROS:

  max_vel_x: 1.5  
  min_vel_x: 0.0 

  max_vel_y: 0.0  
  min_vel_y: 0.0  

  max_trans_vel: 1.5
  min_trans_vel: 0.0  
  trans_stopped_vel: 0.1

  max_rot_vel: 5.0  
  min_rot_vel: 0.4  
  rot_stopped_vel: 0.4

  acc_lim_x: 2.5
  acc_lim_theta: 2.0
  acc_lim_y: 2.5

  yaw_goal_tolerance: 0.3  
  xy_goal_tolerance: 0.5 

  sim_time: 1.0       
  vx_samples: 6        
  vy_samples: 1      
  vtheta_samples: 20  

  path_distance_bias: 90.0      
  goal_distance_bias: 24.0      
  occdist_scale: 0.50           
  forward_point_distance: 0.325 
  stop_time_buffer: 0.2         
  scaling_speed: 0.25           
  max_scaling_factor: 0.2      

  oscillation_reset_dist: 0.05  

  publish_traj_pc : true
  publish_cost_grid_pc: true
  global_frame_id: odom

Launch File-

<node pkg="agv_navigation" name="controller" type="goal_sequence.py"></node>

<node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher"/> 
<param name ="publish_frequency" type=" double" value="50.0"/>

<arg name="map_file" value="$(find agv_navigation)/map/world.yaml"/>

<node pkg="map_server" type="map_server" name="map_server" args="$(arg map_file)" output = "screen" />

<include file="$(find agv_navigation)/launch/amcl.launch" />
<include file="$(find agv_description)/launch/agv_visualize.launch"/>

<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
  <param name="base_local_planner" value="dwa_local_planner/DWAPlannerROS"/>

<rosparam file="$(find agv_navigation)/config/costmap_common_params.yaml" command="load" ns="global_costmap" />
<rosparam file="$(find agv_navigation)/config/costmap_common_params.yaml" command="load" ns="local_costmap" />
<rosparam file="$(find agv_navigation)/config/local_costmap_params.yaml" command="load" />
<rosparam file="$(find agv_navigation)/config/global_costmap_params.yaml" command="load" />
<rosparam file="$(find agv_navigation)/config/base_local_planner_params.yaml" command="load" />
<rosparam file="$(find agv_navigation)/config/move_base_params.yaml" command="load"/>
<rosparam file="$(find agv_navigation)/config/dwa_local_planner_params.yaml" command="load"/>
<rosparam file="$(find agv_navigation)/config/global_planner.yaml" command="load"/>
<remap from="cmd_vel" to="/cmd_vel"/>
<remap from="odom" to="odom"/>

</node>
edit retag flag offensive close merge delete

Comments

Please use proper tags. gmapping and djikstra have nothing to do with your question. Thanks.

Did you observe move_base actually publishing only a maximum velocity of 0.5m/s? Might be something else is limiting the robots velocity as well. Also, please check that the parameters are actually used, i.e. they are loaded in the correct namespace.

mgruhler gravatar image mgruhler  ( 2020-11-18 01:18:11 -0500 )edit
  1. /cmd_vel topic echoes the mentioned speed.
  2. What parameter could limit the speed ? Local planner should only be responsible for robot's speed right ?
  3. How do I check if they are correctly loaded ? rqt_graph seems fine to me.
arjunchatterg gravatar image arjunchatterg  ( 2020-11-18 02:31:04 -0500 )edit

max_vel_x and max_vel_trans should be the relevant ones. Does changing any parmeter have any effect on the robot? Try setting it to 0.1m/s and see if it is observing this limit. If not, you probably have loaded the parameters in the wrong namespace. Edit your question and show the launch file with which you upload the parameters.

mgruhler gravatar image mgruhler  ( 2020-11-18 06:36:01 -0500 )edit

Bot is reacting to speed less than 0.5 m/s. But it stays at 0.5-0.55 even if I provide 1.0 m/s.

arjunchatterg gravatar image arjunchatterg  ( 2020-11-18 06:42:05 -0500 )edit

is this stuff on a repo that we can check? I don't see anything wrong with the configuration, but there are so many things to check that having this on a repo would really help...

mgruhler gravatar image mgruhler  ( 2020-11-18 08:20:52 -0500 )edit
  1. Config files are slight modifications of this repo
  2. Python script contains a simple addition of a loop of waypoints in this code
arjunchatterg gravatar image arjunchatterg  ( 2020-11-18 09:51:01 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
2

answered 2020-11-18 13:49:38 -0500

arjunchatterg gravatar image

I figured out the solution. The parameter is actually max_vel_trans instead of max_trans_vel.

Thanks for your concern.

edit flag offensive delete link more

Comments

great you figured it out. Actually, the parameter name has been changed in melodic. Also, the planner outputs a warning (see also this) which you should have seen. But I also missed the name change :-D

mgruhler gravatar image mgruhler  ( 2020-11-19 00:55:39 -0500 )edit

Congratulations.

miura gravatar image miura  ( 2020-11-19 04:22:26 -0500 )edit

Yes, I figured out after I looked at the warning. Thank you so much for your time and concern @mgruhler and @miura

arjunchatterg gravatar image arjunchatterg  ( 2020-11-19 04:35:30 -0500 )edit
0

answered 2020-11-18 09:21:59 -0500

miura gravatar image

It might work if you use rqt_reconfigure to set the parameters. I took a quick peek at the dwa_planner code and didn't see the max_vel_x setting by rosparam.

You can find it here: https://github.com/ros-planning/navig... #L97

edit flag offensive delete link more

Comments

1

Testing with rqt_reconfigure is a good idea to see if the velocity can be higher. If yes, this will point to something else being wrong (maybe the namespace to where the parameters are loaded).

max_vel_x is loaded in the reconfigureCB (line 71) though. There is no need for a rosparam call...

mgruhler gravatar image mgruhler  ( 2020-11-18 09:40:34 -0500 )edit
  1. all the config files are a slight modification of this repo - CONFIG
  2. max_vel_x is already set to 1.5 in dwa_planner. What's the need to set by rosparam ?
  3. My script is highly motivated from here - Code. I have just added a loop in this script to take a sequence of waypoints.
arjunchatterg gravatar image arjunchatterg  ( 2020-11-18 09:47:50 -0500 )edit

@mgruhler Thanks, I missed the dsrv_->setCallback(cb);.

miura gravatar image miura  ( 2020-11-18 10:03:20 -0500 )edit

@Arjunchatterg My mistake; rosparam is irrelevant.

miura gravatar image miura  ( 2020-11-18 10:11:52 -0500 )edit

dwa_local_param.yaml doesn't seem to be in the launch file. dwa_local_planner_params.yaml? Is the file you are editing correct?

miura gravatar image miura  ( 2020-11-18 10:12:42 -0500 )edit
1

yes I'm editing dwa_local_planner_params.yaml. The bot is reacting to values < 0.5 m/s in this file itself.

arjunchatterg gravatar image arjunchatterg  ( 2020-11-18 12:32:50 -0500 )edit

checked the situation using rqt_reconfigure and it works fine with it. Now, what could be the reason for such behaviour of hard-coded values ?

arjunchatterg gravatar image arjunchatterg  ( 2020-11-18 13:22:10 -0500 )edit

After increasing the transational speed, the bot doesn't orient towards goal-point/global-path. It deviates from global path with huge difference. How do I make the robot rotate faster ?

arjunchatterg gravatar image arjunchatterg  ( 2020-11-18 15:44:58 -0500 )edit

Question Tools

Stats

Asked: 2020-11-17 15:10:38 -0500

Seen: 553 times

Last updated: Nov 18 '20