skasperski / navigation_2d

ROS nodes to navigate a mobile robot in a planar environment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Issue with Mapping Using Physical Turtlebot Without Joystick (Modifed Tutorial 3)

s-arora1987 opened this issue · comments

Hi

I am trying to implement graph based SLAM (nav2d_karto) work with Turtlebot 2. I modified tutorial3.launch in nav2d_tutorials as following:

<!-- launching kinect with depth to laser scan conversion -->
<arg name="3d_sensor" default="$(env TURTLEBOT_3D_SENSOR)"/>  <!-- r200, kinect, asus_xtion_pro -->
<include file="$(find turtlebot_bringup)/launch/3dsensor.launch">
	<arg name="rgb_processing" value="false" />
	<arg name="depth_registration" value="false" />
	<arg name="depth_processing" value="false" />
	<arg name="scan_topic" value="/scan" />
</include>        
<!-- yaml with changed name of laser topic -->
<rosparam file="/home/saurabh/catkin_ws/src/modified_ros.yaml"/>

<!-- 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="nav2d_karto" type="mapper">
<!--	<remap from="scan" to="base_scan"/> -->
	<rosparam file="$(find nav2d_tutorials)/param/mapper.yaml"/>
</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" />

All nodes launched as expected:
NODES
/camera/
camera_nodelet_manager (nodelet/nodelet)
depth_registered_hw_metric_rect (nodelet/nodelet)
depth_registered_metric (nodelet/nodelet)
depth_registered_rectify_depth (nodelet/nodelet)
depth_registered_sw_metric_rect (nodelet/nodelet)
disparity_depth (nodelet/nodelet)
disparity_registered_hw (nodelet/nodelet)
disparity_registered_sw (nodelet/nodelet)
driver (nodelet/nodelet)
ir_rectify_ir (nodelet/nodelet)
points_xyzrgb_hw_registered (nodelet/nodelet)
points_xyzrgb_sw_registered (nodelet/nodelet)
register_depth_rgb (nodelet/nodelet)
/
Explore (nav2d_navigator/explore_client)
GetMap (nav2d_navigator/get_map_client)
Joystick (joy/joy_node)
Mapper (nav2d_karto/mapper)
Navigator (nav2d_navigator/navigator)
Operator (nav2d_operator/operator)
Remote (nav2d_remote/remote_joy)
SetGoal (nav2d_navigator/set_goal_client)
depthimage_to_laserscan (nodelet/nodelet)

ROS_MASTER_URI=http://localhost:11311
process[camera/camera_nodelet_manager-1]: started with pid [19304]
[ERROR] [1579035187.686762725]: Skipped loading plugin with error: XML Document '/opt/ros/kinetic/share/hector_pose_estimation/hector_pose_estimation_nodelets.xml' has no Root Element. This likely means the XML is malformed or missing..
process[camera/disparity_depth-11]: started with pid [19414]
[ERROR] [1579035188.216765198]: Couldn't open joystick /dev/input/js0. Will retry every second.
...

I don't have a joy stick, but I can see mapping and exploration services in rosservice list. When I do 'rosservice call /StartMapping' to start the mapping, robot didn't move. The output I got is
success: True
message: "Send GetFirstMapGoal to Navigator."

Same issue with StartExploration service.
On launching services, It does display any error in terminal and it didn't do the rotation expected at beginning of mapping. Please let me know how to troubleshoot this problem.