ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Hi, yesterday I was able to run tf with proper namespace. Taking into account your notes, I can not see any published message about tf. It seems could be related to robot description, in the main file I have:
<param name="robot_description"
command="$(find xacro)/xacro.py $(find turtlebot_description)/urdf/turtlebot.urdf.xacro" />
I also tried with /robot_description but nothing... I will try to compare the configurations more carefully and I will come back but if you see something wrong, please let me know.
2 | No.2 Revision |
Hi, yesterday I was able to run tf with proper namespace. Taking into account your notes, I can not see any published message about tf. It seems could be related to robot description, in the main file I have:
<param name="robot_description"
command="$(find xacro)/xacro.py $(find turtlebot_description)/urdf/turtlebot.urdf.xacro" />
I also tried with /robot_description but nothing... I will try to compare the configurations more carefully and I will come back but if you see something wrong, please let me know.
I am updating this post as soon as I observe new things: currently I can not even see any data in the Robot1/joint_states
3 | No.3 Revision |
Hi, yesterday I was able to run tf with proper namespace. Taking into account your notes, I can not see any published message about tf. It seems could be related to robot description, in the main file I have:
<param name="robot_description"
command="$(find xacro)/xacro.py $(find turtlebot_description)/urdf/turtlebot.urdf.xacro" />
I also tried with /robot_description but nothing... I will try to compare the configurations more carefully and I will come back but if you see something wrong, please let me know.
I am updating this post as soon as I observe new things: currently I can not even see any data neither in the Robot1/joint_states Robot1/joint_states nor /joint_states
4 | No.4 Revision |
Hi, yesterday I was able to run tf with proper namespace. Taking into account WRT your notes, I can not see any published message about tf. It seems could be related got stuck since I didn't get neither /Robot1/joint_states nor /Robot2/joint_states, I had to robot description, in add the main file I have:option -unpause like the following:
<param name="robot_description"
<node name="spawn_minibot_model" pkg="gazebo" type="spawn_model"
command="$(find xacro)/xacro.py $(find turtlebot_description)/urdf/turtlebot.urdf.xacro" args="$(arg init_pose) -urdf -unpause -param /robot_description -model $(arg robot_name)"
respawn="false" output="screen" />
I also tried with /robot_description but nothing... I will try to compare the configurations more carefully and I will come back but if you see something wrong, please let me know.
I am updating this post as soon as I observe new things: currently I can not even see any data neither in Robot1/joint_states nor /joint_states
5 | No.5 Revision |
WRT your notes, I got stuck since I didn't get neither /Robot1/joint_states nor /Robot2/joint_states, I had to add the option -unpause like the following:
<node name="spawn_minibot_model" pkg="gazebo" type="spawn_model"
args="$(arg init_pose) -urdf -unpause -param /robot_description -model $(arg robot_name)"
respawn="false" output="screen" />
6 | No.6 Revision |
WRT your notes, I got stuck since I didn't get neither /Robot1/joint_states nor /Robot2/joint_states, I had to add the option -unpause like the following:
<node name="spawn_minibot_model" pkg="gazebo" type="spawn_model"
args="$(arg init_pose) -urdf -unpause -param /robot_description -model $(arg robot_name)"
respawn="false" output="screen" />
I am almost done, but I have a problem with the map, following your notes I have. I guess there is still a problem with namespace, in particular It asks for /base/link but it shouldn't,
[ WARN] [1345042406.057976802, 32.122000000]: You have set map parameters, but also requested to use the static map. Your parameters will be overwritten by those given by the map server
[ INFO] [1345042406.058039834, 32.122000000]: Received a 640 X 544 map at 0.050000 m/pix
[ WARN] [1345042411.112545628, 37.177000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042416.151239313, 42.215000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042421.160855380, 47.224000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042426.241246711, 52.305000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
7 | No.7 Revision |
WRT your notes, I got stuck since I didn't get neither /Robot1/joint_states nor /Robot2/joint_states, I had to add the option -unpause like the following:
<node name="spawn_minibot_model" pkg="gazebo" type="spawn_model"
args="$(arg init_pose) -urdf -unpause -param /robot_description -model $(arg robot_name)"
respawn="false" output="screen" />
I am almost done, but I have a problem with the map, following your notes I have. I guess there is still a problem with namespace, in particular It asks for /base/link but it shouldn't,
[ WARN] [1345042406.057976802, 32.122000000]: You have set map parameters, but also requested to use the static map. Your parameters will be overwritten by those given by the map server
[ INFO] [1345042406.058039834, 32.122000000]: Received a 640 X 544 map at 0.050000 m/pix
[ WARN] [1345042411.112545628, 37.177000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042416.151239313, 42.215000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042421.160855380, 47.224000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042426.241246711, 52.305000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
8 | No.8 Revision |
WRT your notes, I got stuck since I didn't get neither /Robot1/joint_states nor /Robot2/joint_states, I had to add the option -unpause like the following:
<node name="spawn_minibot_model" pkg="gazebo" type="spawn_model"
args="$(arg init_pose) -urdf -unpause -param /robot_description -model $(arg robot_name)"
respawn="false" output="screen" />
I am almost done, but I have a problem with the map, following your notes I have. I guess there is still a problem with namespace, in particular It asks for /base/link but it shouldn't,
[ WARN] [1345042406.057976802, 32.122000000]: You have set map parameters, but also requested to use the static map. Your parameters will be overwritten by those given by the map server
[ INFO] [1345042406.058039834, 32.122000000]: Received a 640 X 544 map at 0.050000 m/pix
[ WARN] [1345042411.112545628, 37.177000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042416.151239313, 42.215000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042421.160855380, 47.224000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042426.241246711, 52.305000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
THE AMCL FILE IS LIKE THIS:
<launch>
<arg name="use_map_topic" default="true"/>
<arg name="scan_topic" default="narrow_scan" />
<node pkg="amcl" type="amcl" name="amcl">
<param name="use_map_topic" value="$(arg use_map_topic)"/>
<!-- Publish scans from best pose at a max of 10 Hz -->
<param name="odom_model_type" value="diff"/>
<param name="odom_alpha5" value="0.1"/>
<param name="gui_publish_rate" value="10.0"/>
<param name="laser_max_beams" value="60"/>
<param name="laser_max_range" value="12.0"/>
<param name="min_particles" value="500"/>
<param name="max_particles" value="2000"/>
<param name="kld_err" value="0.05"/>
<param name="kld_z" value="0.99"/>
<param name="odom_alpha1" value="0.2"/>
<param name="odom_alpha2" value="0.2"/>
<!-- translation std dev, m -->
<param name="odom_alpha3" value="0.2"/>
<param name="odom_alpha4" value="0.2"/>
<param name="laser_z_hit" value="0.5"/>
<param name="laser_z_short" value="0.05"/>
<param name="laser_z_max" value="0.05"/>
<param name="laser_z_rand" value="0.5"/>
<param name="laser_sigma_hit" value="0.2"/>
<param name="laser_lambda_short" value="0.1"/>
<param name="laser_model_type" value="likelihood_field"/>
<!-- <param name="laser_model_type" value="beam"/> -->
<param name="laser_likelihood_max_dist" value="2.0"/>
<param name="update_min_d" value="0.25"/>
<param name="update_min_a" value="0.2"/>
<param name="odom_frame_id" value="odom"/>
<param name="resample_interval" value="1"/>
<!-- Increase tolerance because the computer can get quite busy -->
<param name="transform_tolerance" value="1.0"/>
<param name="recovery_alpha_slow" value="0.0"/>
<param name="recovery_alpha_fast" value="0.0"/>
<remap from="scan" to="$(arg scan_topic)"/>
</node>
</launch>
9 | No.9 Revision |
WRT your notes, I got stuck since I didn't get neither /Robot1/joint_states nor /Robot2/joint_states, I had to add the option -unpause like the following:
<node name="spawn_minibot_model" pkg="gazebo" type="spawn_model"
args="$(arg init_pose) -urdf -unpause -param /robot_description -model $(arg robot_name)"
respawn="false" output="screen" />
I am almost done, but I have a problem with the map, following your notes I have. I guess there is still a problem with namespace, in particular It asks for /base/link but it shouldn't,
[ WARN] [1345042406.057976802, 32.122000000]: You have set map parameters, but also requested to use the static map. Your parameters will be overwritten by those given by the map server
[ INFO] [1345042406.058039834, 32.122000000]: Received a 640 X 544 map at 0.050000 m/pix
[ WARN] [1345042411.112545628, 37.177000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042416.151239313, 42.215000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042421.160855380, 47.224000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042426.241246711, 52.305000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
THE AMCL FILE IS LIKE THIS:THIS (I have tried both setting use_map_topic either to true or false but doesn't work):
<launch>
<arg name="use_map_topic" default="true"/>
<arg name="scan_topic" default="narrow_scan" />
<node pkg="amcl" type="amcl" name="amcl">
<param name="use_map_topic" value="$(arg use_map_topic)"/>
<!-- Publish scans from best pose at a max of 10 Hz -->
<param name="odom_model_type" value="diff"/>
<param name="odom_alpha5" value="0.1"/>
<param name="gui_publish_rate" value="10.0"/>
<param name="laser_max_beams" value="60"/>
<param name="laser_max_range" value="12.0"/>
<param name="min_particles" value="500"/>
<param name="max_particles" value="2000"/>
<param name="kld_err" value="0.05"/>
<param name="kld_z" value="0.99"/>
<param name="odom_alpha1" value="0.2"/>
<param name="odom_alpha2" value="0.2"/>
<!-- translation std dev, m -->
<param name="odom_alpha3" value="0.2"/>
<param name="odom_alpha4" value="0.2"/>
<param name="laser_z_hit" value="0.5"/>
<param name="laser_z_short" value="0.05"/>
<param name="laser_z_max" value="0.05"/>
<param name="laser_z_rand" value="0.5"/>
<param name="laser_sigma_hit" value="0.2"/>
<param name="laser_lambda_short" value="0.1"/>
<param name="laser_model_type" value="likelihood_field"/>
<!-- <param name="laser_model_type" value="beam"/> -->
<param name="laser_likelihood_max_dist" value="2.0"/>
<param name="update_min_d" value="0.25"/>
<param name="update_min_a" value="0.2"/>
<param name="odom_frame_id" value="odom"/>
<param name="resample_interval" value="1"/>
<!-- Increase tolerance because the computer can get quite busy -->
<param name="transform_tolerance" value="1.0"/>
<param name="recovery_alpha_slow" value="0.0"/>
<param name="recovery_alpha_fast" value="0.0"/>
<remap from="scan" to="$(arg scan_topic)"/>
</node>
</launch>
10 | No.10 Revision |
WRT your notes, I got stuck since I didn't get neither /Robot1/joint_states nor /Robot2/joint_states, I had to add the option -unpause like the following:
<node name="spawn_minibot_model" pkg="gazebo" type="spawn_model"
args="$(arg init_pose) -urdf -unpause -param /robot_description -model $(arg robot_name)"
respawn="false" output="screen" />
I am almost done, but I have a problem with the map, following your notes I have. I guess there is still a problem with namespace, in particular It asks for /base/link but it shouldn't,
[ WARN] [1345042406.057976802, 32.122000000]: You have set map parameters, but also requested to use the static map. Your parameters will be overwritten by those given by the map server
[ INFO] [1345042406.058039834, 32.122000000]: Received a 640 X 544 map at 0.050000 m/pix
[ WARN] [1345042411.112545628, 37.177000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042416.151239313, 42.215000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042421.160855380, 47.224000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042426.241246711, 52.305000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
THE AMCL FILE IS LIKE THIS (I have tried both setting use_map_topic either to true or false but doesn't work):work. If true, I have also tried to add the line <remap from="map" to="/map"/> but nothing):
<launch>
<arg name="use_map_topic" default="true"/>
<arg name="scan_topic" default="narrow_scan" />
<node pkg="amcl" type="amcl" name="amcl">
<param name="use_map_topic" value="$(arg use_map_topic)"/>
<!-- Publish scans from best pose at a max of 10 Hz -->
<param name="odom_model_type" value="diff"/>
<param name="odom_alpha5" value="0.1"/>
<param name="gui_publish_rate" value="10.0"/>
<param name="laser_max_beams" value="60"/>
<param name="laser_max_range" value="12.0"/>
<param name="min_particles" value="500"/>
<param name="max_particles" value="2000"/>
<param name="kld_err" value="0.05"/>
<param name="kld_z" value="0.99"/>
<param name="odom_alpha1" value="0.2"/>
<param name="odom_alpha2" value="0.2"/>
<!-- translation std dev, m -->
<param name="odom_alpha3" value="0.2"/>
<param name="odom_alpha4" value="0.2"/>
<param name="laser_z_hit" value="0.5"/>
<param name="laser_z_short" value="0.05"/>
<param name="laser_z_max" value="0.05"/>
<param name="laser_z_rand" value="0.5"/>
<param name="laser_sigma_hit" value="0.2"/>
<param name="laser_lambda_short" value="0.1"/>
<param name="laser_model_type" value="likelihood_field"/>
<!-- <param name="laser_model_type" value="beam"/> -->
<param name="laser_likelihood_max_dist" value="2.0"/>
<param name="update_min_d" value="0.25"/>
<param name="update_min_a" value="0.2"/>
<param name="odom_frame_id" value="odom"/>
<param name="resample_interval" value="1"/>
<!-- Increase tolerance because the computer can get quite busy -->
<param name="transform_tolerance" value="1.0"/>
<param name="recovery_alpha_slow" value="0.0"/>
<param name="recovery_alpha_fast" value="0.0"/>
<remap from="scan" to="$(arg scan_topic)"/>
</node>
</launch>
11 | No.11 Revision |
WRT your notes, I got stuck since I didn't get neither /Robot1/joint_states nor /Robot2/joint_states, I had to add the option -unpause like the following:
<node name="spawn_minibot_model" pkg="gazebo" type="spawn_model"
args="$(arg init_pose) -urdf -unpause -param /robot_description -model $(arg robot_name)"
respawn="false" output="screen" />
I am almost done, but I have a problem with the map, following your notes I have. I guess there is still a problem with namespace, in particular It asks for /base/link but it shouldn't,
[ WARN] [1345042406.057976802, 32.122000000]: You have set map parameters, but also requested to use the static map. Your parameters will be overwritten by those given by the map server
[ INFO] [1345042406.058039834, 32.122000000]: Received a 640 X 544 map at 0.050000 m/pix
[ WARN] [1345042411.112545628, 37.177000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042416.151239313, 42.215000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042421.160855380, 47.224000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042426.241246711, 52.305000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
THE AMCL FILE IS LIKE THIS (I have tried both setting use_map_topic either to true or false but doesn't work. If true, I have also tried to add the line <remap from="map" to="/map"/> but nothing):
<launch>
<arg name="use_map_topic" default="true"/>
<arg name="scan_topic" default="narrow_scan" />
<node pkg="amcl" type="amcl" name="amcl">
<param name="use_map_topic" value="$(arg use_map_topic)"/>
<!-- Publish scans from best pose at a max of 10 Hz -->
<param name="odom_model_type" value="diff"/>
<param name="odom_alpha5" value="0.1"/>
<param name="gui_publish_rate" value="10.0"/>
<param name="laser_max_beams" value="60"/>
<param name="laser_max_range" value="12.0"/>
<param name="min_particles" value="500"/>
<param name="max_particles" value="2000"/>
<param name="kld_err" value="0.05"/>
<param name="kld_z" value="0.99"/>
<param name="odom_alpha1" value="0.2"/>
<param name="odom_alpha2" value="0.2"/>
<!-- translation std dev, m -->
<param name="odom_alpha3" value="0.2"/>
<param name="odom_alpha4" value="0.2"/>
<param name="laser_z_hit" value="0.5"/>
<param name="laser_z_short" value="0.05"/>
<param name="laser_z_max" value="0.05"/>
<param name="laser_z_rand" value="0.5"/>
<param name="laser_sigma_hit" value="0.2"/>
<param name="laser_lambda_short" value="0.1"/>
<param name="laser_model_type" value="likelihood_field"/>
<!-- <param name="laser_model_type" value="beam"/> -->
<param name="laser_likelihood_max_dist" value="2.0"/>
<param name="update_min_d" value="0.25"/>
<param name="update_min_a" value="0.2"/>
<param name="odom_frame_id" value="odom"/>
<param name="resample_interval" value="1"/>
<!-- Increase tolerance because the computer can get quite busy -->
<param name="transform_tolerance" value="1.0"/>
<param name="recovery_alpha_slow" value="0.0"/>
<param name="recovery_alpha_fast" value="0.0"/>
<remap from="scan" to="$(arg scan_topic)"/>
</node>
</launch>
THIS IS POSE_ROBOT_EKF
<node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf" >
<param name="freq" value="30.0"/>
<param name="sensor_timeout" value="1.0"/>
<param name="publish_tf" value="true"/>
<param name="odom_used" value="true"/>
<param name="imu_used" value="false"/>
<param name="vo_used" value="false"/>
<param name="output_frame" value="odom"/>
<param name="output_frame" value="odom" />
</node>
12 | No.12 Revision |
WRT your notes, I got stuck since I didn't get neither /Robot1/joint_states nor /Robot2/joint_states, I had to add the option -unpause like the following:
<node name="spawn_minibot_model" pkg="gazebo" type="spawn_model"
args="$(arg init_pose) -urdf -unpause -param /robot_description -model $(arg robot_name)"
respawn="false" output="screen" />
I am almost done, but I have a problem with the map, following your notes I have. I guess there is still a problem with namespace, in particular It asks for /base/link but it shouldn't,
[ WARN] [1345042406.057976802, 32.122000000]: You have set map parameters, but also requested to use the static map. Your parameters will be overwritten by those given by the map server
[ INFO] [1345042406.058039834, 32.122000000]: Received a 640 X 544 map at 0.050000 m/pix
[ WARN] [1345042411.112545628, 37.177000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042416.151239313, 42.215000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042421.160855380, 47.224000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042426.241246711, 52.305000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
THE AMCL FILE IS LIKE THIS (I have tried both setting use_map_topic either to true or false but doesn't work. If true, I have also tried to add the line <remap from="map" to="/map"/> but nothing):
<launch>
<arg name="use_map_topic" default="true"/>
<arg name="scan_topic" default="narrow_scan" />
<node pkg="amcl" type="amcl" name="amcl">
<param name="use_map_topic" value="$(arg use_map_topic)"/>
<!-- Publish scans from best pose at a max of 10 Hz -->
<param name="odom_model_type" value="diff"/>
<param name="odom_alpha5" value="0.1"/>
<param name="gui_publish_rate" value="10.0"/>
<param name="laser_max_beams" value="60"/>
<param name="laser_max_range" value="12.0"/>
<param name="min_particles" value="500"/>
<param name="max_particles" value="2000"/>
<param name="kld_err" value="0.05"/>
<param name="kld_z" value="0.99"/>
<param name="odom_alpha1" value="0.2"/>
<param name="odom_alpha2" value="0.2"/>
<!-- translation std dev, m -->
<param name="odom_alpha3" value="0.2"/>
<param name="odom_alpha4" value="0.2"/>
<param name="laser_z_hit" value="0.5"/>
<param name="laser_z_short" value="0.05"/>
<param name="laser_z_max" value="0.05"/>
<param name="laser_z_rand" value="0.5"/>
<param name="laser_sigma_hit" value="0.2"/>
<param name="laser_lambda_short" value="0.1"/>
<param name="laser_model_type" value="likelihood_field"/>
<!-- <param name="laser_model_type" value="beam"/> -->
<param name="laser_likelihood_max_dist" value="2.0"/>
<param name="update_min_d" value="0.25"/>
<param name="update_min_a" value="0.2"/>
<param name="odom_frame_id" value="odom"/>
<param name="resample_interval" value="1"/>
<!-- Increase tolerance because the computer can get quite busy -->
<param name="transform_tolerance" value="1.0"/>
<param name="recovery_alpha_slow" value="0.0"/>
<param name="recovery_alpha_fast" value="0.0"/>
<remap from="scan" to="$(arg scan_topic)"/>
</node>
</launch>
THIS IS POSE_ROBOT_EKF
<node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf" >
<param name="freq" value="30.0"/>
<param name="sensor_timeout" value="1.0"/>
<param name="publish_tf" value="true"/>
<param name="odom_used" value="true"/>
<param name="imu_used" value="false"/>
<param name="vo_used" value="false"/>
<param name="output_frame" value="odom"/>
<param name="output_frame" value="odom" />
</node>
move_base.cpp lines related to global_map:
Added lines related to global (starting from line 63):
std::string global_planner, local_planner; private_nh.param("base_global_planner", global_planner, std::string("navfn/NavfnROS")); private_nh.param("base_local_planner", local_planner, std::string("base_local_planner/TrajectoryPlannerROS")); private_nh.param("global_costmap/robot_base_frame", robot_base_frame_, std::string("base_link")); private_nh.param("global_costmap/global_frame", global_frame_, std::string("/map")); private_nh.param("planner_frequency", planner_frequency_, 0.0); private_nh.param("controller_frequency", controller_frequency_, 20.0); private_nh.param("planner_patience", planner_patience_, 5.0); private_nh.param("controller_patience", controller_patience_, 15.0);
13 | No.13 Revision |
WRT your notes, I got stuck since I didn't get neither /Robot1/joint_states nor /Robot2/joint_states, I had to add the option -unpause like the following:
<node name="spawn_minibot_model" pkg="gazebo" type="spawn_model"
args="$(arg init_pose) -urdf -unpause -param /robot_description -model $(arg robot_name)"
respawn="false" output="screen" />
I am almost done, but I have a problem with the map, following your notes I have. I guess there is still a problem with namespace, in particular It asks for /base/link but it shouldn't,
[ WARN] [1345042406.057976802, 32.122000000]: You have set map parameters, but also requested to use the static map. Your parameters will be overwritten by those given by the map server
[ INFO] [1345042406.058039834, 32.122000000]: Received a 640 X 544 map at 0.050000 m/pix
[ WARN] [1345042411.112545628, 37.177000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042416.151239313, 42.215000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042421.160855380, 47.224000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042426.241246711, 52.305000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
THE AMCL FILE IS LIKE THIS (I have tried both setting use_map_topic either to true or false but doesn't work. If true, I have also tried to add the line <remap from="map" to="/map"/> but nothing):
<launch>
<arg name="use_map_topic" default="true"/>
<arg name="scan_topic" default="narrow_scan" />
<node pkg="amcl" type="amcl" name="amcl">
<param name="use_map_topic" value="$(arg use_map_topic)"/>
<!-- Publish scans from best pose at a max of 10 Hz -->
<param name="odom_model_type" value="diff"/>
<param name="odom_alpha5" value="0.1"/>
<param name="gui_publish_rate" value="10.0"/>
<param name="laser_max_beams" value="60"/>
<param name="laser_max_range" value="12.0"/>
<param name="min_particles" value="500"/>
<param name="max_particles" value="2000"/>
<param name="kld_err" value="0.05"/>
<param name="kld_z" value="0.99"/>
<param name="odom_alpha1" value="0.2"/>
<param name="odom_alpha2" value="0.2"/>
<!-- translation std dev, m -->
<param name="odom_alpha3" value="0.2"/>
<param name="odom_alpha4" value="0.2"/>
<param name="laser_z_hit" value="0.5"/>
<param name="laser_z_short" value="0.05"/>
<param name="laser_z_max" value="0.05"/>
<param name="laser_z_rand" value="0.5"/>
<param name="laser_sigma_hit" value="0.2"/>
<param name="laser_lambda_short" value="0.1"/>
<param name="laser_model_type" value="likelihood_field"/>
<!-- <param name="laser_model_type" value="beam"/> -->
<param name="laser_likelihood_max_dist" value="2.0"/>
<param name="update_min_d" value="0.25"/>
<param name="update_min_a" value="0.2"/>
<param name="odom_frame_id" value="odom"/>
<param name="resample_interval" value="1"/>
<!-- Increase tolerance because the computer can get quite busy -->
<param name="transform_tolerance" value="1.0"/>
<param name="recovery_alpha_slow" value="0.0"/>
<param name="recovery_alpha_fast" value="0.0"/>
<remap from="scan" to="$(arg scan_topic)"/>
</node>
</launch>
THIS IS POSE_ROBOT_EKF
<node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf" >
<param name="freq" value="30.0"/>
<param name="sensor_timeout" value="1.0"/>
<param name="publish_tf" value="true"/>
<param name="odom_used" value="true"/>
<param name="imu_used" value="false"/>
<param name="vo_used" value="false"/>
<param name="output_frame" value="odom"/>
<param name="output_frame" value="odom" />
</node>
move_base.cpp lines related to global_map:
Added lines related to global (starting from line 63):
std::string global_planner, local_planner; private_nh.param("base_global_planner", global_planner, std::string("navfn/NavfnROS")); private_nh.param("base_local_planner", local_planner, std::string("base_local_planner/TrajectoryPlannerROS")); private_nh.param("global_costmap/robot_base_frame", robot_base_frame_, std::string("base_link")); private_nh.param("global_costmap/global_frame", global_frame_, std::string("/map")); private_nh.param("planner_frequency", planner_frequency_, 0.0); private_nh.param("controller_frequency", controller_frequency_, 20.0); private_nh.param("planner_patience", planner_patience_, 5.0); private_nh.param("controller_patience", controller_patience_, 15.0);
local_map.yaml FILE:
local_costmap:
global_frame: /odom
robot_base_frame: /base_link
update_frequency: 5.0
publish_frequency: 5.0
static_map: false
rolling_window: true
width: 4.0
height: 4.0
resolution: 0.1
transform_tolerance: 0.5
14 | No.14 Revision |
WRT your notes, I got stuck since I didn't get neither /Robot1/joint_states nor /Robot2/joint_states, I had to add the option -unpause like the following:
<node name="spawn_minibot_model" pkg="gazebo" type="spawn_model"
args="$(arg init_pose) -urdf -unpause -param /robot_description -model $(arg robot_name)"
respawn="false" output="screen" />
I am almost done, but I have a problem with the map, following your notes I have. I guess there is still a problem with namespace, in particular It asks for /base/link but it shouldn't,
[ WARN] [1345042406.057976802, 32.122000000]: You have set map parameters, but also requested to use the static map. Your parameters will be overwritten by those given by the map server
[ INFO] [1345042406.058039834, 32.122000000]: Received a 640 X 544 map at 0.050000 m/pix
[ WARN] [1345042411.112545628, 37.177000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042416.151239313, 42.215000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042421.160855380, 47.224000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042426.241246711, 52.305000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
THE AMCL FILE IS LIKE THIS (I have tried both setting use_map_topic either to true or false but doesn't work. If true, I have also tried to add the line <remap from="map" to="/map"/> but nothing):
<launch>
<arg name="use_map_topic" default="true"/>
<arg name="scan_topic" default="narrow_scan" />
<node pkg="amcl" type="amcl" name="amcl">
<param name="use_map_topic" value="$(arg use_map_topic)"/>
<!-- Publish scans from best pose at a max of 10 Hz -->
<param name="odom_model_type" value="diff"/>
<param name="odom_alpha5" value="0.1"/>
<param name="gui_publish_rate" value="10.0"/>
<param name="laser_max_beams" value="60"/>
<param name="laser_max_range" value="12.0"/>
<param name="min_particles" value="500"/>
<param name="max_particles" value="2000"/>
<param name="kld_err" value="0.05"/>
<param name="kld_z" value="0.99"/>
<param name="odom_alpha1" value="0.2"/>
<param name="odom_alpha2" value="0.2"/>
<!-- translation std dev, m -->
<param name="odom_alpha3" value="0.2"/>
<param name="odom_alpha4" value="0.2"/>
<param name="laser_z_hit" value="0.5"/>
<param name="laser_z_short" value="0.05"/>
<param name="laser_z_max" value="0.05"/>
<param name="laser_z_rand" value="0.5"/>
<param name="laser_sigma_hit" value="0.2"/>
<param name="laser_lambda_short" value="0.1"/>
<param name="laser_model_type" value="likelihood_field"/>
<!-- <param name="laser_model_type" value="beam"/> -->
<param name="laser_likelihood_max_dist" value="2.0"/>
<param name="update_min_d" value="0.25"/>
<param name="update_min_a" value="0.2"/>
<param name="odom_frame_id" value="odom"/>
<param name="resample_interval" value="1"/>
<!-- Increase tolerance because the computer can get quite busy -->
<param name="transform_tolerance" value="1.0"/>
<param name="recovery_alpha_slow" value="0.0"/>
<param name="recovery_alpha_fast" value="0.0"/>
<remap from="scan" to="$(arg scan_topic)"/>
</node>
</launch>
THIS IS POSE_ROBOT_EKF
<node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf" >
<param name="freq" value="30.0"/>
<param name="sensor_timeout" value="1.0"/>
<param name="publish_tf" value="true"/>
<param name="odom_used" value="true"/>
<param name="imu_used" value="false"/>
<param name="vo_used" value="false"/>
<param name="output_frame" value="odom"/>
<param name="output_frame" value="odom" />
</node>
move_base.cpp lines related to global_map:
Added lines related to global (starting from line 63):
std::string global_planner, local_planner; private_nh.param("base_global_planner", global_planner, std::string("navfn/NavfnROS")); private_nh.param("base_local_planner", local_planner, std::string("base_local_planner/TrajectoryPlannerROS")); private_nh.param("global_costmap/robot_base_frame", robot_base_frame_, std::string("base_link")); private_nh.param("global_costmap/global_frame", global_frame_, std::string("/map")); private_nh.param("planner_frequency", planner_frequency_, 0.0); private_nh.param("controller_frequency", controller_frequency_, 20.0); private_nh.param("planner_patience", planner_patience_, 5.0); private_nh.param("controller_patience", controller_patience_, 15.0);
local_map.yaml FILE:
local_costmap:
global_frame: /odom
robot_base_frame: /base_link
update_frequency: 5.0
publish_frequency: 5.0
static_map: false
rolling_window: true
width: 4.0
height: 4.0
resolution: 0.1
transform_tolerance: 0.5
ROBOT_POSE_EKF EXCERPT FROM RXGRAPH:
Node [/robot1/robot_pose_ekf]
Publications:
* /tf [tf/tfMessage]
* /robot1/robot_pose_ekf/odom [geometry_msgs/PoseWithCovarianceStamped]
* /rosout [rosgraph_msgs/Log]
Subscriptions:
* /tf [tf/tfMessage]
* /robot1/odom [nav_msgs/Odometry]
* /clock [rosgraph_msgs/Clock]
15 | No.15 Revision |
WRT your notes, I got stuck since I didn't get neither /Robot1/joint_states nor /Robot2/joint_states, I had to add the option -unpause like the following:
<node name="spawn_minibot_model" pkg="gazebo" type="spawn_model"
args="$(arg init_pose) -urdf -unpause -param /robot_description -model $(arg robot_name)"
respawn="false" output="screen" />
I am almost done, but I have a problem with the map, following your notes I have. I guess there is still a problem with namespace, in particular It asks for /base/link but it shouldn't,
[ WARN] [1345042406.057976802, 32.122000000]: You have set map parameters, but also requested to use the static map. Your parameters will be overwritten by those given by the map server
[ INFO] [1345042406.058039834, 32.122000000]: Received a 640 X 544 map at 0.050000 m/pix
[ WARN] [1345042411.112545628, 37.177000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042416.151239313, 42.215000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042421.160855380, 47.224000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042426.241246711, 52.305000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
THE AMCL FILE IS LIKE THIS (I have tried both setting use_map_topic either to true or false but doesn't work. If true, I have also tried to add the line <remap from="map" to="/map"/> but nothing):
<launch>
<arg name="use_map_topic" default="true"/>
<arg name="scan_topic" default="narrow_scan" />
<node pkg="amcl" type="amcl" name="amcl">
<param name="use_map_topic" value="$(arg use_map_topic)"/>
<!-- Publish scans from best pose at a max of 10 Hz -->
<param name="odom_model_type" value="diff"/>
<param name="odom_alpha5" value="0.1"/>
<param name="gui_publish_rate" value="10.0"/>
<param name="laser_max_beams" value="60"/>
<param name="laser_max_range" value="12.0"/>
<param name="min_particles" value="500"/>
<param name="max_particles" value="2000"/>
<param name="kld_err" value="0.05"/>
<param name="kld_z" value="0.99"/>
<param name="odom_alpha1" value="0.2"/>
<param name="odom_alpha2" value="0.2"/>
<!-- translation std dev, m -->
<param name="odom_alpha3" value="0.2"/>
<param name="odom_alpha4" value="0.2"/>
<param name="laser_z_hit" value="0.5"/>
<param name="laser_z_short" value="0.05"/>
<param name="laser_z_max" value="0.05"/>
<param name="laser_z_rand" value="0.5"/>
<param name="laser_sigma_hit" value="0.2"/>
<param name="laser_lambda_short" value="0.1"/>
<param name="laser_model_type" value="likelihood_field"/>
<!-- <param name="laser_model_type" value="beam"/> -->
<param name="laser_likelihood_max_dist" value="2.0"/>
<param name="update_min_d" value="0.25"/>
<param name="update_min_a" value="0.2"/>
<param name="odom_frame_id" value="odom"/>
<param name="resample_interval" value="1"/>
<!-- Increase tolerance because the computer can get quite busy -->
<param name="transform_tolerance" value="1.0"/>
<param name="recovery_alpha_slow" value="0.0"/>
<param name="recovery_alpha_fast" value="0.0"/>
<remap from="scan" to="$(arg scan_topic)"/>
</node>
</launch>
THIS IS POSE_ROBOT_EKF
<node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf" >
<param name="freq" value="30.0"/>
<param name="sensor_timeout" value="1.0"/>
<param name="publish_tf" value="true"/>
<param name="odom_used" value="true"/>
<param name="imu_used" value="false"/>
<param name="vo_used" value="false"/>
<param name="output_frame" value="odom"/>
<param name="output_frame" value="odom" />
</node>
move_base.cpp lines related to global_map:
Added lines related to global (starting from line 63):
std::string global_planner, local_planner; private_nh.param("base_global_planner", global_planner, std::string("navfn/NavfnROS")); private_nh.param("base_local_planner", local_planner, std::string("base_local_planner/TrajectoryPlannerROS")); private_nh.param("global_costmap/robot_base_frame", robot_base_frame_, std::string("base_link")); private_nh.param("global_costmap/global_frame", global_frame_, std::string("/map")); private_nh.param("planner_frequency", planner_frequency_, 0.0); private_nh.param("controller_frequency", controller_frequency_, 20.0); private_nh.param("planner_patience", planner_patience_, 5.0); private_nh.param("controller_patience", controller_patience_, 15.0);
local_map.yaml FILE:
local_costmap:
global_frame: /odom
robot_base_frame: /base_link
update_frequency: 5.0
publish_frequency: 5.0
static_map: false
rolling_window: true
width: 4.0
height: 4.0
resolution: 0.1
transform_tolerance: 0.5
ROBOT_POSE_EKF EXCERPT FROM RXGRAPH:
16 | No.16 Revision |
WRT your notes, I got stuck since I didn't get neither /Robot1/joint_states nor /Robot2/joint_states, I had to add the option -unpause like the following:
<node name="spawn_minibot_model" pkg="gazebo" type="spawn_model"
args="$(arg init_pose) -urdf -unpause -param /robot_description -model $(arg robot_name)"
respawn="false" output="screen" />
I am almost done, but I have a problem with the map, following your notes I have. I guess there is still a problem with namespace, in particular It asks for /base/link but it shouldn't,
[ WARN] [1345042406.057976802, 32.122000000]: You have set map parameters, but also requested to use the static map. Your parameters will be overwritten by those given by the map server
[ INFO] [1345042406.058039834, 32.122000000]: Received a 640 X 544 map at 0.050000 m/pix
[ WARN] [1345042411.112545628, 37.177000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042416.151239313, 42.215000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042421.160855380, 47.224000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042426.241246711, 52.305000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
THE AMCL FILE IS LIKE THIS (I have tried both setting use_map_topic either to true or false but doesn't work. If true, I have also tried to add the line <remap from="map" to="/map"/> but nothing):
<launch>
<arg name="use_map_topic" default="true"/>
<arg name="scan_topic" default="narrow_scan" />
<node pkg="amcl" type="amcl" name="amcl">
<param name="use_map_topic" value="$(arg use_map_topic)"/>
<!-- Publish scans from best pose at a max of 10 Hz -->
<param name="odom_model_type" value="diff"/>
<param name="odom_alpha5" value="0.1"/>
<param name="gui_publish_rate" value="10.0"/>
<param name="laser_max_beams" value="60"/>
<param name="laser_max_range" value="12.0"/>
<param name="min_particles" value="500"/>
<param name="max_particles" value="2000"/>
<param name="kld_err" value="0.05"/>
<param name="kld_z" value="0.99"/>
<param name="odom_alpha1" value="0.2"/>
<param name="odom_alpha2" value="0.2"/>
<!-- translation std dev, m -->
<param name="odom_alpha3" value="0.2"/>
<param name="odom_alpha4" value="0.2"/>
<param name="laser_z_hit" value="0.5"/>
<param name="laser_z_short" value="0.05"/>
<param name="laser_z_max" value="0.05"/>
<param name="laser_z_rand" value="0.5"/>
<param name="laser_sigma_hit" value="0.2"/>
<param name="laser_lambda_short" value="0.1"/>
<param name="laser_model_type" value="likelihood_field"/>
<!-- <param name="laser_model_type" value="beam"/> -->
<param name="laser_likelihood_max_dist" value="2.0"/>
<param name="update_min_d" value="0.25"/>
<param name="update_min_a" value="0.2"/>
<param name="odom_frame_id" value="odom"/>
<param name="resample_interval" value="1"/>
<!-- Increase tolerance because the computer can get quite busy -->
<param name="transform_tolerance" value="1.0"/>
<param name="recovery_alpha_slow" value="0.0"/>
<param name="recovery_alpha_fast" value="0.0"/>
<remap from="scan" to="$(arg scan_topic)"/>
</node>
</launch>
THIS IS POSE_ROBOT_EKF
<node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf" >
<param name="freq" value="30.0"/>
<param name="sensor_timeout" value="1.0"/>
<param name="publish_tf" value="true"/>
<param name="odom_used" value="true"/>
<param name="imu_used" value="false"/>
<param name="vo_used" value="false"/>
<param name="output_frame" value="odom"/>
<param name="output_frame" value="odom" />
</node>
move_base.cpp lines related to global_map:
Added lines related to global (starting from line 63):
std::string global_planner, local_planner; private_nh.param("base_global_planner", global_planner, std::string("navfn/NavfnROS")); private_nh.param("base_local_planner", local_planner, std::string("base_local_planner/TrajectoryPlannerROS")); private_nh.param("global_costmap/robot_base_frame", robot_base_frame_, std::string("base_link")); private_nh.param("global_costmap/global_frame", global_frame_, std::string("/map")); private_nh.param("planner_frequency", planner_frequency_, 0.0); private_nh.param("controller_frequency", controller_frequency_, 20.0); private_nh.param("planner_patience", planner_patience_, 5.0); private_nh.param("controller_patience", controller_patience_, 15.0);
local_map.yaml FILE:
local_costmap:
global_frame: /odom
robot_base_frame: /base_link
update_frequency: 5.0
publish_frequency: 5.0
static_map: false
rolling_window: true
width: 4.0
height: 4.0
resolution: 0.1
transform_tolerance: 0.5
ROBOT_POSE_EKF EXCERPT FROM RXGRAPH:
Node [/robot1/robot_pose_ekf]
Publications:
* /tf [tf/tfMessage]
* /rosout [rosgraph_msgs/Log]
* /robot1/robot_pose_ekf/odom_combined 17 | No.17 Revision |
WRT your notes, I got stuck since I didn't get neither /Robot1/joint_states nor /Robot2/joint_states, I had to add the option -unpause like the following:
<node name="spawn_minibot_model" pkg="gazebo" type="spawn_model"
args="$(arg init_pose) -urdf -unpause -param /robot_description -model $(arg robot_name)"
respawn="false" output="screen" />
I am almost done, but I have a problem with the map, following your notes I have. I guess there is still a problem with namespace, in particular It asks for /base/link but it shouldn't,
[ WARN] [1345042406.057976802, 32.122000000]: You have set map parameters, but also requested to use the static map. Your parameters will be overwritten by those given by the map server
[ INFO] [1345042406.058039834, 32.122000000]: Received a 640 X 544 map at 0.050000 m/pix
[ WARN] [1345042411.112545628, 37.177000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042416.151239313, 42.215000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042421.160855380, 47.224000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042426.241246711, 52.305000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
THE AMCL FILE IS LIKE THIS (I have tried both setting use_map_topic either to true or false but doesn't work. If true, I have also tried to add the line <remap from="map" to="/map"/> but nothing):
<launch>
<arg name="use_map_topic" default="true"/>
<arg name="scan_topic" default="narrow_scan" />
<node pkg="amcl" type="amcl" name="amcl">
<param name="use_map_topic" value="$(arg use_map_topic)"/>
<!-- Publish scans from best pose at a max of 10 Hz -->
<param name="odom_model_type" value="diff"/>
<param name="odom_alpha5" value="0.1"/>
<param name="gui_publish_rate" value="10.0"/>
<param name="laser_max_beams" value="60"/>
<param name="laser_max_range" value="12.0"/>
<param name="min_particles" value="500"/>
<param name="max_particles" value="2000"/>
<param name="kld_err" value="0.05"/>
<param name="kld_z" value="0.99"/>
<param name="odom_alpha1" value="0.2"/>
<param name="odom_alpha2" value="0.2"/>
<!-- translation std dev, m -->
<param name="odom_alpha3" value="0.2"/>
<param name="odom_alpha4" value="0.2"/>
<param name="laser_z_hit" value="0.5"/>
<param name="laser_z_short" value="0.05"/>
<param name="laser_z_max" value="0.05"/>
<param name="laser_z_rand" value="0.5"/>
<param name="laser_sigma_hit" value="0.2"/>
<param name="laser_lambda_short" value="0.1"/>
<param name="laser_model_type" value="likelihood_field"/>
<!-- <param name="laser_model_type" value="beam"/> -->
<param name="laser_likelihood_max_dist" value="2.0"/>
<param name="update_min_d" value="0.25"/>
<param name="update_min_a" value="0.2"/>
<param name="odom_frame_id" value="odom"/>
<param name="resample_interval" value="1"/>
<!-- Increase tolerance because the computer can get quite busy -->
<param name="transform_tolerance" value="1.0"/>
<param name="recovery_alpha_slow" value="0.0"/>
<param name="recovery_alpha_fast" value="0.0"/>
<remap from="scan" to="$(arg scan_topic)"/>
</node>
</launch>
THIS IS POSE_ROBOT_EKF
<node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf" >
<param name="freq" value="30.0"/>
<param name="sensor_timeout" value="1.0"/>
<param name="publish_tf" value="true"/>
<param name="odom_used" value="true"/>
<param name="imu_used" value="false"/>
<param name="vo_used" value="false"/>
<param name="output_frame" value="odom"/>
<param name="output_frame" value="odom" />
</node>
move_base.cpp lines related to global_map:
Added lines related to global (starting from line 63):
std::string global_planner, local_planner; private_nh.param("base_global_planner", global_planner, std::string("navfn/NavfnROS")); private_nh.param("base_local_planner", local_planner, std::string("base_local_planner/TrajectoryPlannerROS")); private_nh.param("global_costmap/robot_base_frame", robot_base_frame_, std::string("base_link")); private_nh.param("global_costmap/global_frame", global_frame_, std::string("/map")); private_nh.param("planner_frequency", planner_frequency_, 0.0); private_nh.param("controller_frequency", controller_frequency_, 20.0); private_nh.param("planner_patience", planner_patience_, 5.0); private_nh.param("controller_patience", controller_patience_, 15.0);
local_map.yaml FILE:
local_costmap:
global_frame: /odom
robot_base_frame: /base_link
update_frequency: 5.0
publish_frequency: 5.0
static_map: false
rolling_window: true
width: 4.0
height: 4.0
resolution: 0.1
transform_tolerance: 0.5
ROBOT_POSE_EKF EXCERPT FROM RXGRAPH:
Node [/robot1/robot_pose_ekf]
Publications:
* /tf [tf/tfMessage]
* /rosout [rosgraph_msgs/Log]
* /robot1/robot_pose_ekf/odom_combined [geometry_msgs/PoseWithCovarianceStamped]
Subscriptions:
* /tf [tf/tfMessage]
* /robot1/odom [nav_msgs/Odometry]
* /clock [rosgraph_msgs/Clock]
======================================================================= AMCL
<launch>
<arg name="use_map_topic" default="true"/>
<arg name="scan_topic" default="narrow_scan" />
<node pkg="amcl" type="amcl" name="amcl">
<param name="use_map_topic" value="$(arg use_map_topic)"/>
<!-- Publish scans from best pose at a max of 10 Hz -->
<param name="odom_model_type" value="diff"/>
<param name="odom_alpha5" value="0.1"/>
<param name="gui_publish_rate" value="10.0"/>
<param name="laser_max_beams" value="60"/>
<param name="laser_max_range" value="12.0"/>
<param name="min_particles" value="500"/>
<param name="max_particles" value="2000"/>
<param name="kld_err" value="0.05"/>
<param name="kld_z" value="0.99"/>
<param name="odom_alpha1" value="0.2"/>
<param name="odom_alpha2" value="0.2"/>
<!-- translation std dev, m -->
<param name="odom_alpha3" value="0.2"/>
<param name="odom_alpha4" value="0.2"/>
<param name="laser_z_hit" value="0.5"/>
<param name="laser_z_short" value="0.05"/>
<param name="laser_z_max" value="0.05"/>
<param name="laser_z_rand" value="0.5"/>
<param name="laser_sigma_hit" value="0.2"/>
<param name="laser_lambda_short" value="0.1"/>
<param name="laser_model_type" value="likelihood_field"/>
<!-- <param name="laser_model_type" value="beam"/> -->
<param name="laser_likelihood_max_dist" value="2.0"/>
<param name="update_min_d" value="0.25"/>
<param name="update_min_a" value="0.2"/>
<param name="base_frame_id" value="base_footprint"/>
<param name="odom_frame_id" value="odom_combined"/>
<param name="global_frame_id" value="/map" />
<param name="resample_interval" value="1"/>
<!-- Increase tolerance because the computer can get quite busy -->
<param name="transform_tolerance" value="1.0"/>
<param name="recovery_alpha_slow" value="0.0"/>
<param name="recovery_alpha_fast" value="0.0"/>
<remap from="scan" to="$(arg scan_topic)"/>
<remap from="static_map" to="/static_map" />
<remap from="map" to="/map" />
</node>
</launch>
=======================================================================
======================================================================= LOCAL_COSTMAP_PARAMS.YAML
local_costmap:
global_frame: odom_combined
robot_base_frame: base_link
update_frequency: 5.0
publish_frequency: 5.0
static_map: false
rolling_window: true
width: 4.0
height: 4.0
resolution: 0.1
transform_tolerance: 0.5
=======================================================================
======================================================================= GLOBAL_COSTMAP_PARAMS.YAML
global_costmap:
global_frame: /map
robot_base_frame: base_link
update_frequency: 3.0
publish_frequency: 0.0
static_map: true
transform_tolerance: 0.5
=======================================================================
======================================================================= COSTMAP_COMMON_PARAMS.YAML
obstacle_range: 2.5
raytrace_range: 3.0
footprint: [[-0.16, -0.16], [-0.16, 0.16], [0.19, 0.16], [0.24, 0.0], [0.19, -0.16]]
footprint_padding: 0.01
inflation_radius: 0.50
observation_sources: scan
scan: {data_type: LaserScan, topic: scan, marking: true, clearing: true}
===========================================================================
18 | No.18 Revision |
WRT your notes, I got stuck since I didn't get neither /Robot1/joint_states nor /Robot2/joint_states, I had to add the option -unpause like the following:
<node name="spawn_minibot_model" pkg="gazebo" type="spawn_model"
args="$(arg init_pose) -urdf -unpause -param /robot_description -model $(arg robot_name)"
respawn="false" output="screen" />
I am almost done, but I have a problem with the map, following your notes I have. I guess there is still a problem with namespace, in particular It asks for /base/link but it shouldn't,
[ WARN] [1345042406.057976802, 32.122000000]: You have set map parameters, but also requested to use the static map. Your parameters will be overwritten by those given by the map server
[ INFO] [1345042406.058039834, 32.122000000]: Received a 640 X 544 map at 0.050000 m/pix
[ WARN] [1345042411.112545628, 37.177000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042416.151239313, 42.215000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042421.160855380, 47.224000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
[ WARN] [1345042426.241246711, 52.305000000]: Waiting on transform from /base_link to /map to become available before running costmap, tf error:
THE AMCL FILE IS LIKE THIS (I have tried both setting use_map_topic either to true or false but doesn't work. If true, I have also tried to add the line <remap from="map" to="/map"/> but nothing):
<launch>
<arg name="use_map_topic" default="true"/>
<arg name="scan_topic" default="narrow_scan" />
<node pkg="amcl" type="amcl" name="amcl">
<param name="use_map_topic" value="$(arg use_map_topic)"/>
<!-- Publish scans from best pose at a max of 10 Hz -->
<param name="odom_model_type" value="diff"/>
<param name="odom_alpha5" value="0.1"/>
<param name="gui_publish_rate" value="10.0"/>
<param name="laser_max_beams" value="60"/>
<param name="laser_max_range" value="12.0"/>
<param name="min_particles" value="500"/>
<param name="max_particles" value="2000"/>
<param name="kld_err" value="0.05"/>
<param name="kld_z" value="0.99"/>
<param name="odom_alpha1" value="0.2"/>
<param name="odom_alpha2" value="0.2"/>
<!-- translation std dev, m -->
<param name="odom_alpha3" value="0.2"/>
<param name="odom_alpha4" value="0.2"/>
<param name="laser_z_hit" value="0.5"/>
<param name="laser_z_short" value="0.05"/>
<param name="laser_z_max" value="0.05"/>
<param name="laser_z_rand" value="0.5"/>
<param name="laser_sigma_hit" value="0.2"/>
<param name="laser_lambda_short" value="0.1"/>
<param name="laser_model_type" value="likelihood_field"/>
<!-- <param name="laser_model_type" value="beam"/> -->
<param name="laser_likelihood_max_dist" value="2.0"/>
<param name="update_min_d" value="0.25"/>
<param name="update_min_a" value="0.2"/>
<param name="odom_frame_id" value="odom"/>
<param name="resample_interval" value="1"/>
<!-- Increase tolerance because the computer can get quite busy -->
<param name="transform_tolerance" value="1.0"/>
<param name="recovery_alpha_slow" value="0.0"/>
<param name="recovery_alpha_fast" value="0.0"/>
<remap from="scan" to="$(arg scan_topic)"/>
</node>
</launch>
THIS IS POSE_ROBOT_EKF
<node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf" >
<param name="freq" value="30.0"/>
<param name="sensor_timeout" value="1.0"/>
<param name="publish_tf" value="true"/>
<param name="odom_used" value="true"/>
<param name="imu_used" value="false"/>
<param name="vo_used" value="false"/>
<param name="output_frame" value="odom"/>
<param name="output_frame" value="odom" />
</node>
move_base.cpp lines related to global_map:
Added lines related to global (starting from line 63):
std::string global_planner, local_planner; private_nh.param("base_global_planner", global_planner, std::string("navfn/NavfnROS")); private_nh.param("base_local_planner", local_planner, std::string("base_local_planner/TrajectoryPlannerROS")); private_nh.param("global_costmap/robot_base_frame", robot_base_frame_, std::string("base_link")); private_nh.param("global_costmap/global_frame", global_frame_, std::string("/map")); private_nh.param("planner_frequency", planner_frequency_, 0.0); private_nh.param("controller_frequency", controller_frequency_, 20.0); private_nh.param("planner_patience", planner_patience_, 5.0); private_nh.param("controller_patience", controller_patience_, 15.0);
local_map.yaml FILE:
local_costmap:
global_frame: /odom
robot_base_frame: /base_link
update_frequency: 5.0
publish_frequency: 5.0
static_map: false
rolling_window: true
width: 4.0
height: 4.0
resolution: 0.1
transform_tolerance: 0.5
ROBOT_POSE_EKF EXCERPT FROM RXGRAPH:
Node [/robot1/robot_pose_ekf]
Publications:
* /tf [tf/tfMessage]
* /rosout [rosgraph_msgs/Log]
* /robot1/robot_pose_ekf/odom_combined [geometry_msgs/PoseWithCovarianceStamped]
Subscriptions:
* /tf [tf/tfMessage]
* /robot1/odom [nav_msgs/Odometry]
* /clock [rosgraph_msgs/Clock]
======================================================================= AMCL
<launch>
<arg name="use_map_topic" default="true"/>
<arg name="scan_topic" default="narrow_scan" />
<node pkg="amcl" type="amcl" name="amcl">
<param name="use_map_topic" value="$(arg use_map_topic)"/>
<!-- Publish scans from best pose at a max of 10 Hz -->
<param name="odom_model_type" value="diff"/>
<param name="odom_alpha5" value="0.1"/>
<param name="gui_publish_rate" value="10.0"/>
<param name="laser_max_beams" value="60"/>
<param name="laser_max_range" value="12.0"/>
<param name="min_particles" value="500"/>
<param name="max_particles" value="2000"/>
<param name="kld_err" value="0.05"/>
<param name="kld_z" value="0.99"/>
<param name="odom_alpha1" value="0.2"/>
<param name="odom_alpha2" value="0.2"/>
<!-- translation std dev, m -->
<param name="odom_alpha3" value="0.2"/>
<param name="odom_alpha4" value="0.2"/>
<param name="laser_z_hit" value="0.5"/>
<param name="laser_z_short" value="0.05"/>
<param name="laser_z_max" value="0.05"/>
<param name="laser_z_rand" value="0.5"/>
<param name="laser_sigma_hit" value="0.2"/>
<param name="laser_lambda_short" value="0.1"/>
<param name="laser_model_type" value="likelihood_field"/>
<!-- <param name="laser_model_type" value="beam"/> -->
<param name="laser_likelihood_max_dist" value="2.0"/>
<param name="update_min_d" value="0.25"/>
<param name="update_min_a" value="0.2"/>
<param name="base_frame_id" value="base_footprint"/>
<param name="odom_frame_id" value="odom_combined"/>
<param name="global_frame_id" value="/map" />
<param name="resample_interval" value="1"/>
<!-- Increase tolerance because the computer can get quite busy -->
<param name="transform_tolerance" value="1.0"/>
<param name="recovery_alpha_slow" value="0.0"/>
<param name="recovery_alpha_fast" value="0.0"/>
<remap from="scan" to="$(arg scan_topic)"/>
<remap from="static_map" to="/static_map" />
<remap from="map" to="/map" />
</node>
</launch>
=======================================================================
======================================================================= LOCAL_COSTMAP_PARAMS.YAML
local_costmap:
global_frame: odom_combined
robot_base_frame: base_link
update_frequency: 5.0
publish_frequency: 5.0
static_map: false
rolling_window: true
width: 4.0
height: 4.0
resolution: 0.1
transform_tolerance: 0.5
=======================================================================
======================================================================= GLOBAL_COSTMAP_PARAMS.YAML
global_costmap:
global_frame: /map
robot_base_frame: base_link
update_frequency: 3.0
publish_frequency: 0.0
static_map: true
transform_tolerance: 0.5
=======================================================================
======================================================================= COSTMAP_COMMON_PARAMS.YAML
obstacle_range: 2.5
raytrace_range: 3.0
footprint: [[-0.16, -0.16], [-0.16, 0.16], [0.19, 0.16], [0.24, 0.0], [0.19, -0.16]]
footprint_padding: 0.01
inflation_radius: 0.50
observation_sources: scan
scan: {data_type: LaserScan, topic: scan, marking: true, clearing: true}
===========================================================================
=============================================================================
NEW VERSIONE OF AMCL
<launch>
<arg name="use_map_topic" default="false"/>
<arg name="scan_topic" default="scan" />
<node pkg="amcl" type="amcl" name="amcl">
<param name="use_map_topic" value="$(arg use_map_topic)"/>
<!-- Publish scans from best pose at a max of 10 Hz -->
<param name="odom_model_type" value="diff"/>
<param name="odom_alpha5" value="0.1"/>
<param name="gui_publish_rate" value="10.0"/>
<param name="laser_max_beams" value="60"/>
<param name="laser_max_range" value="12.0"/>
<param name="min_particles" value="500"/>
<param name="max_particles" value="2000"/>
<param name="kld_err" value="0.05"/>
<param name="kld_z" value="0.99"/>
<param name="odom_alpha1" value="0.2"/>
<param name="odom_alpha2" value="0.2"/>
<!-- translation std dev, m -->
<param name="odom_alpha3" value="0.2"/>
<param name="odom_alpha4" value="0.2"/>
<param name="laser_z_hit" value="0.5"/>
<param name="laser_z_short" value="0.05"/>
<param name="laser_z_max" value="0.05"/>
<param name="laser_z_rand" value="0.5"/>
<param name="laser_sigma_hit" value="0.2"/>
<param name="laser_lambda_short" value="0.1"/>
<param name="laser_model_type" value="likelihood_field"/>
<!-- <param name="laser_model_type" value="beam"/> -->
<param name="laser_likelihood_max_dist" value="2.0"/>
<param name="update_min_d" value="0.25"/>
<param name="update_min_a" value="0.2"/>
<param name="base_frame_id" value="base_footprint"/>
<param name="odom_frame_id" value="odom_combined"/>
<param name="global_frame_id" value="/map" />
<param name="resample_interval" value="1"/>
<!-- Increase tolerance because the computer can get quite busy -->
<param name="transform_tolerance" value="1.0"/>
<param name="recovery_alpha_slow" value="0.0"/>
<param name="recovery_alpha_fast" value="0.0"/>
<remap from="scan" to="$(arg scan_topic)"/>
<remap from="static_map" to="/static_map" />
<remap from="map" to="/map" />
</node>
</launch>
================================================================