Hi All,
I am working on a project which requires me to execute Hector SLAM on Rosbot Pro 2.0.
I installed Hector SLAM package using following commands
cd ros_workspace/src
git clone https://github.com/tu-darmstadt-ros-pkg/hector_slam
cd ..
source devel/setup.bash
catkin_make --pkg hector_mapping
After Successful compiling of workspace, I wrote test.launch file as below
<arg name="use_rosbot" default="true"/>
<arg name="use_gazebo" default="false"/>
<include if="$(arg use_gazebo)" file="$(find rosbot_gazebo)/launch/maze_world.launch"/>
<include if="$(arg use_gazebo)" file="$(find rosbot_gazebo)/launch/rosbot.launch"/>
<node if="$(arg use_rosbot)" pkg="rplidar_ros" type="rplidarNode" name="rplidar">
<param name="angle_compensate" type="bool" value="true"/>
<param name="serial_baudrate" type="int" value="256000"/>
</node>
<node if="$(arg use_rosbot)" pkg="tutorial_pkg" type="drive_controller_node" name="drive_controller"/>
<node pkg="tf" type="static_transform_publisher" name="laser_broadcaster" args="0 0 0 3.14 0 0 base_link laser_frame 100" />
<node pkg="teleop_twist_keyboard" type="teleop_twist_keyboard.py" name="teleop_twist_keyboard" output="screen"/>
<node pkg="rviz" type="rviz" name="rviz"
args="-d $(find hector_slam_launch)/rviz_cfg/mapping_demo.rviz"/>
<arg name="geotiff_map_file_path" default="$(find hector_geotiff)/maps"/>
<param name="/use_sim_time" value="true"/>
While i execute this file I am running SLAM tutorial file on core 2 as shown below
/opt/husarion/tools/rpi-linux/ros-core2-client /dev/ttyCORE2
The error I am getting is as follows
ERROR: cannot launch node of type [hector_trajectory_server/hector_trajectory_server]: can't locate node [hector_trajectory_server] in package [hector_trajectory_server]
ERROR: cannot launch node of type [hector_geotiff/geotiff_node]: can't locate node [geotiff_node] in package [hector_geotiff]
How to resolve this error ?
Hello Pradeep_BV,
Package hector_slam
is a metapackage containing other ROS packages.
When you build workspace with catkin_make --pkg hector_mapping
it causes only hector_mapping
to be build.
Solution is to build workspace without --pkg hector_mapping
option, use only:
catkin_make
Regards,
Łukasz
Hi Lukasz,
I tried
Catkin_make
The output is as follows
Base path: /home/husarion/ros_workspace
Source space: /home/husarion/ros_workspace/src
Build space: /home/husarion/ros_workspace/build
Devel space: /home/husarion/ros_workspace/devel
Install space: /home/husarion/ros_workspace/install
####
#### Running command: "make cmake_check_build_system" in "/home/husarion/ros_workspace/build"
####
####
#### Running command: "make -j4 -l4" in "/home/husarion/ros_workspace/build"
####
Scanning dependencies of target std_msgs_generate_messages_py
Scanning dependencies of target _hector_nav_msgs_generate_messages_check_deps_GetSearchPosition
CMake Error: Cannot open file for write: /home/husarion/ros_workspace/build/hector_slam/hector_map_tools/CMakeFiles/std_msgs_generate_messages_py.dir/depend.make.tmpCMake Error: Cannot open file for write: /home/husarion/ros_workspace/build/hector_slam/hector_nav_msgs/CMakeFiles/_hector_nav_msgs_generate_messages_check_deps_GetSearchPosition.dir/depend.make.tmp
CMake Error: : System Error: Permission deniedCMake Error: : System Error: Permission denied
hector_slam/hector_nav_msgs/CMakeFiles/_hector_nav_msgs_generate_messages_check_deps_GetSearchPosition.dir/build.make:74: recipe for target 'hector_slam/hector_nav_msgs/CMakeFiles/_hector_nav_msgs_generate_messages_check_deps_GetSearchPosition.dir/depend' failed
hector_slam/hector_map_tools/CMakeFiles/std_msgs_generate_messages_py.dir/build.make:70: recipe for target 'hector_slam/hector_map_tools/CMakeFiles/std_msgs_generate_messages_py.dir/depend' failed
make[2]: *** [hector_slam/hector_map_tools/CMakeFiles/std_msgs_generate_messages_py.dir/depend] Error 2
make[2]: *** [hector_slam/hector_nav_msgs/CMakeFiles/_hector_nav_msgs_generate_messages_check_deps_GetSearchPosition.dir/depend] Error 2
CMakeFiles/Makefile2:595: recipe for target 'hector_slam/hector_map_tools/CMakeFiles/std_msgs_generate_messages_py.dir/all' failed
make[1]: *** [hector_slam/hector_map_tools/CMakeFiles/std_msgs_generate_messages_py.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:1248: recipe for target 'hector_slam/hector_nav_msgs/CMakeFiles/_hector_nav_msgs_generate_messages_check_deps_GetSearchPosition.dir/all' failed
make[1]: *** [hector_slam/hector_nav_msgs/CMakeFiles/_hector_nav_msgs_generate_messages_check_deps_GetSearchPosition.dir/all] Error 2
Scanning dependencies of target nav_msgs_generate_messages_py
CMake Error: Cannot open file for write: /home/husarion/ros_workspace/build/hector_slam/hector_map_tools/CMakeFiles/nav_msgs_generate_messages_py.dir/depend.make.tmp
CMake Error: : System Error: Permission denied
Scanning dependencies of target _hector_nav_msgs_generate_messages_check_deps_GetDistanceToObstacle
hector_slam/hector_map_tools/CMakeFiles/nav_msgs_generate_messages_py.dir/build.make:70: recipe for target 'hector_slam/hector_map_tools/CMakeFiles/nav_msgs_generate_messages_py.dir/depend' failed
CMake Error: Cannot open file for write: /home/husarion/ros_workspace/build/hector_slam/hector_nav_msgs/CMakeFiles/_hector_nav_msgs_generate_messages_check_deps_GetDistanceToObstacle.dir/depend.make.tmpmake[2]: *** [hector_slam/hector_map_tools/CMakeFiles/nav_msgs_generate_messages_py.dir/depend] Error 2
CMake Error: : System Error: Permission denied
CMakeFiles/Makefile2:1107: recipe for target 'hector_slam/hector_map_tools/CMakeFiles/nav_msgs_generate_messages_py.dir/all' failed
make[1]: *** [hector_slam/hector_map_tools/CMakeFiles/nav_msgs_generate_messages_py.dir/all] Error 2
hector_slam/hector_nav_msgs/CMakeFiles/_hector_nav_msgs_generate_messages_check_deps_GetDistanceToObstacle.dir/build.make:74: recipe for target 'hector_slam/hector_nav_msgs/CMakeFiles/_hector_nav_msgs_generate_messages_check_deps_GetDistanceToObstacle.dir/depend' failed
make[2]: *** [hector_slam/hector_nav_msgs/CMakeFiles/_hector_nav_msgs_generate_messages_check_deps_GetDistanceToObstacle.dir/depend] Error 2
CMakeFiles/Makefile2:1659: recipe for target 'hector_slam/hector_nav_msgs/CMakeFiles/_hector_nav_msgs_generate_messages_check_deps_GetDistanceToObstacle.dir/all' failed
make[1]: *** [hector_slam/hector_nav_msgs/CMakeFiles/_hector_nav_msgs_generate_messages_check_deps_GetDistanceToObstacle.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed
I gave edit permissions to all source folder files using
chmod 777 -R src
I also tried to install ros dependencies using
rosdep install --from-paths src --ignore-src -r -y
The output is as follows
#All required rosdeps installed successfully
What is the cause of the error ?
Hello Pradeep_BV,
Try to clear all workspace and build again:
cd /home/husarion/ros_workspace
rm -rf build/ devel/
catkin_make
Why are you trying to build hector_slam
from source? It is possible to install it from Ubuntu packages:
sudo apt install ros-kinetic-hector-slam
Regards,
Łukasz