How to explore the environment autonomously for a mobile robot in noetic?
Hello everybody,
in the beginning I worked for the implementation of my mobile robot with ROS melodic and now I changed to ROS noetic. My problem is that the RRT exploration is not working anymore (link to package). Do you have any suggestions for me?
I already installed certain packages and realized that something is wrong with the assigner.py script in the package. I could not get the green markers in rviz.
This is my launch file to start the autonomous mapping of the environment:
<launch>
<!-- SLAM Node -->
<include file="$(find robot_autonomous_slam)/launch/robot_autonomous_slam.launch">
</include>
<!-- move_base -->
<include file="$(find robot_navigation)/launch/move_base.launch">
</include>
<!-- Autonomous Explorer Node -->
<include file="$(find robot_autonomous_slam)/launch/RRT.launch">
</include>
</launch>
the RRT.launch is like the following:
<!-- Launch file for the rrt-detector and the assigner -->
<launch>
<arg name="eta" value="1.0"/>
<arg name="Geta" value="15.0"/>
<param name="namespace_init_count" value="1"/>
<node pkg="robot_autonomous_slam" type="global_rrt_detector" name="global_detector" output="screen">
<param name="eta" value="$(arg Geta)"/>
<param name="map_topic" value="/map"/>
</node>
<node pkg="robot_autonomous_slam" type="local_rrt_detector" name="local_detector" output="screen">
<param name="eta" value="$(arg eta)"/>
<param name="map_topic" value="/map"/>
<param name="robot_frame" value="/base_link"/>
</node>
<node pkg="robot_autonomous_slam" type="filter.py" name="filter" output="screen">
<param name="map_topic" value="/map"/>
<param name="info_radius" value="1"/>
<param name="costmap_clearing_threshold" value="70"/>
<param name="goals_topic" value="/detected_points"/>
<param name="namespace" value=""/>
<param name="n_robots" value="1"/>
<param name="rate" value="100"/>
</node>
<node pkg="robot_autonomous_slam" type="assigner.py" name="assigner" output="screen">
<param name="map_topic" value="/map"/>
<param name="global_frame" value="/map"/>
<param name="info_radius" value="1"/>
<param name="info_multiplier" value="3.0"/>
<param name="hysteresis_radius" value="3.0"/>
<param name="hysteresis_gain" value="2.0"/>
<param name="frontiers_topic" value="/filtered_points"/>
<param name="n_robots" value="1"/>
<param name="namespace" value=""/>
<param name="delay_after_assignement" value="0.5"/>
<param name="rate" value="100"/>
</node>
</launch>
Finally if I am setting the publishing points in rviz the robot is not moving autonomously. I checked my rqt_graph and I determined that the assigner node is not connected to my mobile robot. I don't know why but the assigner node is connected directly to rosout.
Thank you very much! I appreciate your help!
Could you explain what is not working? Maybe errors you are receiving?
Thank you for your reply! I am going to edit my contribution for better understanding.
The main issue I guess would be ros melodic was working with python(2) while noetic is meant to be working with python3. So there might be several changes to make in the package.