nav2d autonomouse exploration
Hi,
I installed and tried nav2d navigation package exploration feature, with a real robot setup (kobuki base, urg-04lx) as per ros wiki instructions. i modified the tutorial3 launch and param files, as shown below (just copied the launch file and .yaml files into my catkin workspace so i can edit them).
I received a map and other topics in RVIZ. since i dont have a joy stick i used rosservice call /StartMapping 3
and rosservice call /StartExploration 2
as per tutorials instructions i got nothing but a "response: 0" on my terminal window.
LAUNCH File:
<launch>
<!-- Some general parameters -->
<param name="use_sim_time" value="false" />
<rosparam file="$(find navigation)/param/ros.yaml"/>
<!-- Start Stage simulator with a given environment
<node name="Stage" pkg="stage_ros" type="stageros" args="$(find nav2d_tutorials)/world/tutorial.world">
<param name="base_watchdog_timeout" value="0" />
</node> -->
<!-- Start the Operator to control the simulated robot -->
<node name="Operator" pkg="nav2d_operator" type="operator" >
<remap from="scan" to="base_scan"/>
<rosparam file="$(find navigation)/param/operator.yaml"/>
<rosparam file="$(find navigation)/param/costmap.yaml" ns="local_map" />
</node>
<!-- Start Mapper to genreate map from laser scans -->
<node name="Mapper" pkg="nav2d_karto" type="mapper">
<remap from="scan" to="base_scan"/>
<rosparam file="$(find navigation)/param/mapper.yaml"/>
</node>
<!-- Start the Navigator to move the robot autonomously -->
<node name="Navigator" pkg="nav2d_navigator" type="navigator">
<rosparam file="$(find navigation)/param/navigator.yaml"/>
<!-- <remap from="/cmd_vel" to="/mobile_base/commands/velocity" /> -->
</node>
<node name="GetMap" pkg="nav2d_navigator" type="get_map_client" />
<node name="Explore" pkg="nav2d_navigator" type="explore_client" />
<node name="SetGoal" pkg="nav2d_navigator" type="set_goal_client" />
<!-- Start particle filter to track the robot's position
<node name="SelfLocalizer" pkg="nav2d_localizer" type="localizer">
<remap from="scan" to="base_scan"/>
<param name="min_particles" type="int" value="5000"/>
<param name="max_particles" type="int" value="20000"/>
</node> -->
<!-- Start the joystick-driver and remote-controller for operation
<node name="Joystick" pkg="joy" type="joy_node" />
<node name="Remote" pkg="nav2d_remote" type="remote_joy" /> -->
<!-- RVIZ to view the visualization -->
<node name="RVIZ" pkg="rviz" type="rviz" args=" -d $(find nav2d_tutorials)/param/tutorial3.rviz" />
</launch>
when i tried to launch the SelfLocalizer in my launch file, it gave me an error saying: ERROR: cannot launch node of type [nav2d_localizer/localizer]: can't locate node [localizer] in package [nav2d_localizer]
Another issue, i tried to remap /cmd_vel
to kobuki's velocity topic but i received an error, [MD5] topic format mismatch.
any help, suggestions are greately appreciated. Param files (.yaml) are also available.
UPDATE 1:
Here is the rqt_dot file to download.
tf_tree:
rqt_graph:
it also takes like 20 seconds or so before the topics in RVIZ receive information and go green.
UPDATE 2: Parameters list: PARAMETERS
* /Mapper/LoopSearchMaximumDistance: 10.0
* /Mapper/MinimumTravelDistance: 1.0
* /Mapper/MinimumTravelHeading: 0.52
* /Mapper/grid_resolution: 0.05
* /Mapper/map_update_rate: 5
* /Mapper/max_covariance: 0.01
* /Mapper/max_particles: 10000
* /Mapper/min_map_size: 20
* /Mapper/min_particles: 2500
* /Mapper/publish_pose_graph: True
* /Mapper/range_threshold: 4.0
* /Mapper/transform_publish_period: 0.1
* /Navigator/exploration_goal_distance: 0.5
* /Navigator/map_inflation_radius: 0.25
* /Navigator/min_target_area_size: 1.0
* /Navigator/navigation_goal_angle: 1.0
* /Navigator/navigation_goal_distance: 0.5
* /Navigator/navigation_homing_distance: 0.5
* /Navigator/robot_radius: 0 ...
@sobot Please add a picture from "rqt_graph" and the dot-export result from "rosrun tf view_frames". These are usually the best starting point to search for problems in your setup.
@Sebastian Kasperski really appreciate it, i updated the question with the info that you asked.
The transformations look fine, but in your ROS-Graph you see that the Operator in not connected to "base_scan". As the remapping is correct, it probably doesn't get to the point where the Costmap is initialized. Does it give any warnings or errors during start?
@Sebastian Kasperski i only can get 2 errors in different start up setups: (1. when i try to remap /cmd_vel to topic of my robot. (it says content is mismatch, MD5 xxx) (2. when i include SelfLocalizer in the launch file, its says the node can not be found int the package folder.
@sobot: 1) Please do a "rostopic type" on your robots cmd-topic. If its not geometry_msgs/Twist, you have to do a conversion. 2) Have you build the package from source or installed the binary packages?
@Sebastian Kasperski the topic is /mobile_base/commands/velocity and rostopic shows that type is geometry_msgs/Twist. tried to remap that topic to /cmd_vel and got the MD5 error. I installed the pkg from the binary as per in the ros-wiki instructions using apt-get install.
@sobot: This is really strange. Do you have different ROS-Versions on your machine? Or does any of your packages bring an own version of "geometry_msgs"? Before you start your launch file, do a "roscd geometry_msgs" and check where it takes you.
My machine's config is: native "Ubuntu 14,04" with ROS Indigo (full desktop). i just use this 1 machine, and it runs my robot. roscd takes me to /opt/ros/indigo/share/geometry_msgs$ yes it looks very strange. i thought it should be pretty straightforward. other packages work Ok.