Quantcast
Channel: ROS Answers: Open Source Q&A Forum - RSS feed
Viewing all articles
Browse latest Browse all 667

RangeSensorLayer::updateBounds Segmentation fault.

$
0
0
Hi All, I like to integrate ultrasonic sensors into costmap bu getting following error when I run the move_base. Thread 11 "move_base" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffcb7fe700 (LWP 9665)] 0x00007fffe4069067 in range_sensor_layer::RangeSensorLayer::updateBounds(double,double, double, double*, double*, double*, double*) () from /opt/ros/kinetic/lib//librange_sensor_layer.so local costmap: local_costmap: global_frame: /map robot_base_frame: base_link update_frequency: 2.0 publish_frequency: 1.0 static_map: false rolling_window: true width: 1.0 height: 1.0 resolution: 0.05 transform_tolerance: 0.5 plugins: - {name: range_sensor_layer, type: "range_sensor_layer::RangeSensorLayer"} - {name: static_layer, type: "costmap_2d::StaticLayer"} - {name: obstacle_layer, type: "costmap_2d::ObstacleLayer"} # - {name: inflation_layer, type: "costmap_2d::InflationLayer"} global costmap: global_costmap: global_frame: /map robot_base_frame: base_link update_frequency: 2.0 publish_frequency: 1.0 rolling_window: false static_map: true width: 3 height: 3 transform_tolerance: 0.5 plugins: #- {name: range_sensor_layer, type: "range_sensor_layer::RangeSensorLayer"} - {name: static_layer, type: "costmap_2d::StaticLayer"} - {name: obstacle_layer, type: "costmap_2d::ObstacleLayer"} #- {name: inflation_layer, type: "costmap_2d::InflationLayer"} #- {name: inflation_layer, type: "costmap_2d::InflationLayer"} common costmap: footprint: [ [-0.05,-0.05], [0.05,-0.05], [0.05,0.05], [-0.05,0.05] ] transform_tolerance: 0.2 map_type: costmap obstacle_layer: enabled: true obstacle_range: 3.0 raytrace_range: 3.5 inflation_radius: 0.1 track_unknown_space: false combination_method: 1 observation_sources: laser_scan_sensor laser_scan_sensor: {data_type: LaserScan, topic: scan, marking: true, clearing: true} range_sensor_layer: topics: ["/ultrasound", "/ultrasound1"] no_readings_timeout: 0.0 clear_threshold: 0.46 mark_threshold: 0.98 static_layer: enabled: true map_topic: "/map" inflation_layer: enabled: true cost_scaling_factor: 5.0 # exponential rate at which the obstacle cost drops off (default: 10) inflation_radius: 0.1 # max. distance from an obstacle at which costs are incurred for planning paths. reading from arduino: #include #include #include ros::NodeHandle nh; sensor_msgs::Range range_msg; sensor_msgs::Range range_msg1; ros::Publisher pub_range( "/ultrasound", &range_msg); ros::Publisher pub_range1("/ultrasound1", &range_msg1); char frameid[] = "/ultrasound"; char frameid1[] = "/ultrasound1"; float getRange_Ultrasound(int pin_num){ int val = 0; val=analogRead(pin_num); float range = val; return range/81; // (0.0124023437 /4) ; //cvt to meters } void setup() { nh.initNode(); nh.advertise(pub_range); nh.advertise(pub_range1); range_msg.radiation_type = sensor_msgs::Range::ULTRASOUND; range_msg.header.frame_id = frameid; range_msg.field_of_view = 0.1; // fake range_msg.min_range = 0.0; range_msg.max_range = 6.47; range_msg1.radiation_type = sensor_msgs::Range::ULTRASOUND; range_msg1.header.frame_id = frameid1; range_msg1.field_of_view = 0.1; // fake range_msg1.min_range = 0.0; range_msg1.max_range = 6.47; pinMode(8,OUTPUT); digitalWrite(8, LOW); } long range_time; void loop() { //publish the adc value every 50 milliseconds //since it takes that long for the sensor to stablize if ( millis() >= range_time ){ int r =0; range_msg.range = getRange_Ultrasound(0); range_msg.header.stamp = nh.now(); pub_range.publish(&range_msg); range_msg1.range = getRange_Ultrasound(1); range_msg1.header.stamp = nh.now(); pub_range1.publish(&range_msg1); range_time = millis() + 50; } nh.spinOnce(); } I could not found the reason for the problem. Is there anyone can suggest a solution to that problem? Thanks

Viewing all articles
Browse latest Browse all 667

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>