Robotics StackExchange | Archived questions

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!

Asked by sincoy on 2021-12-15 14:20:29 UTC

Comments

RRT exploration is not working anymore

Could you explain what is not working? Maybe errors you are receiving?

Asked by Akhil Kurup on 2021-12-15 14:39:35 UTC

Thank you for your reply! I am going to edit my contribution for better understanding.

Asked by sincoy on 2021-12-15 16:07:00 UTC

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.

Asked by aarsh_t on 2021-12-16 12:08:23 UTC

Answers