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

chengwei's profile - activity

2021-03-03 15:23:55 -0500 received badge  Student (source)
2017-09-13 19:31:03 -0500 received badge  Famous Question (source)
2017-05-22 20:50:54 -0500 answered a question Catkin_make error: Workspace contains non-catkin packages in it

Hi, I also encountered the same problem, have you solve the problem? Can you share your solution?

2017-04-25 02:55:58 -0500 commented answer costmap_plugins.xml misbehaving

Hi, matteopantano, I haven't do this for a long time, so I remember not clear, but as fergs's answer above, the ERROR c

2017-04-06 12:59:44 -0500 received badge  Famous Question (source)
2017-03-01 23:14:05 -0500 commented question obstacle add from voxel_layer cannot clear

This might help. You could have a test, and tell me the result. Good luck!

2017-03-01 23:11:43 -0500 commented question obstacle add from voxel_layer cannot clear

map_type: voxel origin_z: 0.0 z_resolution: 0.1 z_voxels: 10 unknown_threshold: 10 mark_threshold: 0 publish_voxel_map: true

2017-03-01 21:30:00 -0500 commented question obstacle add from voxel_layer cannot clear

I don't have this test.Maybe this is the problem. You cloud have a test, and if you solve the problem,please tell me.

2017-03-01 20:09:07 -0500 commented question obstacle add from voxel_layer cannot clear

Hi, Simon, I also in solving this problem, and I think the question is caused by the narrow vision, and the fellow link might help. field of vision

2017-03-01 04:01:07 -0500 received badge  Famous Question (source)
2017-01-12 20:38:29 -0500 received badge  Notable Question (source)
2017-01-05 10:26:44 -0500 received badge  Popular Question (source)
2016-12-04 23:08:28 -0500 asked a question obstacle add from voxel_layer cannot clear

I am trying to test the obstacle avoid in my robot, I am using a laserscan and a pointcloud2 sensors to get the information of the obstacles, they add the obstacles right in the 2d visualization, the obstacle added from laser can clear automatically, but the obstacle add from the 3D depth sensor can't clear automatically. Anyone encounter this problem? Any suggests?

here is navigation configure(move_base) :

local_costmap_params.yaml

local_costmap:     
   global_frame: /odom
   robot_base_frame: /base_link 
   update_frequency: 3
   publish_frequency: 3
   static_map: false
   rolling_window: true
   width: 6.0
   height: 6.0
   resolution: 0.025
   transform_tolerance: 1.0
   map_type: costmap

   #static_layer:
     #enabled: false



      plugins:
        - {name: obstacle_layer,  type:

 "costmap_2d::ObstacleLayer"}
    - {name: voxel_layer, type: "costmap_2d::VoxelLayer"}
    - {name: inflation_layer,   type: "costmap_2d::InflationLayer"}

global_costmap_params.yaml

  global_costmap:
   global_frame: /map
   robot_base_frame: /base_link    
   update_frequency: 3
   publish_frequency: 0.2
   static_map: true
   rolling_window: false
   resolution: 0.025
   transform_tolerance: 1.0
   map_type: costmap
   static_layer:
        enabled: false

costmap_common_params.yaml

inflation_layer:
  cost_scaling_factor: 0.5  
  inflation_radius: 0.35 #0.45
  robot_radius: 0.35

obstacle_layer:
  obstacle_range: 2.5
  raytrace_range: 3.0
  max_obstacle_height: 1.6 #1.3
  min_obstacle_height: 0.03
  observation_sources: scan
  scan: {data_type: LaserScan, topic: /scan, marking: true, clearing: true, expected_update_rate: 0, inf_is_valid: true}

voxel_layer:
  enabled: true
  origin_z: 0.0
  z_resolution: 0.05
  z_voxels: 10
  unknown_threshold: 0
  #mark_threshold: 2
  publish_voxel_map: true
  combination_method: 1
  observation_sources: output_points  # from the 3D depth sensor
  output_points:
    data_type: PointCloud2
    topic: /output_points
    marking: true
    clearing: true
    obstacle_range: 1.90
    raytrace_range: 2.00
    min_obstacle_height: 0.00
    max_obstacle_height: 3.00
    mark_threshold: 3
    observation_persistence: 2.0
2016-12-04 21:25:45 -0500 answered a question Integrating voxel_layer into the costmap

Hi,layale.saab

I have the similar work with you.I have a 2D laidr sensor and a 3D depth sensor and the obstacle_layer, static_layer, inflation_layer and the voxel_layer all work in a costmap (2D).I transform voxel_grid topic to pointcloud,so I could add the voxel_grid in the rviz , I have make a test in navigation , in my test,the voxel_grid add only, do not eliminate in my rviz .That is to say, only add obstacles(voxel_grid), the obstacle in the costmap_2d not clear, Did you encounter this problem?

the problem link

local_costmap_params.yaml

local_costmap:     
   global_frame: /odom
   robot_base_frame: /base_link 
   update_frequency: 3
   publish_frequency: 3
   static_map: false
   rolling_window: true
   width: 6.0
   height: 6.0
   resolution: 0.025
   transform_tolerance: 1.0
   map_type: costmap

   #static_layer:
     #enabled: false

   plugins:
    - {name: obstacle_layer,  type: "costmap_2d::ObstacleLayer"}
    - {name: voxel_layer, type: "costmap_2d::VoxelLayer"}
    - {name: inflation_layer,   type: "costmap_2d::InflationLayer"}

global_costmap_params.yaml

    global_costmap:
       global_frame: /map
       robot_base_frame: /base_link    
       update_frequency: 3
       publish_frequency: 0.2
       static_map: true
       rolling_window: false
       resolution: 0.025
       transform_tolerance: 1.0
       map_type: costmap
       static_layer:
            enabled: false

costmap_common_params.yaml

inflation_layer:
  cost_scaling_factor: 0.5  
  inflation_radius: 0.35 #0.45
  robot_radius: 0.35

obstacle_layer:
  obstacle_range: 2.5
  raytrace_range: 3.0
  max_obstacle_height: 1.6 #1.3
  min_obstacle_height: 0.03
  observation_sources: scan
  scan: {data_type: LaserScan, topic: /scan, marking: true, clearing: true, expected_update_rate: 0, inf_is_valid: true}


voxel_layer:
  enabled: true
  origin_z: 0.0
  z_resolution: 0.05
  z_voxels: 10
  unknown_threshold: 0
  #mark_threshold: 2
  publish_voxel_map: true
  combination_method: 1
  observation_sources: output_points
  output_points:
    data_type: PointCloud2
    topic: /output_points
    marking: true
    clearing: true
    obstacle_range: 1.90
    raytrace_range: 2.00
    min_obstacle_height: 0.00
    max_obstacle_height: 3.00
    mark_threshold: 3
    observation_persistence: 2.0
2016-11-10 21:42:46 -0500 answered a question Laser Scanner Merging in one Topic

Hi,wassimhariri

I have the same question ,as the warn [ WARN] [1467292029.145711135]: Transformer::setExtrapolationLimit is deprecated and does not do anything

This problem solved ? If settled, please share to me, thank you!

2016-11-05 08:25:52 -0500 received badge  Famous Question (source)
2016-11-03 01:18:20 -0500 received badge  Notable Question (source)
2016-11-02 21:44:44 -0500 commented answer Get a navigation goal from laserscan

Just as obtain the navigation goal from a range,and a angle in a laserscan. The range is the specified orientation(angle) in the laserscan.

I want to publish the Goal about something interesting, and detect object from the laserscan.

2016-11-02 21:40:39 -0500 commented answer Get a navigation goal from laserscan

Hi,

The laserscan is taken from my robots, the frame is laser, I want to obtain a navigation goal from the laserscan, float ra = scan_msg->ranges[t];float angle = scan_msg->angle_min + t * scan_msg->angle_increment, here the t is constant, obtained by calculation. Not an array, just one data

2016-11-02 21:27:48 -0500 received badge  Notable Question (source)
2016-11-02 20:38:17 -0500 commented question get rotation between two frames

Hi,JoshMarino,

Sorry for my poor English,

I want to publish a Navigation Goal,now I want to transform a Orientation from a local frame(laser) to a global frame (map), and I get the Orientation as a angle angle = scan_msg->angle_min + t * scan_msg->angle_increment, any suggest is acceptable!

2016-11-02 20:23:56 -0500 commented answer get rotation between two frames

Hi,Akif, I'm sorry for my poor English. I want to publish a Navigation Goal, and the Goal's position is obtaining from a laserscan range float ra = scan_msg->ranges[t] ,and the Goal's orientation is get from a angle float angle = scan_msg->angle_min + t * scan_msg->angle_increment

2016-11-02 20:19:57 -0500 commented answer Get a navigation goal from laserscan

Hi,shoemakelevy,

I'm sorry for my poor English.

I want to publish a Navigation Goal, and the Goal's position is obtaining from a laserscan range float ra = scan_msg->ranges[t] ,and the Goal's orientation is get from a angle float angle = scan_msg->angle_min + i * scan_msg->angle_increment;

2016-11-02 20:13:51 -0500 received badge  Popular Question (source)
2016-11-02 07:24:31 -0500 received badge  Popular Question (source)
2016-11-01 23:11:11 -0500 commented question get rotation between two frames

I want to publish a goal position to the robot,and I want get the position from a laserscan as fellows.

float ra = scan_msg->ranges[t];
float angle = scan_msg->angle_min + i * scan_msg->angle_increment;

I could transform coordinate from "base_link" to "map" , how to transform the angle?

2016-11-01 22:06:17 -0500 asked a question get rotation between two frames

Hi,everyone,

I have two frames, one is global frame("map"), another is local frame ("laser"). And I have the transform between them.

I want to publish a Navigation Goal, and the Goal is obtaining from the laserscan. The Goal's position is obtaining from a laserscan range float ra = scan_msg->ranges[t] ,and the Goal's orientation is get from a angle float angle = scan_msg->angle_min +t * scan_msg->angle_increment,here the t is a constant(specified).

Thank you in advance!

edit 11-03

    tf::StampedTransform transform;
    geometry_msgs::PoseStamped new_goal;
     geometry_msgs::PointStamped position_in, position_out;
    int id = 50;
        try
        {
            listener->waitForTransform("/map", "/laser", scan_msg->header.stamp, ros::Duration(10.0));
            listener->lookupTransform("/map", "/laser",  scan_msg->header.stamp, transform);
        }
        catch (tf::TransformException& ex)
        {
            ROS_ERROR("Received an exception trying to transform a point from \"laser\" to \"map\": %s", ex.what());
        }

        float angle = scan_msg->angle_min + id * scan_msg->angle_increment;
        pt.x = ra * cos(angle);
        pt.y = ra * sin(angle);

        position_in.header = scan_msg->header;
        position_in.point.x = pt.x;
        position_in.point.y = pt.y;
        listener->transformPoint("map", position_in, position_out);


        // header
        new_goal.header.frame_id = "map";
        new_goal.header.stamp = ros::Time::now();
        // position
        new_goal.pose.position.x = position_out.point.x;
        new_goal.pose.position.y = position_out.point.y;
        new_goal.pose.position.z = 0.0;

        tf::Quaternion q = transform.getRotation();
        double yaw = tf::getYaw(q);
        double angle_goal = yaw + angle_orientation;

        geometry_msgs::Quaternion goal_quat = tf::createQuaternionMsgFromYaw(angle_goal);
        new_goal.pose.orientation = goal_quat;
        p_pub.publish(new_goal);

I solve the problem in two steps.

First, transform the point position from /laser to /map, as listener->transformPoint("map", position_in, position_out);

Second, calculate the Yaw from /laser to /map as double angle_goal = yaw + angle_orientation;

I need to do some test and verify.

If somebody have good Suggestions, please let me know.

Thank you!

2016-11-01 03:21:33 -0500 asked a question Get a navigation goal from laserscan

Hi everyone,

For some purpose, I want to publish a navigation goal(type geometry_msgs::PoseStamped ). Now I want to get the position and orientation from the laserscan data as fellows, how can i make it?

float ra = scan_msg->ranges[t];
float angle = scan_msg->angle_min + i * scan_msg->angle_increment;

the laserscan frame_id = "laser", the map frame_id = "map", and I have the tf tree laser->base_link->odom->map.

Any suggestions. Thank You In Advance!!!

EDIT

I have solve the problem at this link

2016-11-01 03:00:50 -0500 received badge  Notable Question (source)
2016-10-27 04:22:40 -0500 received badge  Famous Question (source)
2016-10-26 22:55:19 -0500 edited answer Navigation costmap2d

HI,Zeeshan and lucasw,

I have the same problem when I [Creating a New Layer],(http://wiki.ros.org/costmap_2d/Tutorials/Creating%20a%20New%20Layer) I got the ERROR:

terminate called after throwing an instance of 'pluginlib::LibraryLoadException'
  what():  According to the loaded plugin descriptions the classsimple_layer_namespace::SimpleLayer with base class type costmap_2d::Layer does not exist. Declared types are blablabla ...

Can you help me, Any opinion is look acceptable.

Thank you in advance

UPDATE

I have already solved the problem, the cause of error is my format error in costmap_plugins.xml.