Giter Club home page Giter Club logo

navigation_2d's People

Contributors

cottsay avatar priyanka328 avatar skasperski avatar tyuownu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

navigation_2d's Issues

How to add obstacles to the scene ?

I want to add some obstacles to the scene in order to get the sensor reading from hokuyo laser scanner and then avoid obstacles while planning trajectory. How can I do this in Tutorial 3 ? Is it simply adding a Rviz Cylinder type marker ?
Please advise.

LIDAR to Costmap

Which nodes must I modify to have my actual LIDAR provide data for the costmap and to generate the map?

I've been looking a while and trying multiple things, but can not seem to pinpoint where it is. I've been tending towards the MultiMapper.cpp node but had no success yet.

In RViz I can see my LIDAR superimposed above the generated map and costmap, but it is just visible data at this point. It doesn't have any influence.

Many thanks!

nav2d_karto: LocalizedRangeScan contains unexpected numbers of range readings

Hello,
I was able to run the third tutorial, mapping the example world provided in simulation.
At this point, I tried to create a map playing a bag recorded with our robot (the bag seems ok since I was able to use it both with hector_slam and gmapping). The launch file adopted is the following:

<launch>

    <param name="use_sim_time" value="true" />
    <rosparam file="ros.yaml"/>

    <!-- Start Mapper to genreate map from laser scans -->
    <node name="Mapper" pkg="nav2d_karto" type="mapper">
        <remap from="scan" to="scan_front"/>
        <rosparam file="mapper.yaml"/>
    </node>

    <!-- RVIZ to view the visualization -->
    <node name="RVIZ" pkg="rviz" type="rviz" args=" -d $(find nav2d_tutorials)/param/tutorial3.rviz" />

</launch>

where ros.yaml is:

###########################################################
# Defines topics services and frames for all modules

### TF frames #############################################
laser_frame: base_front_laser_link
robot_frame: base_link
odometry_frame: odom
offset_frame: offset
map_frame: map

### ROS topics ############################################
map_topic: map
laser_topic: scan_front

### ROS services ##########################################
map_service: static_map

and mapper.yaml is:

### Mapper ################################################

grid_resolution: 0.1
range_threshold: 10.0
map_update_rate: 5
publish_pose_graph: true
max_covariance: 0.01
transform_publish_period: 0.1
min_map_size: 20

### Localizer #############################################

min_particles: 2500
max_particles: 10000

### Karto #################################################

# For a full list of available parameters and their
# corresponding default values, see OpenKarto/OpenMapper.h

MinimumTravelDistance: 1.0
MinimumTravelHeading: 0.52
LoopSearchMaximumDistance: 10.0

###########################################################

However, when I run the launch file, I repeatedly get the following error:

...
[/Mapper ERROR 1447255247.422253465, 1446138392.065241589]: LaserRangeFinder::Validate() - LocalizedRangeScan contains 450 range readings, expected 451
[/Mapper ERROR 1447255247.473642245, 1446138392.166068413]: LaserRangeFinder::Validate() - LocalizedRangeScan contains 450 range readings, expected 451
[/Mapper ERROR 1447255247.523607012, 1446138392.266683794]: LaserRangeFinder::Validate() - LocalizedRangeScan contains 450 range readings, expected 451
[/Mapper ERROR 1447255247.573577659, 1446138392.367428587]: LaserRangeFinder::Validate() - LocalizedRangeScan contains 450 range readings, expected 451
[/Mapper ERROR 1447255247.573836632, 1446138392.367428587]: LaserRangeFinder::Validate() - LocalizedRangeScan contains 450 range readings, expected 451
[/Mapper ERROR 1447255247.624776753, 1446138392.468281149]: LaserRangeFinder::Validate() - LocalizedRangeScan contains 450 range readings, expected 451
[/Mapper ERROR 1447255247.674386008, 1446138392.569080442]: LaserRangeFinder::Validate() - LocalizedRangeScan contains 450 range readings, expected 451
[/Mapper ERROR 1447255247.724970486, 1446138392.669702679]: LaserRangeFinder::Validate() - LocalizedRangeScan contains 450 range readings, expected 451
[/Mapper ERROR 1447255247.775455585, 1446138392.770533571]: LaserRangeFinder::Validate() - LocalizedRangeScan contains 450 range readings, expected 451
[/Mapper ERROR 1447255247.775564465, 1446138392.770533571]: LaserRangeFinder::Validate() - LocalizedRangeScan contains 450 range readings, expected 451
...

Am I missing something or there is a problem with the code?
Thanks!

multi robot exploration

dear Dr. Kasperski,

I am a Computer Engineering student at KFUPM. My senior project involves multi robot exploration and mapping. I just tested your package and did the tutorials. Now, i would like to deploy multiple robots in unknown environment to produce a map of that environment. so i created a launch file to simulate the process. but unfortunately, the environment don't get explored completely.

this is my launch file
`

<!-- Some general parameters -->
<param name="use_sim_time" value="true" />

<!-- Start Stage simulator with a given environment -->
<node name="Stage" pkg="stage_ros" type="stageros" args="$(find nav2d_tutorials)/world/tutorial4.world">
	<param name="base_watchdog_timeout" value="0" />
</node>


<node name="R0_MapAlign" pkg="tf" type="static_transform_publisher" args="0 0 0 0 0 0 /map /robot_0/map 100"/>
<node name="R1_MapAlign" pkg="tf" type="static_transform_publisher" args="40 0 0 0 0 0 /map /robot_1/map 100"/>

<group ns="robot_0">
	<param name="robot_id" value="1" />
	<param name="tf_prefix" type="string" value="robot_0"/>
	<rosparam file="$(find nav2d_tutorials)/param/ros.yaml"/>

	<node name="Mapper" pkg="nav2d_karto" type="mapper">
		<remap from="scan" to="base_scan"/>
		<remap from="karto_in" to="/shared_scans_r2"/>
		<remap from="karto_out" to="/shared_scans_r1"/>
		<rosparam file="$(find nav2d_tutorials)/param/mapper.yaml"/>
	</node>

	<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 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="Localize" pkg="nav2d_navigator" type="localize_client" />
	<node name="Explore" pkg="nav2d_navigator" type="explore_client" />
	<node name="GetMap" pkg="nav2d_navigator" type="get_map_client" />


</group>

<group ns="robot_1">
	<param name="robot_id" value="2" />
	<param name="tf_prefix" type="string" value="robot_1"/>
	<rosparam file="$(find nav2d_tutorials)/param/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 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="Localize" pkg="nav2d_navigator" type="localize_client" />
	<node name="Explore" pkg="nav2d_navigator" type="explore_client" />
	<node name="GetMap" pkg="nav2d_navigator" type="get_map_client" />
	<node name="Mapper" pkg="nav2d_karto" type="mapper">
		<remap from="scan" to="base_scan"/>
		<remap from="karto_in" to="/shared_scans_r1"/>
		<remap from="karto_out" to="/shared_scans_r2"/>
		<rosparam file="$(find nav2d_tutorials)/param/mapper.yaml"/>
	</node>

</group>

<!-- RVIZ to view the visualization -->
<node name="RVIZ" pkg="rviz" type="rviz" args=" -d $(find nav2d_tutorials)/param/tutorial4.rviz" />
`

RViz

Stage

Using two LIDARs with nav2d_karto

Hi,

I'm using SLAM Karto with two LIDARs mounted at opposite sides of a rectangular robot. I'm currently using Ira laser tools to merge the data from the two sensors. I feed the output to Karto.

This runs fine, but not great. I don't think this is the most efficient solution, and Ira laser tools sometimes generates wrong data (I'm still trying to figure out why). I would like to know if there is a better way to use two lidars with SLAM Karto. I tried running two Mapper nodes making use of karto_in and karto_out, but I can't get it to work. Is there a better way to feed karto with two LIDARs ?

Thanks !

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

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.

Issues setting up with turtlebot 2

@skasperski I've spent a lot of timing trying to customize the tutorial3.launch file for a turtlebot2 so that I can have autonomous gmapping and exploration but I am running into a lot of issues. Firstly, I can't seem to get the mapper node to publish a map to the operator costmap or to anything else for that matter. I'm running the turtlebot_bringup/minimal.launch and a custom version of the tutorial3.launch. RVIZ is run on a separate computer.

Here is my rqt_graph:

tutorial3

Here is the tutorial3.launch:

`

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

    <!-- Start the Operator to control the simulated robot -->
    <node name="Operator" pkg="nav2d_operator" type="operator" >
            <!--<remap from="scan" to="base_scan"/>-->
            <remap from="cmd_vel" to="cmd_vel_mux/input/teleop"/>
            <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" >
            <remap from="goal" to="move_base_simple/goal"/>
`

Can you help me with this setup? I know this has been done before. Let me know if you need to see any param files.

fatal error: nav2d_navigator/ExploreAction.h: No such file or directory

While building the last release of nav2d_navigator on Arch Linux:

.../nav2d_navigator/src/nav2d_navigator/src/explore_client.cpp:4:43: fatal error: nav2d_navigator/ExploreAction.h: No such file or directory
 #include <nav2d_navigator/ExploreAction.h>
                                           ^
compilation terminated.
CMakeFiles/explore_client.dir/build.make:57: recipe for target 'CMakeFiles/explore_client.dir/src/explore_client.cpp.o' failed

Indeed, nav2d_navigator/src/explore_client.cpp expects ExploreAction.h which is nowhere to be found when building with catkin... Same for SendCommand.h and probably some other headers.

Nav2d operator only turns left

I have configured the nav2d operator to subscribe to cmd_vel. However when it encounters an obstacle, it always turns left no matter what. In RobotOperator.cpp evaluateAction() function always returns 0.5 when an obstacle is detected. Not sure how to fix this problem as the robot turns left even if the obstacle is on the left while the right is empty.

How to Combine Tutorial 2 and Tutorial 3 to display laser scan on top of the static map in Rviz ?

Hello there,
I am currently practicing the autonomous navigation of a p3dx robot in rviz. I want to combine the tutorial 2 and tutorial 3 such that the laser scan maps of tutorial 3 is displayed on top of the static map which we have from tutorial 2. I have been trying to write a launch file for this setup but it does not work. I see the static map initially but as soon as I move the robot I only see the laser scans only and the static map disappears. Also, when I did the sudo apt-get install ros-hydro-nav2d-* all the packages just have a cmake and .xml file. How is this tutorial even working without a source code ?

Remove error message during localization

During localization, the navigator constantly calls setCurrentPosition() causing ROS_ERROR messages until localization completes. Add new method isLocalized() or the like.

Tutorials description

Can you please provide a description for each of the 4 tutorials explaining what to expect when running it?

unable to open any package with QT creator

I am using Ubuntu 14.04, ROS indigo, Qt Creator 3.0.1

when I try to open any catkin package in the workspace, following error pops up every time.

CMake Error at CMakeLists.txt:7 (find_package):
By not providing "Findcatkin.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "catkin", but
CMake did not find one.

Could not find a package configuration file provided by "catkin" with any
of the following names:

catkinConfig.cmake
catkin-config.cmake

Add the installation prefix of "catkin" to CMAKE_PREFIX_PATH or set
"catkin_DIR" to a directory containing one of the above files. If "catkin"
provides a separate development package or SDK, be sure it has been
installed.
-- Configuring incomplete, errors occurred!
See also "/home/kk/catkin_ws_navigation/build/nav2d_exploration/CMakeFiles/CMakeOutput.log".

I am trying to open Navigation_2d package present [here] (https://github.com/skasperski/navigation_2d/tree/indigo) .All the packages are successfully built in the build directory. Can anyone please help me out I am totally stuck

No map generated using turtlebot3

Hi!
I'm trying to use the nav2d package for Turtlebot3's simulation using Gazebo instead of Stage. The problem is that when i launch the simulation(with third tutorial's routine), no map is generated and because of that, the exploration and mapping(of course) don't work. I've tried to control topics and as one can guess, no messages are published on /map topic. The fact is that i haven't touched anything, except adding Turtlebot3 model and Gazebo to launch file and remapped the laserscan topics. Checking rqt_graph showed the absence of /Operator/desired, /Operator/route and /Navigator/plan topics, so i think i'm missing some remapping. Is that the case? Could i have any help to understand what i'm missing?
`

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

<!-- Start Gazebo simulator with a given environment -->
<arg name="model" default="$(env TURTLEBOT3_MODEL)" doc="model type [burger, waffle, waffle_pi]"/>
<arg name="x_pos" default="-3.0"/>
<arg name="y_pos" default="1.0"/>
<arg name="z_pos" default="0.0"/>

<include file="$(find gazebo_ros)/launch/empty_world.launch">
  <arg name="world_name" value="$(find turtlebot3_gazebo)/worlds/turtlebot3_house.world"/>
  <arg name="paused" value="false"/>
  <arg name="use_sim_time" value="true"/>
  <arg name="gui" value="true"/>
  <arg name="headless" value="false"/>
  <arg name="debug" value="false"/>
</include>

<param name="robot_description" command="$(find xacro)/xacro.py $(find turtlebot3_description)/urdf/turtlebot3_$(arg model).urdf.xacro"/>

<node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-urdf -model turtlebot3 -x $(arg x_pos) -y $(arg y_pos) -z $(arg z_pos) -param robot_description" >
</node>

<!-- Start the Operator to control the simulated robot -->
<node name="Operator" pkg="nav2d_operator" type="operator" >
	<remap from="base_scan" to="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="base_scan" to="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" />

<!-- RVIZ to view the visualization -->
<include file="$(find turtlebot3_gazebo)/launch/turtlebot3_gazebo_rviz.launch">
	<arg name="model" value="$(arg model)"/>
</include>

`
This is my launch file.
rviz_screenshot_2018_04_10-12_15_00
And this is a screenshot of RViz.
Thanks for any help!!

Missed desired rate of 5.00Hz

Hello,

when i used exploration strategy "MultiWavfrontPlanner" for multi robot, I get this message" Missed desired rate of 5.00Hz! Loop actually took 0.5000 seconds!" and robot 2 will turn 360 for every meter.

hope you can help

How to create a fixed origin map at the beginning map-building when I use the Exploration

I want to create a fix-origin position map when use the exploration at the beginning of map build. However the origin position of the map changed everytime when I restart the node(the map position in rviz).How should do? I mean: I want to fix the origin at the (0,0) of the world in rviz at the beginning of map build when use the auto-exploration to build map. Please help me, thank you very much (Please excuse for my poor English……).

mapper not generating expected occupancy grid map

Hi,

I have been running a few experiments with 2D lidar data. I found that mapper do not generates complete occupancy grid initially. I am attaching two pictures. Please see that a lot of area is left as unknown in the map although, laser beams has passed through them.
1
This picture shows starting position of the robot. Size of a cell in rviz display is 0.25x0.25 m-sq while size of a cell in Stage grid is 1m-sq. Laser range in simulation is 10meters.

Further, Robot starts moving backward. Next picture is output after some movement backward.
2

I have been using following configuration data

Mapper

robot_id: 1
grid_resolution: 0.25
range_threshold: 10.0 #Maximum range of laser sensor
map_update_rate: 1
publish_pose_graph: true
max_covariance: 0.01 # Threshold to accept result of particle filter
transform_publish_period: 0.1
min_map_size: 20 #minimum number of nodes in map for localization
#laser_topic: base_scan
#map_frame: /map
#map_topic: map
#laser_frame: base_laser_link
#robot_frame: base_link
#odometry_frame: odom1
#offset_frame: offset

Localizer

min_particles: 2500
max_particles: 10000

Karto

MinimumTravelDistance: 1.0
MinimumTravelHeading: .52
LoopSearchMaximumDistance: 5.0
ScanBufferMaximumScanDistance: 20.0
ScanBufferSize: 8

For a full list of available parameters and their

corresponding default values, see OpenKarto/OpenMapper.h

#UseScanMatching: true
#UseScanBarycenter: true
#MinimumTravelDistance: 1.0
#MinimumTravelHeading: 0.52
#ScanBufferSize: 70
#ScanBufferMaximumScanDistance: 20
#UseResponseExpansion: false

Variance of penalty for deviating from odometry when scan-matching. Use lower values if the robot's odometer is more accurate.

#DistanceVariancePenalty: 0.6
#MinimumDistancePenalty: 0.5
#AngleVariancePenalty: 0.1225 # variance of 20 x 20 degree sq in radians
#MinimumAnglePenalty: 0.9
#LinkMatchMinimumResponseFine: 0.6
#LinkScanMaximumDistance: 5.0
#CorrelationSearchSpaceDimension: 0.3 #Seach for correlation in area of 30x30 cm-square
#CorrelationSearchSpaceResolution: 0.1
#CorrelationSearchSpaceSmearDeviation: 0.03
#CoarseSearchAngleOffset: 0.34906585 #20 degrees
#FineSearchAngleOffset: 0.00349 #0.2degrees
#CoarseAngleResolution: 0.0349 #2 degrees
#LoopSearchSpaceDimension: 8 #search area of size 8x8 meter square
#LoopSearchSpaceResolution: 0.05
#LoopSearchSpaceSmearDeviation: 0.03
#LoopSearchMaximumDistance: 10.0
#When the loop closure detection finds a candidate it must be part of a large set of linked scans. If the chain of scans is less than this value, we do not attempt to close the loop.
#LoopMatchMinimumChainSize: 10
#LoopMatchMaximumVarianceCoarse: 0.16 #The co-variance values for a possible loop closure have to be less than this value to consider a viable solution
#LoopMatchMinimumResponseCoarse: 0.7 #if probability value is larger than this, initiate coarser level search
#LoopMatchMinimumResponseFine: 0.7 #if probability value is larger than this, initiate finer level search

###########################################################

Any help in how can i refine output of mapping will be appreciated.

build error because of missing head file

/home/wolf/catkin_ws/src/navigation_2d/nav2d_operator/include/nav2d_operator/RobotOperator.h:14:32: fatal error: nav2d_operator/cmd.h: No such file or directory
compilation terminated.
make[2]: **[navigation_2d/nav2d_operator/CMakeFiles/RobotOperator.dir/src/RobotOperator.cpp.o] Error 1
make[1]: *
* [navigation_2d/nav2d_operator/CMakeFiles/RobotOperator.dir/all] Error 2
make: *** [all] Error 2
make: INTERNAL: Exiting with 3 jobserver tokens available; should be 2!
Invoking "make" failed

Real robot stuck while explore

Hi
I'm trying Nav2d package on turtlebot3. Base on tutorial3, I replace the Stage node with Turtlebot3 bringup nodes. Everything seems good, but I just can't make the robot explore environment. The robot seems to stuck. It moves very slightly or just spin, shown as below.

2017-08-10 11-31-32

I notice that you mention in other post that if the robot just spin but dose not move, we should check the local costmap first so I show /Operator/local_map/costmap on RVIZ. When I use rostopic List, I see another similar topic /Operator/local_costmap. Which one I should use? Except Checking the local costmap, any suggestion to solve the stuck problem?

append parameters for reference.
costmap.txt
mapper.txt
navigator.txt
operator.txt

Thank you,
I-Chun

For centralized operations, reducing to single mapper rather than one for each robot

Greetings,
I was executing experimentation with the code. I realize that exploration and mapper is running on each robot. Since all robots are connected, it may as well be beneficial computationally if a single mapper runs and map is shared with others. There may be different navigator packages for each robot. As one robot localize in the map of another robot, we can get a single tf tree.
I will like to know the design thoughts behind the current deployment approach. I understand one is that if either way they go out of communication range, each robot can function in stand alone capacity.

Regards
Nitin

robot travels in circles

Hi, I wanted to ask why the robot travels almost in circles, defining a very long path in order to reach the target, although the target is near to the robot.
Is there a parameter to fix it?

Thanks

Button Mapping

I am using a logitech F170 controller.

The button numbers as designated in the remote_joy.py file do not seem to correspond to my logitech.
I can't find any other calibration file in the nav2d system.

Furthermore, forward and reverse work when controlling both the simulation and the real robot, but steering angle only works on the simulation.

Steering angle does work, however, on the physical robot when in autonomous mode.

Any ideas?

Build-Error on Kinetic

Hi,
I am new to ROS and I am trying to build nav_2d with kinetic.
I get following error:
/home/kadupitiya/catkin_ws/src/navigation_2d/nav2d_operator/src/RobotOperator.cpp:11:66: error: no matching function for call to ‘costmap_2d::Costmap2DROS::Costmap2DROS(const char [10], tf2_ros::Buffer&)’
mLocalMap = new costmap_2d::Costmap2DROS("local_map", mTf2Buffer);
Please let me know what is the issue.

The branch with_g2o can't be compiled successfully

The compilation errors are following:
/home/scopus/scopus_planning_ws/src/karto_g2o/nav2d_karto/src/G2oSolver.cpp: In constructor ‘G2oSolver::G2oSolver()’: /home/scopus/scopus_planning_ws/src/karto_g2o/nav2d_karto/src/G2oSolver.cpp:27:65: error: no matching function for call to ‘g2o::BlockSolver<g2o::BlockSolverTraits<-1, -1> >::BlockSolver(SlamLinearSolver*&)’ SlamBlockSolver* blockSolver = new SlamBlockSolver(linearSolver); ^ /home/scopus/scopus_planning_ws/src/karto_g2o/nav2d_karto/src/G2oSolver.cpp:27:65: note: candidate is: In file included from /usr/local/include/g2o/core/block_solver.h:199:0, from /home/scopus/scopus_planning_ws/src/karto_g2o/nav2d_karto/src/G2oSolver.cpp:3: /usr/local/include/g2o/core/block_solver.hpp:40:1: note: g2o::BlockSolver<Traits>::BlockSolver(std::unique_ptr<typename Traits::LinearSolverType>) [with Traits = g2o::BlockSolverTraits<-1, -1>; typename Traits::LinearSolverType = g2o::LinearSolver<Eigen::Matrix<double, -1, -1> >] BlockSolver<Traits>::BlockSolver(std::unique_ptr<LinearSolverType> linearSolver) ^ /usr/local/include/g2o/core/block_solver.hpp:40:1: note: no known conversion for argument 1 from ‘SlamLinearSolver* {aka g2o::LinearSolverCholmod<Eigen::Matrix<double, -1, -1> >*}’ to ‘std::unique_ptr<g2o::LinearSolver<Eigen::Matrix<double, -1, -1> >, std::default_delete<g2o::LinearSolver<Eigen::Matrix<double, -1, -1> > > >’ /home/scopus/scopus_planning_ws/src/karto_g2o/nav2d_karto/src/G2oSolver.cpp:28:79: error: no matching function for call to ‘g2o::OptimizationAlgorithmGaussNewton::OptimizationAlgorithmGaussNewton(SlamBlockSolver*&)’ mOptimizer.setAlgorithm(new g2o::OptimizationAlgorithmGaussNewton(blockSolver)); ^ /home/scopus/scopus_planning_ws/src/karto_g2o/nav2d_karto/src/G2oSolver.cpp:28:79: note: candidate is: In file included from /home/scopus/scopus_planning_ws/src/karto_g2o/nav2d_karto/src/G2oSolver.cpp:6:0: /usr/local/include/g2o/core/optimization_algorithm_gauss_newton.h:46:16: note: g2o::OptimizationAlgorithmGaussNewton::OptimizationAlgorithmGaussNewton(std::unique_ptr<g2o::Solver>) explicit OptimizationAlgorithmGaussNewton(std::unique_ptr<Solver> solver); ^ /usr/local/include/g2o/core/optimization_algorithm_gauss_newton.h:46:16: note: no known conversion for argument 1 from ‘SlamBlockSolver* {aka g2o::BlockSolver<g2o::BlockSolverTraits<-1, -1> >*}’ to ‘std::unique_ptr<g2o::Solver>’ make[2]: *** [karto_g2o/nav2d_karto/CMakeFiles/mapper.dir/src/G2oSolver.cpp.o] Error 1 make[1]: *** [karto_g2o/nav2d_karto/CMakeFiles/mapper.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs....

What kind of vehicles is the path planning written for?

Hi,
I'm wondering if the navigation and path planning is applicable for a front steering chassis with higher turn radius? Is this navigation package written for a special kind of robot or is it universal?
Kind regards.

Purpose of loading environmental map into tutorial4?

Hi, I am trying to do implement a dual robot mapping on a floor at our school. This means that I have no information of the current floor and it must coordinate and map the area automatically. Would this library help do that? Or do I need to have input floormap? The goal is to somehow generate the floormap using the mapping.

Thank you.

Navigator appears to be ignoring provided .yaml configuration

Hi!

I'm using nav2d in ROS Kinetic, installed as an ubuntu package (available at /opt/ros/kinetic).
In my launch file I'm configuring Operator and Navigator as follows:

<node name="Operator" pkg="nav2d_operator" type="operator" >
	<rosparam file="$(find nav2d_tutorials)/param/operator.yaml"/>
	<rosparam file="$(find nav2d_tutorials)/param/costmap.yaml" ns="local_map" />
</node>

<node name="Navigator" pkg="nav2d_navigator" type="navigator">
	<rosparam file="$(find nav2d_tutorials)/param/navigator.yaml"/>
</node>

The thing is, Operator complains that "robot" frame is not defined (or at least the error arises when Operator is running, although robot_frame is a Navigator parameter, not sure why):

"robot" passed to lookupTransform argument source_frame does not exist.

By looking at the code and Navigator documentation, it appears that "robot" is what the robot_frame value defaults when it's not provided (for example, https://github.com/skasperski/navigation_2d/blob/master/nav2d_operator/src/RobotOperator.cpp#L16)

I noticed that neither operator.yaml, navigator.yaml nor costmap.yml specify "robot_frame", so I went ahead and added it (at first to navigator.yaml, then everywhere just in case) and nothing happened. Moreover, I see that the only yaml in the tutorials that specifies robot_frame is ros.yaml, which is not passed as argument in any of the examples (https://github.com/skasperski/navigation_2d/blob/master/nav2d_tutorials/param/ros.yaml).

So, I edited ros.yaml so robot_frame would point to my frame, which is called base_footprint, and I even passed ros.yaml to navigator as well, but the error persists. The only thing that ended up working was creating a static tf and creating "robot" based on "base_footprint":

<node pkg="tf" type="static_transform_publisher" name="nav2d_hack"
args="0 0 0 0 0 0 base_footprint robot 100" />

In other words, no matter what I do, the code seems to be ignoring the robot_frame value passed in yaml, and defaults to look for it with the name "robot", so I created a frame name "robot" fot it to finally find it, but this doesn't look right.

Why could the code be ignoring the yaml configuration?

I saw in some other questions that you mentioned it was not adviced to mix nav2d installed as ubuntu package and packages as source in catkin workspace (my packages are source in catking_ws). Could this be related to that? Do I need to get nav2d as code into my workspace for the yaml configuration to work?

Thanks!

Output Command

I really enjoy Nav2d and have the simulations/tutorials up and running perfectly.
I even have it so that when I control the simulated robot in Rviz/Stage, my physical robot also reflects the control commands from the Joystick; such as turning angle and velocity.

The Nav2d, however, does not directly control my physical robot. If I set it to autonomous (for example in tutorial3.launch) then the robot in rviz drives around but my physical one does nothing, not until I use the joystick.

I believe my issue is with the output command messages. I am using the same robot from jetsonhacks (RaceCarJ).
How can I change the output command to ackermann_msgs/AckermannDriveStamped?

Also, to control a physical robot would the output to the robot come from the Navigator Pkg or the Operator Pkg?

Thanks very much for your time!

Should explored-area increase monotonically or not?

I have implemented a code that, after irregular time intervals, subscribes to the message published by
mMapPublisher = robotNode.advertise<nav_msgs::OccupancyGrid>(mMapTopic, 1, true);

and uses the data and the metadata in this message to compute the %age of map known (area known/ total area)?

The percentage, sometimes, goes lower than that computed in previous interval. Is it possible in current implementation that %age of known map can vary non-monotonically like 55%, 65%, 60%, 66% ...?

localize even if the robot does not move

Hi,I want to ask how to make the nav2d_lacalizer process the laser data and update the pose even if the
robot doesn't move. I modified the code to do this by checking if the max weight of the particles is smaller
than a value,like 0.9. But I found the particle cloud become less and less in the rviz after a while. Is my way
viable, do you have any suggestions?

Thanks

MinPosPlanner

Hi,

I have two robots in unknown space. I would like to see how "MinPosPlanner" algorithm works. i would like to visualize the process of identifying frontiers and allocation them to each robot.

I would highly appreciate your help,

Thanks,

Nav2d setup troubles

Hi,

Our tf tree does not have an offset frame between the map and the odometry. So, is there anyway we can just remove that from MultiMapper.cpp and have no problems. Or is that a required component for your library? And what is the purpose of the offset tf for your implementation?

Bear with me as I am still new to this.

Thank you!

catkin_make error

i keep running into this error, any idea what is going here
"CMake Error at /home/mazin/catkin_w/devel/share/costmap_2d/cmake/costmap_2dConfig.cmake:106 (message):
Project 'costmap_2d' specifies
'/home/mazin/catkin_w/src/navigation/costmap_2d/include' as an include dir,
which is not found. It does neither exist as an absolute directory nor in
'/home/mazin/catkin_w/src/navigation/costmap_2d//home/mazin/catkin_w/src/navigation/costmap_2d/include'.
Ask the maintainer 'David V. Lu!! [email protected], Michael Ferguson
[email protected]' to fix it.
Call Stack (most recent call first):
/opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:75 (find_package)
navigation_2d/nav2d_operator/CMakeLists.txt:5 (find_package)

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CSPARSE_INCLUDE_DIR
used as include directory in directory /home/mazin/catkin_w/src/navigation_2d/nav2d_karto
used as include directory in directory /home/mazin/catkin_w/src/navigation_2d/nav2d_karto
used as include directory in directory /home/mazin/catkin_w/src/navigation_2d/nav2d_karto
CSPARSE_LIBRARY
linked by target "mapper" in directory /home/mazin/catkin_w/src/navigation_2d/nav2d_karto

-- Configuring incomplete, errors occurred!
See also "/home/mazin/catkin_w/build/CMakeFiles/CMakeOutput.log".
See also "/home/mazin/catkin_w/build/CMakeFiles/CMakeError.log".
make: *** [cmake_check_build_system] Error 1
"

Explorer unable to find path to goal during exploration on robot.

Hello
I am in process of putting navigation_2d on robot.
Robot fails during exploration and it keep bumping into obstacles. Following console prints are received after some time.

[ INFO] [1482263403.132722137]: map size is 5994
[ INFO] [1482263403.132770053]: map resolution is 0.25
[ INFO] [1482263403.132855664]: Checked 154 cells.
[ INFO] [1482263403.132863249]: Exploration target has been set
[ INFO] [1482263403.132882130]: Map-Value of goal point is 0, lethal threshold is 19.
[ERROR] [1482263403.134084333]: No way between robot and goal!
[ WARN] [1482263403.134288453]: Exploration has failed!

Following warning is continuously reported
[ WARN] [1482264165.978509031]: Laser reading 0.003000 not between range_min 0.010000 and range_max 20.000000!
The rqt_graph is as follows.
rosgraph 2

The launch files are as follows:

>Main launch File 
> <launch>
> 
> 	<!-- Some general parameters -->
> 
> 	<rosparam file="$(find nav2d_launch)/param/robot.yaml"/>
> 
> 	<!-- Start the Operator to control the simulated robot -->
> 	<node name="Operator" pkg="nav2d_operator" type="operator" >
> 		<remap from="cmd_vel" to="/ros0xrobot/cmd_vel"/>	
> 		<rosparam file="$(find nav2d_launch)/param/operator.yaml"/>
> 		<rosparam file="$(find nav2d_launch)/param/costmap.yaml" ns="local_map" />
> 	</node>
> 
> 	<!-- Start Mapper to genreate map from laser scans -->
> 	<node name="Mapper" pkg="nav2d_karto" type="mapper" output="screen">
> 		<remap from="base_scan" to="scan"/>
> 		
> 		<rosparam file="$(find nav2d_launch)/param/mapper.yaml"/>
> 	</node>
> 
> 	<!-- Start the Navigator to move the robot autonomously -->
> 	<node name="Navigator" pkg="nav2d_navigator" type="navigator" output="screen">
> 		<rosparam file="$(find nav2d_launch)/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" />
> 
> 
> 	<!-- RVIZ to view the visualization 
> 	<node name="RVIZ" pkg="rviz" type="rviz" args=" -d $(find nav2d_launch)/param/tutorial3.rviz" />-->
> 
> </launch>
> 

Robot.yaml

##TF frames
laser_frame: laser
robot_frame: base_link
odometry_frame: odom
offset_frame: offset
map_frame: map

### ROS topics ############################################
map_topic: map
laser_topic: scan

Mapper.yaml:

Mapper ################################################```

grid_resolution: 0.25
range_threshold: 20.0
map_update_rate: 2
publish_pose_graph: true
max_covariance: 0.05
transform_publish_period: 0.1
min_map_size: 20

Localizer

min_particles: 2500
max_particles: 10000

Karto

For a full list of available parameters and their

corresponding default values, see OpenKarto/OpenMapper.h

UseScanMatching: true
MinimumTravelDistance: 1.0
MinimumTravelHeading: 0.52
ScanBufferSize: 25
LoopSearchMaximumDistance: 10.0

###########################################################

Costmap.yaml

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

#set if you want the voxel map published
publish_voxel_map: true

#set to true if you want to initialize the costmap from a static map
static_map: false

#begin - COMMENT these lines if you set static_map to true
rolling_window: true
width: 10.0
height: 10.0
resolution: 0.25
#end - COMMENT these lines if you set static_map to true

map_type: costmap
track_unknown_space: true

transform_tolerance: 0.3
obstacle_range: 10.0
min_obstacle_height: 0.0
max_obstacle_height: 2.0
raytrace_range: 12
footprint: [[-0.13, -0.20], [-0.13, 0.20], [0.20, 0.20], [0.20, -0.2]]

robot_radius: 0.40
inflation_radius: 0.25
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: 1.0, min_obstacle_height: 0.08}



Operator.yaml

Maximum velocity command the operator will send to the robot (in m/s)

max_velocity: 0.5

If set to true, the selected best direction is published as a GridCells-Message

publish_route: true

The way is assumed to be free when there is no obstacle within this range (in meter)

max_free_space: 1.0
safety_decay: 0.97

The importance weights of the 3 action values

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

odometry_frame: odom
robot_frame: base_link


Rgds

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.

Hi, I am trying to make navigation_2d for Turlebot. I'm using ROS hydro but I always get errors when running catkin_make.

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CHOLMOD_LIBRARY
    linked by target "mapper" in directory /home/andraz/catkin_ws/src/navigation_2d/nav2d_karto
CSPARSE_INCLUDE_DIR
   used as include directory in directory /home/andraz/catkin_ws/src/navigation_2d/nav2d_karto
CSPARSE_LIBRARY
    linked by target "mapper" in directory /home/andraz/catkin_ws/src/navigation_2d/nav2d_karto
G2O_CORE_LIBRARY
    linked by target "mapper" in directory /home/andraz/catkin_ws/src/navigation_2d/nav2d_karto
G2O_INCLUDE_DIR
   used as include directory in directory /home/andraz/catkin_ws/src/navigation_2d/nav2d_karto
G2O_SOLVER_CHOLMOD
    linked by target "mapper" in directory /home/andraz/catkin_ws/src/navigation_2d/nav2d_karto
G2O_SOLVER_CSPARSE
    linked by target "mapper" in directory /home/andraz/catkin_ws/src/navigation_2d/nav2d_karto
G2O_SOLVER_CSPARSE_EXTENSION
    linked by target "mapper" in directory /home/andraz/catkin_ws/src/navigation_2d/nav2d_karto
G2O_STUFF_LIBRARY
    linked by target "mapper" in directory /home/andraz/catkin_ws/src/navigation_2d/nav2d_karto
G2O_TYPES_SLAM2D
    linked by target "mapper" in directory /home/andraz/catkin_ws/src/navigation_2d/nav2d_karto

-- Configuring incomplete, errors occurred!
Invoking "cmake" failed

How can I fix it?
Tnx, Andraž

Autonomous Exploration with Initial Poses Known

Before adding connectivity safe exploration, I have to get full connectivity autonomous exploration working. Therefore, I have started once again from your original code in order to find the source of "Exploration failed" error. I have modified:

  • MultiMapper.cpp to include the known poses of robots and made mSelfLocalizer = NULL.
  • RobotNavigator.cpp to start mGetMapActionServer for both robots.

This is the sequence I follow to start exploration: robot_0/StartMapping, robot_0/StartExploration, robot_1/StartMapping, robot_1/StartExploration. Console showed a lot of these issues:

  1. Missed desired rate of 0.50Hz! Loop actually took 7.8000 seconds! [ERROR] [1553454158.546228209, 479.000000000]: Could not get robot position: Lookup would require extrapolation into the past. Requested time 468.100000000 but the earliest data is at time469.100000000, when looking up transform from frame [robot_1/base_link] to frame [robot_1/map][ WARN] [1553454158.877107073, 479.300000000]: Failed to compute odometry pose, skipping scan (Lookup would require extrapolation into the past. Requested time 468.100000000 but the earliest data is at time 469.400000000, when looking up transform from frame [robot_1/base_laser_link] to frame [robot_1/offset])

No way between robot and goal! [ WARN] [1553454067.112417528, 387.500000000]: Exploration has failed!.

In either case, the robot_/odom topic shows error status in Rviz (attached image). Following the suggestions in your other posts related to similar issues, I have:

  • slowed down the robots’ max_velocity from 1.0 to 0.3,
  • increased operator node.cpp loop rate from 10Hz to 25Hz, and
  • decreased FREQUENCY in RobotNavigator.cpp from 5.0 Hz to 1 Hz.

After these modifications, I didn’t see many “Missed desired rate..” or “Failed to compute odometry pose,..” warnings but the issues still prevails and robots stop sometimes abruptly (when they are close to each other, narrow corridors). I see that happen more frequently when closure of mapper loop takes way too long. I have attached my code here (https://drive.google.com/file/d/1MwWqplMCzA0ilQHYUECgoeNGW8mOXLOB/view?usp=sharing) . Please help me fix this.

learned_map

Layered-costmap with second laserScan

Hi skasperski,
I'm trying to create a layered-cosmap by costmap2d plugin module with seceond laserScan.
Should the Operaor node subscribe to the second laserSacn? or just add another observation source on costmap.yaml and specify a frame and a topic?

Many thanks,
I-chun

navigation_tutorial tutorial3.launch crashes mapper

Running tutorial3.launch results in a crash

[Mapper-4] process has died [pid 11039, exit code -11, cmd /opt/ros/jade/lib/nav2d_karto/mapper scan:=base_scan __name:=Mapper __log:=/home/noflip/.ros/log/b6b6ae70-1acb-11e6-b2f9-1c659dee480d/Mapper-4.log].
log file: /home/noflip/.ros/log/b6b6ae70-1acb-11e6-b2f9-1c659dee480d/Mapper-4*.log

position of the robot:
screenshot

screenshot
(i wouldn't trust rviz here, i think it didn't refresh the position since i was in another worskpace)

[terminal:1]
➜  launch git:(master) ✗ roslaunch nav2d_tutorials tutorial3.launch

[terminal:2]
➜  launch git:(master) ✗ rosservice call /StartMapping 3
response: 0
➜  launch git:(master) ✗ rosservice call /StartExploration 2
response: 0

[terminal:1]
[Mapper-4] process has died [pid 13336, exit code -11, cmd /opt/ros/jade/lib/nav2d_karto/mapper scan:=base_scan __name:=Mapper __log:=/home/$USER/.ros/log/da07a914-1acc-11e6-b2f9-1c659dee480d/Mapper-4.log].
log file: /home/$USER/.ros/log/da07a914-1acc-11e6-b2f9-1c659dee480d/Mapper-4*.log

log file is empty

same exception happens, in another location after adding respawn="true" to mapper in the launch file

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.