Robotics StackExchange | Archived questions

Stage exploration

I want to explore a map in stage like in this tutorial: http://wiki.ros.org/stage/Tutorials/MakingMapsUsingStagesWanderController but the link to the stagecontrollers doesn't work and I can't find them in another way. I tried frontierexploration but I find it tricky to use and it often crashes. I am using kinetic and nav2d is not supported. Anyone has some ideas?

EDIT: I have successfully installed nav2d but I want to explore the map while building it, I changed the third tutorial file:`

<!-- Some general parameters -->
<param name="use_sim_time" value="true" />
<rosparam file="$(find nav2d_tutorials)/param/ros.yaml"/>

<!-- Start Stage simulator with a given environment -->
<node name="Stage" pkg="stage_ros" type="stageros" args="/home/ros/catkin_ws/prova.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 nav2d_tutorials)/param/operator.yaml"/>
    <rosparam file="$(find nav2d_tutorials)/param/costmap.yaml" ns="local_map" />
</node>

<!-- Start Mapper to genreate map from laser scans -->
<node name="Mapper" pkg="gmapping" type="slam_gmapping">
    <remap from="scan" to="base_scan"/>
</node>

<!-- Start the Navigator to move the robot autonomously -->
<node name="Navigator" pkg="nav2d_navigator" type="navigator">
    <rosparam file="$(find nav2d_tutorials)/param/navigator.yaml"/>
</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 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" />

using gmapping instead of karto. The problem is that now it keeps spinning instead of going straight and after a while it crashes.

costamp.yaml

global_frame: odom
robot_base_frame: base_link
update_frequency: 1.0
publish_frequency: 1.0

publish_voxel_map: true


static_map: false


rolling_window: true
width: 6.0
height: 6.0  
resolution: 0.05


map_type: costmap
track_unknown_space: true

transform_tolerance: 0.3
obstacle_range: 4.0
min_obstacle_height: 0.0
max_obstacle_height: 2.0
raytrace_range: 4.5

robot_radius: 0.2
inflation_radius: 0.4
cost_scaling_factor: 2.0
lethal_cost_threshold: 100
observation_sources: scan
scan: {data_type: LaserScan, expected_update_rate: 0.4,observation_persistence: 0.0, marking: true,clearing:true, max_obstacle_height: 0.4, min_obstacle_height: 0.08}

navigator.yaml

map_inflation_radius: 0.5
robot_radius: 0.1
navigation_goal_distance: 2.0

navigation_goal_angle: 1.0

navigation_homing_distance: 4.0


exploration_goal_distance: 3.0


min_target_area_size: 1.0
visualize_frontiers: true

operator.yaml

max_velocity: 1.0

publish_route: true

max_free_space: 2.0
safety_decay: 0.97

distance_weight: 1
safety_weight: 2
conformance_weight: 1
continue_weight: 0

rqt_graph: https://s30.postimg.org/5lo2oidw1/graph.jpg

rqtconsole: https://s28.postimg.org/r00b5gs4t/201702021053331440x900scrot.png

tf tree: https://s29.postimg.org/e3aqbbnon/2017_02_02_111614_1440x836_scrot.png

Asked by rossini on 2017-02-01 10:43:35 UTC

Comments

I am using kinetic and nav2d is not supported.

Are you sure it's not supported? Could it be that it's just not released? In that case you'd just have to build it from source on your Kinetic system.

Asked by gvdhoorn on 2017-02-01 11:02:03 UTC

Thank you, you're right! I will try nav2d

Asked by rossini on 2017-02-01 11:21:37 UTC

Are there any error messages in rqt_console? The Navigator gets the map by calling a service, which may have another name in gmapping. So you might have to change the map_service parameter in ros.yaml.

Asked by Sebastian Kasperski on 2017-02-02 04:12:01 UTC

Yes, I already changed the service from static_map to dynamic_map. I will add to the question the rqt_graph

Asked by rossini on 2017-02-02 04:43:39 UTC

The Navigator has cycle times of up to 12 seconds, something is really slowing down your system. Have you build nav2d with "catkin_make -DCMAKE_BUILD_TYPE=Release"?

Asked by Sebastian Kasperski on 2017-02-02 07:44:42 UTC

Yes I built nav2d with that command, but I am running it on a virtual machine on a macbook air. I think I have found the problem, I changed my world file with the one in the tutorial changing only the map and it's working. Thanks for the help

Asked by rossini on 2017-02-02 08:24:38 UTC

Answers