ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A answers.ros.org
Ask Your Question

Gork's profile - activity

2022-09-22 04:32:07 -0500 received badge  Student (source)
2017-11-22 16:37:16 -0500 received badge  Famous Question (source)
2016-12-01 03:37:21 -0500 received badge  Famous Question (source)
2015-09-23 20:05:32 -0500 received badge  Notable Question (source)
2015-08-21 07:13:58 -0500 received badge  Popular Question (source)
2015-08-02 07:09:34 -0500 received badge  Notable Question (source)
2015-07-31 08:16:52 -0500 received badge  Popular Question (source)
2015-07-31 06:46:26 -0500 commented answer Can I send a goal without quaternion?

It doesn't seem like it's possible to NOT send a specific orientation, my current workaround is to setup the navigation stack with a really high goal yaw tolerance for the local planner. But that seems rather sloppy.

2015-07-31 04:55:09 -0500 asked a question Can I send a goal without quaternion?

Hello,

I'm pretty new to ROS, but I got a navigation stack working, now I want to send a goal without quaternion i.e. I don't care about the orientation of the robot, if he arrives on the coordinates I sent him to. Rotating the robot is somewhat time intensive and inaccurate. Is there an option to do this?

Thanks in advance, Gork

2015-07-31 04:42:39 -0500 received badge  Enthusiast
2015-07-31 04:42:38 -0500 received badge  Enthusiast
2015-07-23 09:52:54 -0500 asked a question How can i call BaseGlobalPlanner::makePlan(...) from my navigation stack

Hello,

since english isn't my first language, I hope I can explain my problem well enough and I am thanking you in advance for slogging through this mess of a text.

I'm kind of new to ROS and was using the navigation stack as a part of my bachelor thesis. I followed this tutorial to send goals to the move_base and it's working out just fine. I'm using v-rep to simulate the robot and rviz to visualize the costmaps and plans. I properly configured all necessary publishers (odom, tf, etc.).

I can record and save a list of points to which I can navigate to, but now I want to get the shortest path from my robot to a defined origin, while driving through a list of checkpoints i recorded earlier. To solve this TSP-like problem I would love to get the distance between two points (for building a graph). I already found out that I can get the length of a path by adding all the distances of a plan (list of points).

The method nav_core::BaseGlobalPlanner::makePlan(const geometry_msgs::PoseStamped &start, const geometry_msgs::PoseStamped &goal, std::vector< geometry_msgs::PoseStamped > &plan)

offers exactly that. I can input two points and a reference to a list, which is filled upon calling the method. But I don't know how I can call it. Is there an already implemented way to call the function like in the tutorial where i used an ActionClient?

Am I on a completly wrong path? Thanks in advance for your answer!

Greetings, Gork

2015-07-20 20:38:45 -0500 received badge  Famous Question (source)
2015-06-26 02:25:16 -0500 received badge  Notable Question (source)
2015-06-22 05:45:47 -0500 commented question Problems with costmap and the inflation layer

Sorry for answering so late, I solved the problem by myself. The local planner was simply not impressed enough about the local costmap, there is a parameter in base_local_planner_params.yaml that solves exactly that: occdist_scale. In summary: global plan, was good, local plan messed it up.

2015-06-16 04:15:58 -0500 received badge  Popular Question (source)
2015-06-15 06:03:45 -0500 received badge  Editor (source)
2015-06-15 05:16:19 -0500 asked a question Problems with costmap and the inflation layer

Hello,

since english isn't my first language, I hope I can explain my problem well enough and I am thanking you in advance for slogging through this mess of a text.

I'm kind of new to ROS and was setting up the navigation stack as a part of my bachelor thesis. I followed this tutorial. I'm using v-rep to simulate and rviz to visualize. I properly configured all necessary publishers (odom, tf, etc.).

In my understanding, the inflation layer exists for keeping the robot out of range of obstacles. I adjusted the inflation_radius and the cost_scaling_factor parameters to my liking, but here lies the problem. My robot seems to ignore the gobal path (green line), and tries to make a very sharp turn around the inscribed area, causing the center of the robot to enter the inscribed area as soon as the costmap moves itself a little bit (for accuracity reasons I believe) and stopping the navigation. What am I doing wrong? Why is the robot ignoring the global plan that acknowledges the costmap values and doing something different?

Thanks in advance for your answers.

Best Regards, Georg Schuppe

EDIT: Solved. I learned about the parameters pdist_scale and occdist_scale. With proper configuration, I could solve my problem.

image description

Ubuntu 14.04 ROS indigo newest versions of rviz and vrep (updated 15.06.2015)

costmap_common_params.yaml

obstacle_range: 4.5
raytrace_range: 5.0

footprint: [[0.52, 0.32],
            [0.52, 0.028],
            [0.62, 0.028],
            [0.62, -0.028],
            [0.52, -0.028],
            [0.52, -0.32],
            [-0.54, -0.32],
            [-0.54, 0.32]]

inflation_radius: 1.0
cost_scaling_factor: 0.5

observation_sources: base_scan

base_scan: {sensor_frame: base_front_link,
            data_type: LaserScan,
            topic: /vrep/front_scan,
            expected_update_rate: 0.2,
            observation_persistence: 0.0,
            marking: true,
            clearing: true,
            min_obstacle_height: -0.10,
            max_obstacle_height: 2.0}

base_local_planner_params.yaml

TrajectoryPlannerROS:
  max_vel_x: 0.45
  min_vel_x: 0.1
  max_rotational_vel: 1.0
  min_in_place_rotational_vel: 0.4

  acc_lim_th: 3.2
  acc_lim_x: 2.5
  acc_lim_y: 2.5

  holonomic_robot: true

  xy_goal_tolerance: 0.3
  yaw_goal_tolerance: 0.3

local_costmap_params.yaml

local_costmap:
  global_frame: odom
  robot_base_frame: base_link
  update_frequency: 5.0
  publish_frequency: 2.0
  static_map: false
  rolling_window: true
  width: 20.0
  height: 20.0
  resolution: 0.05

global_costmap_params.yaml

global_costmap:
  global_frame: /map
  robot_base_frame: base_link
  update_frequency: 5.0
  static_map: true
  width: 40.0
  height: 40.0