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

Stephen_Z's profile - activity

2018-11-13 23:12:36 -0500 received badge  Good Question (source)
2018-04-18 15:34:05 -0500 received badge  Nice Question (source)
2018-02-17 23:39:00 -0500 received badge  Guru (source)
2018-02-17 23:39:00 -0500 received badge  Great Answer (source)
2017-10-12 22:45:48 -0500 edited answer Does ros have some package that can provide linear and circular interpolation

Linear interpolation for tool space movements is often accomplished by using the “Linear Segments with Parobolic Blends”

2017-10-12 22:45:05 -0500 edited answer Does ros have some package that can provide linear and circular interpolation

Linear interpolation for tool space movements is often accomplished by using the “Linear Segments with Parobolic Blends”

2017-10-12 22:44:24 -0500 edited answer Does ros have some package that can provide linear and circular interpolation

Linear interpolation for tool space movements is often accomplished by using the “Linear Segments with Parobolic Blends”

2017-10-12 21:52:45 -0500 answered a question Does ros have some package that can provide linear and circular interpolation

Linear interpolation for tool space movements is often accomplished by using the “Linear Segments with Parobolic Blends”

2017-08-28 14:41:25 -0500 commented answer Complete coverage path planning ros

@Aureus: I used the rviz markers found at http://wiki.ros.org/rviz/DisplayTypes/Marker . Sorry, I can not release the so

2017-08-15 18:23:08 -0500 received badge  Commentator
2017-08-15 18:23:08 -0500 commented question What does setEndEffectorLink (from moveit::planning_interface) do?

I have the same issue. Did you figure out what was going on?

2017-07-28 09:25:20 -0500 commented question Quaternion.Slerp vs Quaternion.RotateTowards [Unity3D API vs ROS API]

Did you ever determine how these two methods are different, or did you get slerp to work for your application?

2017-05-15 21:43:48 -0500 commented question Teb local planner gets stuck at local minimum

.... algorithm in the remaining area. I plan to add this feature, but it'll be awhile before I am on that project again.

2017-05-15 21:43:35 -0500 commented question Teb local planner gets stuck at local minimum

.... algorithm in the remaining area. I plan to add this feature, but it'll be a while before I am on that project again

2017-05-15 20:54:55 -0500 commented question Teb local planner gets stuck at local minimum

.... algorithm in the remaining area.

2017-05-15 20:54:26 -0500 commented question Teb local planner gets stuck at local minimum

My current algorithm requires a complete 2d map of the desired environment to plan the path. This map can be found using

2017-05-15 06:54:30 -0500 commented question Teb local planner gets stuck at local minimum

I apologize but I can not make my code public at this time because it is for a private company.

2017-05-15 06:54:15 -0500 commented question Teb local planner gets stuck at local minimum

I apologize but I can not make my code public at this time because it is for a private company.

2017-05-15 06:52:35 -0500 commented question Teb local planner gets stuck at local minimum

I have described my process here: http://answers.ros.org/question/212614/complete-coverage-path-planning-ros/#255555. Th

2017-05-15 06:47:47 -0500 commented answer Complete coverage path planning ros

I am very sorry, but i have moved on from this project for now and it turned out to be harder then I expected to get my

2017-05-04 08:18:42 -0500 commented answer Complete coverage path planning ros

Yes, I think I can do that. Could you attach some links that'll get me to the maps you are interested in?

2017-03-29 05:28:22 -0500 received badge  Famous Question (source)
2017-03-18 18:44:04 -0500 received badge  Enlightened (source)
2017-03-03 13:27:36 -0500 received badge  Enthusiast
2017-03-02 15:44:43 -0500 received badge  Notable Question (source)
2017-03-02 13:27:11 -0500 commented question Teb local planner gets stuck at local minimum

Thank you. I attached my configuration file with comments for you so hopefully my goals/reasoning are clear. is the strict point ordering you mentioned via_points_ordered? If so, currently it does not solve the issue. I would like a longer horizon, but that seems to find local minim worse..

2017-03-02 02:20:26 -0500 received badge  Popular Question (source)
2017-02-28 21:53:57 -0500 received badge  Student (source)
2017-02-28 21:51:07 -0500 asked a question Teb local planner gets stuck at local minimum

I have written a full-coverage global path planner plug-in, which returns a "raster" pattern shown below. To follow this path, I am using teb_local_planner's (TEB) path following ability. When i first applied TEB, the local planner would find a local minimum at the first cut-back (turning section in the back and forth pattern) it came to and would simply stay there and oscillate. To solve this, i reduced the prune path parameter (which i found in a header file) from 1m to 0.1m. This solved the issue very well. Also, i had to be sure that TEB would never request a new global plan so i edited out all re-planning requests.

My current issue is that sometimes segments of the global plan requires the robot to go down a dead end path segment, turn, and return exactly how it came. In this scenario TEB always finds a local minimum at this path end and gets stuck. I have to bump the robot forward to get out of this situation. image description

Does anyone know how i can resolve this? Perhaps removing way-points within the local region (not sure how/where to do this)? or some new weight parameter? Thank you in advance.

My system is ROS Kinetic and Ubuntu 16.04.

Edit: here is my teb_local_planner configuration.

TebLocalPlannerROS:
 #################################
 # Trajectory
 teb_autosize: True
 dt_ref: 0.3
 dt_hysteresis: 0.1
 global_plan_overwrite_orientation: False # I supply the desired orientation 
 global_plan_viapoint_sep: 0.01 #  there are 20 between each green point shown in rviz
 allow_init_with_backwards_motion: False
 max_global_plan_lookahead_dist: 0.7 # If too high then it cuts corners even with  via_point weight high??
 force_reinit_new_goal_dist: 0.6 # not sure about this one but lower seemed better...?
 feasibility_check_no_poses: 0 # never replan no matter what. even if completely stuck (TEB replans when desperate even with planner_frequency=0 for some reason)
 via_points_ordered: True  # path following. false increases oscillation around the path
 #################################
 # Robot     # Note: the real robot never recovers from a oscillation. However, the simulation often does.
 max_vel_x: 0.5 # these are simulation values. for the real robot they are about 3m/s 
 max_vel_x_backwards: 0.5
 max_vel_y: 0.5
 max_vel_theta: 5 
 acc_lim_x: 10.0
 acc_lim_y: 10
 acc_lim_theta: 9 
 min_turning_radius: 0.0
 #################################
 # Note: I added these parameters to help on the real robot (not needed in simulation)
 min_vel_x: 0.0 
 min_vel_y: 0.0
 min_vel_theta: 0
 min_vel_x_backwards: 0.0
 footprint_model:
   type: "point"
#################################
 # GoalTolerance
 xy_goal_tolerance: 0.1
 yaw_goal_tolerance: 0.1
 free_goal_vel: True
#################################   
 # Obstacles
 min_obstacle_dist: 0.5 # This value must also include our robot radius, since footprint_model is set to "point".
 include_costmap_obstacles: True
 costmap_obstacles_behind_robot_dist: 0.5
 obstacle_poses_affected: 30
 costmap_converter_plugin: ""
 costmap_converter_spin_thread: True
 costmap_converter_rate: 5
 #################################
 # Optimization
 no_inner_iterations: 5
 no_outer_iterations: 4
 optimization_activate: True
 optimization_verbose: False
 penalty_epsilon: 0.1
 weight_max_vel_x: 480 # these are high to encourage the real robot not to go painfully slow
 weight_max_vel_y: 480
 weight_max_vel_theta: 520
 weight_acc_lim_x: 250
 weight_acc_lim_y: 250
 weight_acc_lim_theta: 280
 weight_kinematics_nh: 5400 # My robot is holonomic but i want to prefer staying tangent to the path
 weight_kinematics_forward_drive: 550 # I definitely prefer going forward
 weight_optimaltime: 500 # I dont particularly care how long the path takes within reason but higher ...
(more)
2017-02-27 11:02:59 -0500 received badge  Editor (source)
2017-02-27 09:07:46 -0500 received badge  Good Answer (source)
2017-02-25 22:52:15 -0500 received badge  Nice Answer (source)
2017-02-25 10:55:58 -0500 received badge  Necromancer (source)
2017-02-25 10:55:58 -0500 received badge  Teacher (source)
2017-02-24 13:20:18 -0500 answered a question Complete coverage path planning ros

For anyone interested in writing a robust global planner plug-in for full coverage, the algorithm presented in the introduction of this published paper works well:

( https://scholar.google.com/scholar?q=... )

The global planner algorithm steps are: 1) Use costmap2d (costmap_->getCost(x,y) in c++) to divide the map into occupied and free cells 2) Identify the closest cells to the desired start and end pose 3) Use a wavefront algorithm to assign the distance transform value at each cell 4) Iterate through these cells in a path of slowest decent as described in the paper

Next, you can implement the teb_local_planner for path following, but be sure to shorten the prune path value to something like 0.1m (found in teb_local_planner_ros.h). Otherwise the optimizer gets stuck. Id add a picture but i dont have enough karma...

EDIT: Thank you for the karma! This image shows the full coverage path in yellow covering most of the willow garage map. I have included the z-axis to shed some light on the algorithm. the red points represent the distance transform cost of every free cell (higher=more cost), and the planner plans the slowest decent down this gradient funnel. Note the lowest area is the goal point.

image description

2017-02-22 23:27:58 -0500 commented answer Clearing of obstacle layer in the layered_costmap

I am also writing a full coverage planner. The move_base clear_costmaps service works well from the terminal. However, the method shown above halts my global plugin code at "clear_costmaps_client.call(srv)" . it doesn't crash, just doesn't continue. Any ideas? i have Ubuntu 16.04 and Kinetic. Thanks