I keep getting the error " Transform [sender=unknown publisher]For frame [/sonar link]: Frame [/sonar link] does not exist "
I tried all the solutions provided in the ROS answers but still I face this issue.
Changes that I made to the simulation files:
1. Added sonar in the .xacro file, .gazebo file.
2.Also added the static transform publisher in the .launch file as
3.I ran the rosrun --debug rviz rviz and tried publishing the link.
4.I made changes to the gazebo_ros_sonar.cpp in the hector gazebo package.
But I still getting the error while running rviz and adding the sonar in it.
Please, suggest me an alternative possible solutions. ?
↧
I'm using CAT simulation and I added sonars to the jeep in the simulation using hector gazebo but I keep getting an error in rviz.
↧
Spawner gets blocked when trying to use libhector_gazebo_ros_sonar
Hi guys! To get to the point,
I have an .xacro file where I am creating a simple 3-wheeled robot. I am trying to include a camera sensor that works fine and 3 sonar sensors using libhector_gazebo_ros_sonar. When I include the sonars the launching process stops at:
[INFO] [1495446798.750176, 0.000000]: Calling service /gazebo/spawn_urdf_model
[ INFO] [1495446798.857894558, 0.022000000]: waitForService: Service [/gazebo/set_physics_properties] is now available.
libGL error: failed to create drawable
If I don't kill the process it fills up my RAM and everything freezes
After I kill the process with *CTRL+C* i see this warning:
[WARN] [1495446813.634902, 0.032000]: Controller Spawner couldn't find the expected controller_manager ROS interface.
Code for sonar:
Gazebo/Red true 30.0 ${ray_count} 1 -${field_of_view/2} ${field_of_view/2} ${ray_count} 1 -${field_of_view/2} ${field_of_view/2} ${min_range} ${max_range} 0.01 0.005 sonar sonar_link
I include the sonar like this:
No parsing error when parsing directly the .xacro file to .urdf or .sdf.
There may be a problem with the way I try to use the library or the namespaces, but I am not configuring those, just **/** like so:
/
I include the spawner in the .launch file like so:
system: **Ubuntu 16.04, ROS kinetic, Gazebo 7**
llibraries: **libhector_gazebo_ros_sonar** and **ros-kinetic-gazebo-ros-control** installed with *sudo apt-get*
No path problem for ROS. The Gazebo path returns nothing but I set that up and still does not work. Again, everything spawns without the sonars.
Not sure if [this](http://answers.ros.org/question/261111/controller-spawner-couldnt-find-the-expected-controller_manager-ros-interface/) is the same problem.
Thank you in advance for any suggestions. I asked also on the Gazebo forum [here](http://answers.gazebosim.org/question/16240/spawner-gets-blocked-when-trying-to-use-libhector_gazebo_ros_sonar/).
Thank you in advance for any suggestions.
**UPDATE 1**
Managed to narrow it down to the ray tag. It spawns when I comment out the vertical caracteristics but still have the warning:
[WARN] [1495446813.634902, 0.032000]: Controller Spawner couldn't find the expected controller_manager ROS interface.
and the odometry data is unavailable.
**UPDATE 2**
Actually completely removing the vertical tag resolves the issue. If somebody can explain, and how this will influence a robot feel free to. This would render the sonar to a radar, and I am trying to simulate the sonar so this is not a fix.
↧
↧
Hector sonar implementation on a Pioneer 3DX
Hello,
I'm working on a simulation of two Pioneer-3DX robots on Gazebo. (Debian Stretch / Gazebo 7 / ROS Kinetic)
I'm trying to implement sonar readings with Hector_sonar (to make one robot follow the other) but it seems like it doesn't work.
The problem I face is that I don't get any range/sonar display on rviz and the range I get from the sonar is always the same, even when the p3dx is alone with nothing around it (range moves between 0.04 and 0.05 which is not really what I would expect).
Here's how I did :
I cloned in my catkin_ws/src : https://github.com/tu-darmstadt-ros-pkg/hector_models
I used https://github.com/tu-darmstadt-ros-pkg/hector_models/blob/groovy-devel/hector_sensors_description/urdf/sonar_sensor.urdf.xacro from hector_models package to make my pioneer3dx_sonar.xacro :
true ${update_rate} 0 0 0 0 0 0 false ${ray_count} 1 -${field_of_view/2} ${field_of_view/2} ${ray_count} 1 -${field_of_view/2} ${field_of_view/2} ${min_range} ${max_range} 0.01 0.005 ${ros_topic} ${name}_link
Ten I added into my pioneer3dx.xacro a line to call the previous file :
And I obviously deleted how the sonar was defined before. (There was only a model with joint and link and nothing to actually make use of the sonar)
If someone could figure out how to make this work with these informations, I'd be really thankful.
If you need to know more and these aren't enough, just let me know.
Hdifsttar
**Edit 1 :** I changed the min value of the sonar range(=0.7) and the range changed to oscillate between the min range(=0.7) and the min range +0.04 (=0.74). Seems like the data I get from the sonar is only the gaussian noise produced in the plugin. So, I think I get 0 from the sonar and the rest is up to the noise.
**Edit 2:** I changed the min value and i still got 0.7 from the sonar. The value I got from the sonar (0.74) and the value min I set (0.7) was just a coincidence. The sonar is now working just because i changed the min value from 0.01 to 0.08. Don't know how to explain that. I still can't see any sonar on Rviz though.
**Edit 3:** I fixed Rviz, it was just a mistake of topic selected, my bad. I'm closing the topic since I got my answers, feel free to pm me if you ever encounter any problems like that, or want to do the same thing.
↧
Problem running pointcloud_to_laserscan launch file
I'm attempting to use the pointcloud_to_laserscan stack with data we have collected from a sonar scan which has been converted in to pointcloud2 data. I'm a little confused at how nodelet's and also pointcloud_to_laserscan's work. I found (and attempted to replicate for this application) the turtlebot launch files for use with Kinect (https://kforge.ros.org/turtlebot/turtlebot/file/ee8b48e42178/turtlebot_bringup/kinect.launch) however it's still a little unclear.
The below launch file runs without error, however no laserScan msg is output.
Any advice on which direction to go in next and what might be wrong.
Thanks
↧
I wantna add sonar to move_base
I dont know how to add sonar data to move_base.
I have created map with lidar2D, but 2D Laser navigation is unsatisfactory, I think I should add sonar data to move_base.
but I dont know the best way to do that.
↧
↧
Unknown noise in uwsim 3D range mapping
I am working with UWSim, and I have modelled a rotating multibeam on the AUV (like a lidar on a car) that maps the 3D surroundings of the robot, creating a "range map".
I am facing a type of noise in my range values that I cannot determine (see photo). A part from the seafloor (shown above because I got a mess in the TF tree most probably and I haven't managed to put it below the AUV tf), one can see how sparse voxels are mapped as well.

They appear behind the AUV (where there is nothing), and mapped at many different ranges.
Is the sonar assigning a wrong range to the tail of the AUV because of it being too close maybe?
↧
How to display sonar readings in Rviz
I have a custom robot and have a URDF model of it set up in rviz. I have several Sonars and Sharp IR sensors mounted on it. I'm working my way toward using the navigation tools, how do I show my sensor readings in Rviz? Or am I heading in the wrong direction?
↧
costmap 2d obstacles marking sonar
I have a problem with marking obstacles in rviz. No matter if I get the simulation of Gazebo or the sensor data directly from the robot, no obstacle is marked.
I'm not using a laser scan, just sonar and ir. The data of Sonar and IR are displayed correctly in Rviz, but not marked as an obstacle. For odometry I use the encoders on the wheels. I use the Move_base package and Nav_goal works in Rviz.
costmap common:
map_type: costmap
origin_z: 0.0
z_resolution: 1
z_voxels: 2
footprint: [[ 0.08 ,-0.09],
[-0.14 ,-0.09],
[-0.14 , 0.09],
[ 0.08 , 0.09]]
footprint_padding: 0.1
obstacle_range: 2.5
raytrace_range: 3.5
srf_range_sensor:
topics: ["/SRF/srf_front"]
enable: true
no_readings_timeout: 0.0
clear_threshold: 0.20
mark_threshold: 0.80
clear_on_max_reading: true
ir_range_sensor:
topics: ["/IR/ir_left",
"/IR/ir_right"]
enable: true
no_readings_timeout: 0.0
clear_threshold: 0.20
mark_threshold: 0.80
clear_on_max_reading: true
inflater_layer:
inflation_radius: 1.3
local costmap:
local_costmap:
global_frame: odom
robot_base_frame: base_link
update_frequency: 20.0
publish_frequency: 5.0
width: 10.0
height: 10.0
resolution: 0.05
origin_x: -5.0
origin_y: -5.0
static_map: false
rolling_window: true
plugins:
- {name: srf_range_sensor, type: "range_sensor_layer::RangeSensorLayer"}
- {name: ir_range_sensor, type: "range_sensor_layer::RangeSensorLayer"}
- {name: inflation_layer, type: "costmap_2d::InflationLayer"}
global costmap:
global_costmap:
global_frame: odom
robot_base_frame: base_link
update_frequency: 20.0
publish_frequency: 5.0
width: 40.0
height: 40.0
resolution: 0.05
origin_x: -20.0
origin_y: -20.0
static_map: false
rolling_window: true
plugins:
- {name: srf_range_sensor, type: "range_sensor_layer::RangeSensorLayer"}
- {name: ir_range_sensor, type: "range_sensor_layer::RangeSensorLayer"}
- {name: inflation_layer, type: "costmap_2d::InflationLayer"}
move launch
rviz launch
Thanks for the help
↧
range_sensor_layer not forming cone obstacles
Hi,
I am able to form a costmap using my Lidar data and move_base through the ROS Navigation stack. However when I try to integrate an ultrasonic sensor to the costmap using range_sensor_layer there are **2 problems:**
1. The Lidar is no longer creating obstacles on the local costmap
2. The Ultrasonic sensor is only creating obstacles in line of single pixels in front of the robot (by pixels I mean the smallest unit of map resolution, 0.05m in my case)
Below: local costmap created from lidar, without the range_sensor_layer plugin. Everything working fine

Below: Costmap with range_sensor_layer plugin active. The single dot marked on the costmap is the ultrasonic sensor. The robot is located at the center cross facing right in both these images

I have tried playing with the parameters discussed in range_sensor_layer but this did not help.
Is there some blatant oversight that I'm making?
Below are my config files
**costmap_common_params.yaml**
obstacle_range: 4.0
raytrace_range: 5.0
footprint: [[0.075, 0.235], [0.075,-0.235], [-0.455,-0.235], [-0.455,0.235]]
inflation_radius: 0.55
observation_sources: laser_scan_sensor
laser_scan_sensor: {sensor_frame: /scan, data_type: LaserScan, topic: /scan, marking: true, clearing: true}
sonar:
topics: ['/ultrasonic']
clear_threshold: 0.3
mark_threshold: 0.6
clear_on_max_reading: true
no_readings_timeout: 2.0
plugins:
- {name: sonar, type: "range_sensor_layer::RangeSensorLayer"}
- {name: obstacle_layer, type: "costmap_2d::ObstacleLayer"}
- {name: inflation_layer, type: "costmap_2d::InflationLayer"}
**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: 6.0
height: 6.0
resolution: 0.05
**global_costmap_params.yaml**
global_costmap:
global_frame: /map
robot_base_frame: base_link
update_frequency: 5.0
static_map: false
rolling_window: true
height: 10.0
width: 10.0
resolution: 0.05
And here is my **Ultrasonic message:**

↧
↧
Using Forward Looking and Mechanically Scanned Imaging Sonar for mapping and localization underwater ?
Hello everyone,
I would like to use a Foward Looking and Mechanically Scanned Imaging Sonar for mapping and localization using particle filter, but I could not find any success application using ROS and this technique to achieve it.
I have access to the stereo camera image, but the lighting conditions underwater are unfavorable and because of that the use of Sonar is essential for mapping and localization (particle filter) of the robot.
I can use Point Cloud data to provide input data to my particle filter. Is it possible to transform Sonar data/image in Point Cloud?
If it is not. How can I process the Sonar image for mapping and localization?
Thanks.
Lucas
↧
move_base dies when I publish range data to the range_sensor_layer
I am using a turtlebot3_burger with kinetic and Ubuntu 18.04.2 LTS with melodic on my laptop. I connected two sonic sensors (HC-SR04) to the raspberry and wrote a driver to publish the range data. I can map the space and then use the navigation stack to navigate; however, once I turn on these sonic sensors they kill the move_base. I have published them to an alternative topic to see if the hardware was the problem, and they don't interfere with move_base until I publish the range data to the topics I have listed for the plugin. I have tried to figure out why and I'm just not seeing my error. Can anyone help?
error message (although the log file doesn't actually exist when I try to find it):
[move_base-4] process has died [pid 17199, exit code 127, cmd /opt/ros/melodic/lib/move_base/move_base
[WARN] [1556908330.052460]: Failed to get param: timeout expired │ cmd_vel:=/cmd_vel
odom:=odom __name:=move_base __log:=/home/tyrel/.ros/log/b4efff2c-6dd1-11e9-8231-a0
[INFO] [1556908330.056455]: Setup TF on Odometry [odom] │c5890be7a3/move_base-4.log].
[INFO] [1556908330.060261]: Setup TF on IMU [imu_link] │log file: /home/tyrel/.ros/log/b4efff2c-6dd1-11e9-8231-a0c5890be7a3/move_base-4*.log
the log file doesn't exist:
:~/.ros/log/b4efff2c-6dd1-11e9-8231-a0c5890be7a3$ ls
amcl-3-stdout.log map_server-2-stdout.log master.log robot_state_publisher-1-stdout.log roslaunch-urithiru-17109.log
roslaunch-urithiru-17159.log rosout-1-stdout.log rosout.log rviz-5-stdout.log
costmap_common_params_burger.yaml
1 obstacle_range: 3.0
2 raytrace_range: 3.5
3
4 footprint: [[-0.105, -0.105], [-0.105, 0.105], [0.041, 0.105], [0.041, -0.105]]
5 #robot_radius: 0.105
6
7 inflation_radius: 1.0
8 cost_scaling_factor: 3.0
9
10 max_obstacle_height: 0.6
11 min_obstacle_height: 0.0
12
13 obstacle_layer:
14 observation_sources: scan
15 scan:
16 data_type: LaserScan
17 topic: scan
18 marking: true
19 clearing: true
20 expected_update_rate: 0.0
21 observation_persistence: 0.0
22
23 range_sensor_layer:
24 ns: /sensors/sonar_sensor
25 topics: ["/range_data/front_bumper","/range_data/back_bumper"]
26 no_readings_timeout: 0.0
27 clear_threshold: 1.0
28 mark_threshold: 8.0
29 clear_on_max_reading: true
global_costmap_params.yaml
1 global_costmap:
2 global_frame: map
3 robot_base_frame: base_footprint
4 map_type: costmap
5 static_map: true
6 rolling_window: false
7 resolution: 0.1
8 update_frequency: 2.0
9 publish_frequency: 2.0
10 transform_tolerance: 3.0
11
12 plugins:
13 - {name: static_layer, type: 'costmap_2d::StaticLayer'}
14 - {name: inflation_layer, type: 'costmap_2d::InflationLayer'}
local_costmap_params.yaml
1 local_costmap:
2 global_frame: odom
3 robot_base_frame: base_footprint
4
5 update_frequency: 2.0
6 publish_frequency: 2.0
7 transform_tolerance: 3.0
8
9 static_map: false
10 rolling_window: true
11 width: 3
12 height: 3
13 resolution: 0.05
14
15 plugins:
16 - {name: range_sensor_layer, type: "range_sensor_layer::RangeSensorLayer"}
17 - {name: obstacle_layer, type: "costmap_2d::ObstacleLayer"}
18 - {name: inflation_layer, type: 'costmap_2d::InflationLayer'}
range data publishing driver
sonic_pub = rospy.Publisher('/range_data/%s_bumper' % name, Range, queue_size=50)
data = Range()
data.radiation_type = 0 #ultrasound
data.field_of_view = 0.5
data.min_range = 0.01
data.max_range = 1.0
r = rospy.Rate(1)
try:
while not rospy.is_shutdown():
GPIO.output(t_pin, True)
time.sleep(0.00001)
GPIO.output(t_pin, False)
while GPIO.input(e_pin)==0:
pulse_start=time.time()
while GPIO.input(e_pin)==1:
pulse_end=time.time()
pulse_duration = pulse_end - pulse_start
distance = pulse_duration * 171.5 #speed of sound at sea level is 343m/s
data.header.stamp = rospy.Time.now()
data.header.frame_id = "%s_sonic_bumper" % name
data.range = distance
sonic_pub.publish(data)
r.sleep()
which gives:
header:
seq: 2
stamp:
secs: 1556907493
nsecs: 388175010
frame_id: "front_sonic_bumper"
radiation_type: 0
field_of_view: 0.5
min_range: 0.00999999977648
max_range: 1.0
range: 2.23068761826
---
↧
range_sensor_layer creates a warning "Illegal bounds change, ... The offending layer is local_costmap/inflation_layer"
Hi, I am using ROS navigation stack (move_base) in a custom mobile robot. The robot uses a computer with Ubuntu 18.04.2 LTS and ROS Melodic (1.14.3). I am using a rgbd camera and a ultrasonic sensor.
When I setup to use plugin **range_sensor_layer** a warning appears in navigation launch log.
The warning is **"Illegal bounds change, ... The offending layer is local_costmap/inflation_layer".**
Does anybody know why this warning appears? What means this warning?
**When I disable the range_sensor_layer, the warning disappears.**
The topic that receives the range_sensor data is working good.
global_costmap_params.yaml:
global_costmap:
global_frame: map
robot_base_frame: base_footprint
update_frequency: 0.5
publish_frequency: 0.5
static_map: true
plugins:
- {name: static_layer, type: "costmap_2d::StaticLayer"}
- {name: inflation_layer, type: "costmap_2d::InflationLayer"}
local_costmap_params.yaml:
local_costmap:
global_frame: odom
robot_base_frame: base_footprint
update_frequency: 2.0
publish_frequency: 2.0
static_map: false
rolling_window: true
width: 4.0
height: 4.0
resolution: 0.025
origin_x: -2.0
origin_y: -2.0
plugins:
- {name: obstacle_layer, type: "costmap_2d::VoxelLayer"}
- {name: sonar_layer, type: "range_sensor_layer::RangeSensorLayer"}
- {name: inflation_layer, type: "costmap_2d::InflationLayer"}
costmap_common_params.yaml:
footprint: [[0.095, -0.202], [-0.095, -0.202], [-0.310, -0.165], [-0.310, 0.165], [-0.095, 0.202], [0.095, 0.202]]
footprint_padding: 0.025
#layer definitions
obstacle_layer:
obstacle_range: 3.5
raytrace_range: 4.0
observation_sources: point_cloud_sensor
point_cloud_sensor: {
sensor_frame: camera_link,
data_type: PointCloud2,
topic: openni_points,
expected_update_rate: 0.5,
marking: true,
clearing: true,
min_obstacle_height: 0.0,
max_obstacle_height: 2.0,
origin_z: 0.0,
z_resolution: 0.05,
z_voxels: 40,
publish_voxel_map: true
}
sonar_layer:
ns: /robot/sensor/
topics: ['sonar_forward_left']
inflation_layer:
inflation_radius: 1.20
cost_scaling_factor: 2.58
transform_tolerance: 1
controller_patience: 2.0
NavfnROS:
allow_unknown: true
recovery_behaviors: [
{name: conservative_clear, type: clear_costmap_recovery/ClearCostmapRecovery},
{name: aggressive_clear, type: clear_costmap_recovery/ClearCostmapRecovery}
]
conservative_clear:
reset_distance: 3.00
aggressive_clear:
reset_distance: 5.00
Log of my navigation launch with the warning: (partial)
...
[ INFO] [1560447863.203341245]: Using plugin "static_layer"
[ INFO] [1560447863.210058377]: Requesting the map...
[ INFO] [1560447863.412339590]: Resizing costmap to 279 X 208 at 0.050000 m/pix
[ INFO] [1560447863.512279360]: Received a 279 X 208 map at 0.050000 m/pix
[ INFO] [1560447863.515405260]: Using plugin "inflation_layer"
[ INFO] [1560447863.559205866]: Using plugin "obstacle_layer"
[ INFO] [1560447863.560737803]: Subscribed to Topics: point_cloud_sensor
[ INFO] [1560447863.597831479]: Using plugin "sonar_layer"
[ INFO] [1560447863.601549444]: local_costmap/sonar_layer: ALL as input_sensor_type given
[ INFO] [1560447863.605397302]: RangeSensorLayer: subscribed to topic /robot/sensor/sonar_forward_left
[ INFO] [1560447863.630871186]: Approximate time sync = true
[ INFO] [1560447863.652196595]: Using plugin "inflation_layer"
[ WARN] [1560447863.712530171]: Illegal bounds change, was [tl: (-179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000, -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000), br: (179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000, 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000)], but is now [tl: (-340282346638528859811704183484516925440.000000, -340282346638528859811704183484516925440.000000), br: (340282346638528859811704183484516925440.000000, 340282346638528859811704183484516925440.000000)]. The offending layer is local_costmap/inflation_layer
[ INFO] [1560447863.724870485]: Created local_planner base_local_planner/TrajectoryPlannerROS
[ INFO] [1560447863.736285311]: Sim period is set to 0.20
...
I can navigate with the robot regardless of the warning message.
But **when I comment the line of range_sensor_layer plugin in local_costmap_params.yaml, the warning is not shown.**
local_costmap_params.yaml (with no warning):
...
plugins:
- {name: obstacle_layer, type: "costmap_2d::VoxelLayer"}
#- {name: sonar_layer, type: "range_sensor_layer::RangeSensorLayer"}
- {name: inflation_layer, type: "costmap_2d::InflationLayer"}
↧
Error with range_sensor_layer. move_base node dies when a sensor_msgs/Range is published
Hi, I am trying to setup a **range_sensor_layer** to use an **ultrasonic sensor on the navigation stack**. I am using move_base in a custom mobile robot. The robot uses a computer with Ubuntu 18.04.2 LTS and ROS Melodic (1.14.3). I am using one RGB-D camera and an ultrasonic sensor.
First I launch the navigation **without publishing sensor_msgs/Range on its topic**. Then I can navigate without the ultrasonic data. **When I launch the node that publishes the Range data, the move_base node dies.**
Can anybody help me to configure correctly the range_sensor_layer?
Following are my configuration files:
global_costmap_params.yaml
global_costmap:
global_frame: map
robot_base_frame: base_footprint
update_frequency: 0.5
publish_frequency: 0.5
static_map: true
plugins:
- {name: static_layer, type: "costmap_2d::StaticLayer"}
- {name: inflation_layer, type: "costmap_2d::InflationLayer"}
local_costmap_param.yaml
local_costmap:
global_frame: odom
robot_base_frame: base_footprint
update_frequency: 2.0
publish_frequency: 2.0
static_map: false
rolling_window: true
width: 4.0
height: 4.0
resolution: 0.025
origin_x: -2.0
origin_y: -2.0
plugins:
- {name: obstacle_layer, type: "costmap_2d::VoxelLayer"}
- {name: sonar_layer, type: "range_sensor_layer::RangeSensorLayer"}
- {name: inflation_layer, type: "costmap_2d::InflationLayer"}
costmap_common_params.yaml
footprint: [[0.095, -0.202], [-0.095, -0.202], [-0.310, -0.165], [-0.310, 0.165], [-0.095, 0.202], [0.095, 0.202]]
footprint_padding: 0.025
#layer definitions
obstacle_layer:
obstacle_range: 3.5
raytrace_range: 4.0
observation_sources: point_cloud_sensor
point_cloud_sensor: {
sensor_frame: camera_link,
data_type: PointCloud2,
topic: openni_points,
expected_update_rate: 0.5,
marking: true,
clearing: true,
min_obstacle_height: 0.0,
max_obstacle_height: 2.0,
origin_z: 0.0,
z_resolution: 0.05,
z_voxels: 40,
publish_voxel_map: true
}
sonar_layer:
ns: /robot/sensor/
topics: ['sonar_forward_left']
inflation_layer:
inflation_radius: 1.20
cost_scaling_factor: 2.58
transform_tolerance: 1
controller_patience: 2.0
NavfnROS:
allow_unknown: true
recovery_behaviors: [
{name: conservative_clear, type: clear_costmap_recovery/ClearCostmapRecovery},
{name: aggressive_clear, type: clear_costmap_recovery/ClearCostmapRecovery}
]
conservative_clear:
reset_distance: 3.00
aggressive_clear:
reset_distance: 5.00
The navigation launch log (working good) without publishing on sensor_msgs/Range Topic:
...
[ INFO] [1560451022.672595882]: Using plugin "static_layer"
[ INFO] [1560451022.678838847]: Requesting the map...
[ INFO] [1560451022.881123086]: Resizing costmap to 279 X 208 at 0.050000 m/pix
[ INFO] [1560451022.981045216]: Received a 279 X 208 map at 0.050000 m/pix
[ INFO] [1560451022.983909307]: Using plugin "inflation_layer"
[ INFO] [1560451023.023428562]: Using plugin "obstacle_layer"
[ INFO] [1560451023.024910763]: Subscribed to Topics: point_cloud_sensor
[ INFO] [1560451023.049016230]: Using plugin "sonar_layer"
[ INFO] [1560451023.051504866]: local_costmap/sonar_layer: ALL as input_sensor_type given
[ INFO] [1560451023.053644089]: RangeSensorLayer: subscribed to topic /robot/sensor/sonar_forward_left
[ INFO] [1560451023.065115576]: Using plugin "inflation_layer"
[ INFO] [1560451023.111015732]: Created local_planner base_local_planner/TrajectoryPlannerROS
[ INFO] [1560451023.126600417]: Sim period is set to 0.20
[ INFO] [1560451023.254282343]: Approximate time sync = true
[ERROR] [1560451023.620386435]: obstacles_detection: Parameter "min_cluster_size" has moved from rtabmap_ros to rtabmap library. Use parameter "Grid/MinClusterSize" instead. The value is still copied to new parameter name.
[ERROR] [1560451023.621727209]: obstacles_detection: Parameter "max_obstacles_height" has moved from rtabmap_ros to rtabmap library. Use parameter "Grid/MaxObstacleHeight" instead. The value is still copied to new parameter name.
[ WARN] [1560451025.131534696]: The openni_points observation buffer has not been updated for 2.10 seconds, and it should be updated every 0.50 seconds.
[ WARN] [1560451025.131593002]: The openni_points observation buffer has not been updated for 2.10 seconds, and it should be updated every 0.50 seconds.
[ WARN] [1560451025.131736352]: Illegal bounds change, was [tl: (-179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000, -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000), br: (179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000, 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000)], but is now [tl: (-340282346638528859811704183484516925440.000000, -340282346638528859811704183484516925440.000000), br: (340282346638528859811704183484516925440.000000, 340282346638528859811704183484516925440.000000)]. The offending layer is local_costmap/inflation_layer
[ INFO] [1560451025.203243618]: Recovery behavior will clear layer obstacles
[ INFO] [1560451025.236163764]: Recovery behavior will clear layer obstacles
[ INFO] [1560451025.266917270]: odom received!
[ WARN] [1560451109.575399918]: Messages of type 2 arrived out of order (will print only once)
[ WARN] [1560451109.576543482]: Messages of type 0 arrived out of order (will print only once)
Then, when I launch the node that publishes the ultrasonic sensor data on a sensor_msgs/Range Topic, the move_base dies on the same time.
Here is the log:
...
[ WARN] [1560451109.575399918]: Messages of type 2 arrived out of order (will print only once)
[ WARN] [1560451109.576543482]: Messages of type 0 arrived out of order (will print only once)
/opt/ros/melodic/lib/move_base/move_base: symbol lookup error: /opt/ros/melodic/lib//librange_sensor_layer.so: undefined symbol: _ZN3tf212getTimestampIN13geometry_msgs13PointStamped_ISaIvEEEEERKN3ros4TimeERKT_
[planner/move_base-1] process has died [pid 14104, exit code 127, cmd /opt/ros/melodic/lib/move_base/move_base openni_points:=/planner_cloud map:=/rtabmap/grid_map move_base_simple/goal:=/move_base_simple/goal cmd_vel:=/cmd_vel odom:=/rtabmap/odom __name:=move_base __log:=/home/nuc/.ros/log/22d3e9aa-8dfc-11e9-9c26-a11a53c44629/planner-move_base-1.log].
log file: /home/nuc/.ros/log/22d3e9aa-8dfc-11e9-9c26-a11a53c44629/planner-move_base-1*.log
**I could not find the log file of this error.**
The range sensor is working.
rostopic echo /robot/sensor/sonar_forward_left
...
header:
seq: 34
stamp:
secs: 1560451337
nsecs: 80173661
frame_id: "sonar_forward_left"
radiation_type: 0
field_of_view: 0.457276314497
min_range: 0.0399999991059
max_range: 4.0
range: 1.55999994278
---
...
↧
↧