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

teb local planer makes robot move backwards

asked 2021-12-17 10:19:35 -0500

serna0125 gravatar image

updated 2022-02-13 17:09:56 -0500

lucasw gravatar image

I am developing a differential drive robot, using the navigation stack with teb local planner. Currently the robot is operating with a jetson nano, has an RPLIDAR A1 and wheel encoders.

The question is , when we set the 2d nav goal in rviz, running the navigation stack, the planner has a good looking path but the behaviour of the robot is to go backwards. i am checking the topic /cmd_vel and its sending backward (negative) values on the linear.x.

Is there any parameter i need to tune or change? Is there something we are missing?

So far i've tried increasing the parameter weight_kinematics_forward_drive = 1000 but still not having a good response from the physical robot.

Any hint on where i should look for is really appreciated.

Log from the nav launch:

SUMMARY
========

CLEAR PARAMETERS

 * /move_base/

PARAMETERS

 * /amcl/base_frame_id: base_footprint

 * /amcl/gui_publish_rate: 10.0

 * /amcl/kld_err: 0.05

 * /amcl/kld_z: 0.99

 * /amcl/laser_lambda_short: 0.1

 * /amcl/laser_likelihood_max_dist: 5

 * /amcl/laser_max_beams: 30

 * /amcl/laser_model_type: likelihood_field

 * /amcl/laser_sigma_hit: 0.1

 * /amcl/laser_z_hit: 0.9

 * /amcl/laser_z_max: 0.05

 * /amcl/laser_z_rand: 0.5

 * /amcl/laser_z_short: 0.05

 * /amcl/max_particles: 5000

 * /amcl/min_particles: 500

 * /amcl/odom_alpha1: 0.2

 * /amcl/odom_alpha2: 0.2

 * /amcl/odom_alpha3: 0.8

 * /amcl/odom_alpha4: 0.2

 * /amcl/odom_alpha5: 0.1

 * /amcl/odom_frame_id: odom

 * /amcl/odom_model_type: diff

 * /amcl/recovery_alpha_fast: 0.0

 * /amcl/recovery_alpha_slow: 0.0

 * /amcl/resample_interval: 1

 * /amcl/transform_tolerance: 0.1

 * /amcl/update_min_a: 0.5

 * /amcl/update_min_d: 0.2

 * /move_base/GlobalPlanner/allow_unknown: False

 * /move_base/GlobalPlanner/cost_factor: 0.55

 * /move_base/GlobalPlanner/default_tolerance: 0.3

 * /move_base/GlobalPlanner/last_plan_if_blocked: True

 * /move_base/GlobalPlanner/neutral_cost: 66

 * /move_base/GlobalPlanner/old_navfn_behavior: False

 * /move_base/GlobalPlanner/use_dijkstra: True

 * /move_base/GlobalPlanner/use_grid_path: False

 * /move_base/GlobalPlanner/use_quadratic: True

 * /move_base/GlobalPlanner/visualize_potential: True

 * /move_base/TebLocalPlannerROS/acc_lim_theta: 1.0

 * /move_base/TebLocalPlannerROS/acc_lim_x: 0.5

 * /move_base/TebLocalPlannerROS/costmap_obstacles_behind_robot_dist: 0.5

 * /move_base/TebLocalPlannerROS/footprint_model/type: polygon

 * /move_base/TebLocalPlannerROS/footprint_model/vertices: [[-0.45, 0.25], [...

 * /move_base/TebLocalPlannerROS/free_goal_vel: False

 * /move_base/TebLocalPlannerROS/holonomic_robot: False

 * /move_base/TebLocalPlannerROS/include_costmap_obstacles: True

 * /move_base/TebLocalPlannerROS/include_dynamic_obstacles: True

 * /move_base/TebLocalPlannerROS/inflation_dist: 0.5

 * /move_base/TebLocalPlannerROS/is_footprint_dynamic: False

 * /move_base/TebLocalPlannerROS/map_frame: map

 * /move_base/TebLocalPlannerROS/max_vel_theta: 1.5

 * /move_base/TebLocalPlannerROS/max_vel_x: 1.0

 * /move_base/TebLocalPlannerROS/max_vel_x_backwards: 0.11

 * /move_base/TebLocalPlannerROS/max_vel_y: 0.0

 * /move_base/TebLocalPlannerROS/min_obstacle_dist: 0.15

 * /move_base/TebLocalPlannerROS/min_vel_y: 0.0

 * /move_base/TebLocalPlannerROS/no_outer_iterations: 4

 * /move_base/TebLocalPlannerROS/obstacle_poses_affected: 30

 * /move_base/TebLocalPlannerROS/odom_topic: /odom

 * /move_base/TebLocalPlannerROS/optimization_activate: True

 * /move_base/TebLocalPlannerROS/optimization_verbose: False

 * /move_base/TebLocalPlannerROS/penalty_epsilon: 0.1

 * /move_base/TebLocalPlannerROS/sim_granularity: 0.05

 * /move_base/TebLocalPlannerROS/sim_time: 0.8

 * /move_base/TebLocalPlannerROS/vtheta_samples: 20

 * /move_base/TebLocalPlannerROS/vx_samples: 18

 * /move_base/TebLocalPlannerROS/weight_acc_lim_theta: 1

 * /move_base/TebLocalPlannerROS/weight_acc_lim_x: 1

 * /move_base/TebLocalPlannerROS/weight_dynamic_obstacle: 10

 * /move_base/TebLocalPlannerROS/weight_kinematics_forward_drive: 1000

 * /move_base/TebLocalPlannerROS/weight_kinematics_nh: 1000

 * /move_base/TebLocalPlannerROS/weight_kinematics_turning_radius: 1

 * /move_base/TebLocalPlannerROS/weight_max_vel_theta: 1

 * /move_base/TebLocalPlannerROS/weight_max_vel_x: 2

 * /move_base/TebLocalPlannerROS/weight_obstacle: 50

 * /move_base/TebLocalPlannerROS/weight_optimaltime: 1

 * /move_base/TebLocalPlannerROS/xy_goal_tolerance: 0.25

 * /move_base/TebLocalPlannerROS/yaw_goal_tolerance: 0.2

 * /move_base/base_global_planner: global_planner/Gl...

 * /move_base/base_local_planner: teb_local_planner...

 * /move_base/footprint_model/type: polygon

 * /move_base/global_costmap/footprint: [[-0.45, 0.25], [...

 * /move_base/global_costmap/global_frame: map

 * /move_base/global_costmap/inflation_layer/cost_scaling_factor: 25.0

 * /move_base/global_costmap/inflation_layer/enabled: True

 * /move_base/global_costmap/inflation_layer/inflation_radius ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2021-12-17 17:33:13 -0500

miura gravatar image

Isn't it possible that RPLIDAR A1 or wheel encoders is installed backwards? You can check the change of /scan when you move the robot by pushing it by hand. In that case, you can solve it by adjusting the yaw of the connection with static_transform_publisher and install them in the opposite direction.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2021-12-17 10:19:35 -0500

Seen: 167 times

Last updated: Dec 17 '21