Real Robot Lab Launch Error

I am getting a Queue Limit while I run my real robot project in rosject. I tried the previously suggested method of deleting the old rosject and created a new real_robot_project from the course but still I am facing the same error.

My ros package when launched

RealrobotLab main.launch in terminal

user:~/catkin_ws$ roslaunch realrobotlab main.launch... logging to /home/user/.ros/log/9f253e1a-d483-11ed-a8ee-0242ac190007/roslaunch-1_xterm-1516.log
Checking log directory for disk usage. This may take a while.Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://1_xterm:46843/

SUMMARY
========

PARAMETERS
 * /gazebo/enable_ros_network: True
 * /robot_description: <?xml version="1....
 * /robot_state_publisher_turtlebot3/publish_frequency: 5.0
 * /rosdistro: noetic
 * /rosversion: 1.15.11
 * /use_sim_time: True

NODES
  /
    gazebo (gazebo_ros/gzserver)
    gazebo_gui (gazebo_ros/gzclient)
    robot_state_publisher_turtlebot3 (robot_state_publisher/robot_state_publisher)
    spawn_urdf (gazebo_ros/spawn_model)

auto-starting new master
process[master]: started with pid [1540]
ROS_MASTER_URI=http://1_xterm:11311

setting /run_id to 9f253e1a-d483-11ed-a8ee-0242ac190007
process[rosout-1]: started with pid [1559]
started core service [/rosout]
process[gazebo-2]: started with pid [1562]
process[gazebo_gui-3]: started with pid [1565]
process[spawn_urdf-4]: started with pid [1569]
process[robot_state_publisher_turtlebot3-5]: started with pid [1573]
++ ls /usr/bin/gzclient-11.5.1
+ gzclient_path=/usr/bin/gzclient-11.5.1
+ DISPLAY=:2
+ /usr/bin/gzclient-11.5.1 --verbose -g /opt/ros/noetic/lib/libgazebo_ros_paths_plugin.so -g /opt/ros/noetic/lib/libgazebo_ros_api_plugin.so __name:=gazebo_gui __log:=/home/user/.ros/log/9f253e1a-d483-11ed-a8ee-0242ac190007/gazebo_gui-3.log
Gazebo multi-robot simulator, version 11.5.1
Copyright (C) 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[Wrn] [GuiIface.cc:200] g/gui-plugin is really loading a SystemPlugin. To load a GUI plugin please use --gui-client-plugin
Gazebo multi-robot simulator, version 11.5.1
Copyright (C) 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[ INFO] [1680789736.287465035]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[ INFO] [1680789736.295281972]: Finished loading Gazebo ROSAPI Plugin.
[Msg] Waiting for master.
[Msg] Connected to gazebo master @ http://172.25.0.7:11345
[Msg] Publicized address: 172.25.0.7
[ INFO] [1680789736.682227886]: Finished loading Gazebo ROSAPI Plugin.
[ INFO] [1680789736.687308944]: waitForService: Service [/gazebo_gui/set_physics_properties] has not been advertised, waiting...
[Msg] Waiting for master.
[Msg] Connected to gazebo master @ http://172.25.0.7:11345
[Msg] Publicized address: 172.25.0.7
[Wrn] [GuiIface.cc:298] Couldn't locate specified .ini. Creating file at "/home/user/.gazebo/gui.ini"
Warning [parser.cc:723] Can not find the XML attribute 'version' in sdf XML tag for model: ring_road_v2. Please specifythe SDF protocol supported in the model configuration file.The first sdf tag in the config file will be used
[Wrn] [GuiIface.cc:120] QStandardPaths: XDG_RUNTIME_DIR notset, defaulting to '/tmp/runtime-user'
Warning [parser.cc:723] Can not find the XML attribute 'version' in sdf XML tag for model: triangular_prism. Please specify the SDF protocol supported in the model configuration file. The first sdf tag in the config file will be used
Warning [parser.cc:723] Can not find the XML attribute 'version' in sdf XML tag for model: triangular_prism_direccion_obligada. Please specify the SDF protocol supported in the model configuration file. The first sdf tag in the config filewill be used
Warning [parser.cc:723] Can not find the XML attribute 'version' in sdf XML tag for model: triangular_prism_direccion_obligada. Please specify the SDF protocol supported in the model configuration file. The first sdf tag in the config filewill be used
Warning [parser.cc:723] Can not find the XML attribute 'version' in sdf XML tag for model: triangular_prism. Please specify the SDF protocol supported in the model configuration file. The first sdf tag in the config file will be used
Warning [parser.cc:723] Can not find the XML attribute 'version' in sdf XML tag for model: triangular_prism_pedestrian.Please specify the SDF protocol supported in the model configuration file. The first sdf tag in the config file will beused
Warning [parser.cc:723] Can not find the XML attribute 'version' in sdf XML tag for model: triangular_prism_pedestrian.Please specify the SDF protocol supported in the model configuration file. The first sdf tag in the config file will beused
Warning [parser.cc:723] Can not find the XML attribute 'version' in sdf XML tag for model: OverLoard Camera. Please specify the SDF protocol supported in the model configuration file. The first sdf tag in the config file will be used
[Msg] Loading world file [/home/user/simulation_ws/src/realrobotlab_simulation/realrobotlab/worlds/realrobotlab_v1.world]
[ INFO] [1680789738.300873282]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[Err] [InsertModelWidget.cc:402] Missing model.config for model "/home/user/.gazebo/models/RubberDucky"
[Err] [InsertModelWidget.cc:402] Missing model.config for model "/home/user/.gazebo/models/lms1xx"
[Err] [InsertModelWidget.cc:402] Missing model.config for model "/home/user/.gazebo/models/media"
[Err] [InsertModelWidget.cc:402] Missing model.config for model "/home/user/.gazebo/models/meshes"
[Err] [InsertModelWidget.cc:402] Missing model.config for model "/home/user/.gazebo/models/turtlebot3_autorace"
[Err] [InsertModelWidget.cc:402] Missing model.config for model "/home/user/.gazebo/models/turtlebot3_autorace_2020"
[Err] [InsertModelWidget.cc:402] Missing model.config for model "/home/user/.gazebo/models/turtlebot3_description"
[Err] [InsertModelWidget.cc:402] Missing model.config for model "/home/user/simulation_ws/src/turtlebot3/turtlebot3_simulations/turtlebot3_gazebo/models/turtlebot3_autorace"
[Err] [InsertModelWidget.cc:402] Missing model.config for model "/home/user/simulation_ws/src/turtlebot3/turtlebot3_simulations/turtlebot3_gazebo/models/turtlebot3_autorace_2020"
[ INFO] [1680789739.694343244]: Camera Plugin: The 'robotNamespace' param did not exit
[ INFO] [1680789739.723781089, 0.001000000]: Camera Plugin (ns = )  <tf_prefix_>, set to ""
[ INFO] [1680789740.869987470, 0.001000000]: Physics dynamic reconfigure ready.
[ INFO] [1680789740.966241017, 0.001000000]: Camera Plugin:Using the 'robotNamespace' param: '/'
[ INFO] [1680789740.987381793, 0.001000000]: Camera Plugin (ns = /)  <tf_prefix_>, set to ""
[ INFO] [1680789740.998351479, 0.001000000]: Laser Plugin: Using the 'robotNamespace' param: '/'
[ INFO] [1680789740.998532109, 0.001000000]: Starting LaserPlugin (ns = /)
[ INFO] [1680789741.011383068, 0.001000000]: Laser Plugin (ns = /)  <tf_prefix_>, set to ""
[ INFO] [1680789741.097920864, 0.001000000]: Starting plugin DiffDrive(ns = //)
[ INFO] [1680789741.106303294, 0.001000000]: DiffDrive(ns =//): <rosDebugLevel> = na
[ INFO] [1680789741.110738059, 0.001000000]: DiffDrive(ns =//): <tf_prefix> =
[ INFO] [1680789741.118834282, 0.001000000]: DiffDrive(ns =//): Advertise joint_states
[ INFO] [1680789741.167283696, 0.001000000]: DiffDrive(ns =//): Try to subscribe to cmd_vel
[ INFO] [1680789741.264376745, 0.001000000]: DiffDrive(ns =//): Subscribe to cmd_vel
[ INFO] [1680789741.295042341, 0.001000000]: DiffDrive(ns =//): Advertise odom on odom
[spawn_urdf-4] process has finished cleanly
log file: /home/user/.ros/log/9f253e1a-d483-11ed-a8ee-0242ac190007/spawn_urdf-4*.log
[Wrn] [Publisher.cc:136] Queue limit reached for topic /gazebo/default/pose/local/info, deleting message. This warning is printed only once.
[Wrn] [Publisher.cc:136] Queue limit reached for topic /gazebo/default/physics/contacts, deleting message. This warning is printed only once.

Any help would be highly appreciated…

Thank you,

/- BG

Hi @balajigunasekeran22 ,

Why are you running (or trying to run) topics_quiz program on rosject environment.
Certainly it will not work.

This rosject environment is to make your final course project - which is the Wall Follower Robot - with service and action.

You cannot execute course assignments in this rosject setup. [At least, not without a lot of changes in the environment and dependent files].

Also the bunch of errors/warnings that you see when you execute roslaunch realrobotlab main.launch can be safely ignored. It will not cause you any trouble.

Regards,
Girish

Hi @girishkumar.kannan ,

I am running the wall_follow task I just name the pkg as topics _quiz inorder to avoid confusion I created a pkg from scratch. and sourced : source /home/simulations/public_sim_ws/devel/setup.bash . And still I face the same issue and I don’t face error in code don’t know what going wrong here. I even deleted and did catkin_make after deleting build and devel folder.

roslaunch in Terminal

user:~/catkin_ws$ roslaunch topics_wall_follow wall_follow.launch
... logging to /home/user/.ros/log/3e2718c6-d547-11ed-bb90-0242c0a83007/roslaunch-2_xterm-9970.logChecking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://2_xterm:37777/

SUMMARY
========

PARAMETERS
 * /rosdistro: noetic
 * /rosversion: 1.15.11

NODES
  /
    wall_follow (topics_wall_follow/main.py)

ROS_MASTER_URI=http://2_xterm:11311

process[wall_follow-1]: started with pid [10211]
[wall_follow-1] process has finished cleanly
log file: /home/user/.ros/log/3e2718c6-d547-11ed-bb90-0242c0a83007/wall_follow-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done
user:~/catkin_ws$

roslaunch realrobot main.launch in terminal

user:~$ roslaunch realrobotlab main.launch... logging to /home/user/.ros/log/3e2718c6-d547-11ed-bb90-0242c0a83007/roslaunch-2_xterm-8174.logChecking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://2_xterm:42551/

SUMMARY
========

PARAMETERS
 * /gazebo/enable_ros_network: True
 * /robot_description: <?xml version="1....
 * /robot_state_publisher_turtlebot3/publish_frequency: 5.0
 * /rosdistro: noetic
 * /rosversion: 1.15.11
 * /use_sim_time: True

NODES
  /
    gazebo (gazebo_ros/gzserver)
    gazebo_gui (gazebo_ros/gzclient)
    robot_state_publisher_turtlebot3 (robot_state_publisher/robot_state_publisher)
    spawn_urdf (gazebo_ros/spawn_model)

auto-starting new master
process[master]: started with pid [8213]
ROS_MASTER_URI=http://2_xterm:11311

setting /run_id to 3e2718c6-d547-11ed-bb90-0242c0a83007
process[rosout-1]: started with pid [8232]
started core service [/rosout]
process[gazebo-2]: started with pid [8243]
process[gazebo_gui-3]: started with pid [8250]
process[spawn_urdf-4]: started with pid [8255]
process[robot_state_publisher_turtlebot3-5]: started with pid [8260]
++ ls /usr/bin/gzclient-11.5.1
+ gzclient_path=/usr/bin/gzclient-11.5.1
+ DISPLAY=:2
+ /usr/bin/gzclient-11.5.1 --verbose -g /opt/ros/noetic/lib/libgazebo_ros_paths_plugin.so -g /opt/ros/noetic/lib/libgazebo_ros_api_plugin.so __name:=gazebo_gui __log:=/home/user/.ros/log/3e2718c6-d547-11ed-bb90-0242c0a83007/gazebo_gui-3.log
Gazebo multi-robot simulator, version 11.5.1
Copyright (C) 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[Wrn] [GuiIface.cc:200] g/gui-plugin is really loading a SystemPlugin. To load a GUI plugin please use --gui-client-plugin
Gazebo multi-robot simulator, version 11.5.1
Copyright (C) 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[ INFO] [1680873752.430954555]: Finished loading Gazebo ROS API Plugin.
[Msg] Waiting for master.
[Msg] Connected to gazebo master @ http://192.168.48.7:11345
[Msg] Publicized address: 192.168.48.7
[ INFO] [1680873752.453773058]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[ INFO] [1680873752.880927571]: Finished loading Gazebo ROS API Plugin.
Warning [parser.cc:723] Can not find the XML attribute 'version' in sdf XML tag for model: ring_road_v2. Please specify the SDF protocol supported in the model configuration file. The first sdf tag in the config file will be used
[ INFO] [1680873752.916322095]: waitForService: Service [/gazebo_gui/set_physics_properties] has not been advertised, waiting...
[Msg] Waiting for master.
[Msg] Connected to gazebo master @ http://192.168.48.7:11345
[Msg] Publicized address: 192.168.48.7
Warning [parser.cc:723] Can not find the XML attribute 'version' in sdf XML tag for model: triangular_prism. Please specify the SDF protocol supported in the model configuration file. The first sdf tag in the config file will be used
Warning [parser.cc:723] Can not find the XML attribute 'version' in sdf XML tag for model: triangular_prism_direccion_obligada. Please specify the SDF protocol supported in the model configuration file. The first sdf tag in the config file will be used
Warning [parser.cc:723] Can not find the XML attribute 'version' in sdf XML tag for model: triangular_prism_direccion_obligada. Please specify the SDF protocol supported in the model configuration file. The first sdf tag in the config file will be used
[Wrn] [GuiIface.cc:120] QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-user'
Warning [parser.cc:723] Can not find the XML attribute 'version' in sdf XML tag for model: triangular_prism. Please specify the SDF protocol supported in the model configuration file. The first sdf tag in the config file will be used
Warning [parser.cc:723] Can not find the XML attribute 'version' in sdf XML tag for model: triangular_prism_pedestrian. Please specify the SDF protocol supported in the model configuration file. The first sdf tag in the config file will be used
Warning [parser.cc:723] Can not find the XML attribute 'version' in sdf XML tag for model: triangular_prism_pedestrian. Please specify the SDF protocol supported in the model configuration file. The first sdf tag in the config file will be used
Warning [parser.cc:723] Can not find the XML attribute 'version' in sdf XML tag for model: OverLoard Camera. Please specify the SDF protocol supported in the model configuration file. The first sdf tag in the config file will be used
[Msg] Loading world file [/home/user/simulation_ws/src/realrobotlab_simulation/realrobotlab/worlds/realrobotlab_v1.world]
[ INFO] [1680873753.573932860]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[Err] [InsertModelWidget.cc:402] Missing model.config for model "/home/user/.gazebo/models/RubberDucky"
[Err] [InsertModelWidget.cc:402] Missing model.config for model "/home/user/.gazebo/models/lms1xx"
[Err] [InsertModelWidget.cc:402] Missing model.config for model "/home/user/.gazebo/models/media"
[Err] [InsertModelWidget.cc:402] Missing model.config for model "/home/user/.gazebo/models/meshes"
[Err] [InsertModelWidget.cc:402] Missing model.config for model "/home/user/.gazebo/models/turtlebot3_autorace"
[Err] [InsertModelWidget.cc:402] Missing model.config for model "/home/user/.gazebo/models/turtlebot3_autorace_2020"
[Err] [InsertModelWidget.cc:402] Missing model.config for model "/home/user/.gazebo/models/turtlebot3_description"
[Err] [InsertModelWidget.cc:402] Missing model.config for model "/home/user/simulation_ws/src/turtlebot3/turtlebot3_simulations/turtlebot3_gazebo/models/turtlebot3_autorace"
[Err] [InsertModelWidget.cc:402] Missing model.config for model "/home/user/simulation_ws/src/turtlebot3/turtlebot3_simulations/turtlebot3_gazebo/models/turtlebot3_autorace_2020"
[ INFO] [1680873754.531310411]: Camera Plugin: The 'robotNamespace' param did not exit
[ INFO] [1680873754.537473980, 0.001000000]: CameraPlugin (ns = )  <tf_prefix_>, set to ""
[ INFO] [1680873755.707900403, 0.001000000]: Physics dynamic reconfigure ready.
[ INFO] [1680873755.794630675, 0.001000000]: CameraPlugin: Using the 'robotNamespace' param: '/'
[ INFO] [1680873755.816036923, 0.001000000]: CameraPlugin (ns = /)  <tf_prefix_>, set to ""
[ INFO] [1680873755.818316526, 0.001000000]: Laser Plugin: Using the 'robotNamespace' param: '/'
[ INFO] [1680873755.818481474, 0.001000000]: Starting Laser Plugin (ns = /)
[ INFO] [1680873755.847511987, 0.001000000]: Laser Plugin (ns = /)  <tf_prefix_>, set to ""
[ INFO] [1680873755.881331690, 0.001000000]: Starting plugin DiffDrive(ns = //)
[ INFO] [1680873755.881577233, 0.001000000]: DiffDrive(ns = //): <rosDebugLevel> = na
[ INFO] [1680873755.885860510, 0.001000000]: DiffDrive(ns = //): <tf_prefix> =
[ INFO] [1680873755.900075151, 0.001000000]: DiffDrive(ns = //): Advertise joint_states
[ INFO] [1680873755.909560674, 0.001000000]: DiffDrive(ns = //): Try to subscribe to cmd_vel
[ INFO] [1680873755.931907267, 0.001000000]: DiffDrive(ns = //): Subscribe to cmd_vel
[ INFO] [1680873755.940898260, 0.001000000]: DiffDrive(ns = //): Advertise odom on odom
[Wrn] [Publisher.cc:136] Queue limit reached for topic /gazebo/default/pose/local/info, deleting message. This warning is printed only once.
[spawn_urdf-4] process has finished cleanly
log file: /home/user/.ros/log/3e2718c6-d547-11ed-bb90-0242c0a83007/spawn_urdf-4*.log
[Wrn] [Publisher.cc:136] Queue limit reached for topic /gazebo/default/physics/contacts, deleting message. This warning is printed only once.

my log file after

user:~/.ros/log/3e2718c6-d547-11ed-bb90-0242c0a83007$ cat wall_follow-1.log
[rospy.client][INFO] 2023-04-07 13:23:04,997: init_node, name[/wall_follow], pid[10211]
[xmlrpc][INFO] 2023-04-07 13:23:04,997: XML-RPC server binding to 0.0.0.0:0
[xmlrpc][INFO] 2023-04-07 13:23:04,998: Started XML-RPC server [http://2_xterm:36033/]
[rospy.impl.masterslave][INFO] 2023-04-07 13:23:04,998: _ready: http://2_xterm:36033/
[rospy.init][INFO] 2023-04-07 13:23:04,998: ROS Slave URI: [http://2_xterm:36033/]
[rospy.registration][INFO] 2023-04-07 13:23:04,999: Registering with master node http://2_xterm:11311
[xmlrpc][INFO] 2023-04-07 13:23:04,999: xml rpc node: starting XML-RPC server
[rospy.init][INFO] 2023-04-07 13:23:05,099: registered with master
[rospy.rosout][INFO] 2023-04-07 13:23:05,099: initializing /rosout core topic
[rospy.rosout][INFO] 2023-04-07 13:23:05,109: connected to core topic /rosout
[rospy.simtime][INFO] 2023-04-07 13:23:05,112: initializing /clock core topic
[rospy.simtime][INFO] 2023-04-07 13:23:05,123: connected to core topic /clock
[rospy.internal][INFO] 2023-04-07 13:23:05,160: topic[/clock] adding connection to [http://2_xterm:45091/], count 0
[rospy.internal][INFO] 2023-04-07 13:23:05,266: topic[/scan] adding connection to [http://2_xterm:45091/], count 0
[rospy.core][INFO] 2023-04-07 13:23:05,273: signal_shutdown [atexit]
[rospy.internal][INFO] 2023-04-07 13:23:05,294: topic[/clock] removing connection to http://2_xterm:45091/
[rospy.internal][INFO] 2023-04-07 13:23:05,295: topic[/scan] removing connection to http://2_xterm:45091/
[rospy.impl.masterslave][INFO] 2023-04-07 13:23:05,295: atexit

main.py

#!/usr/bin/env python

import rospy
import math
from geometry_msgs.msg import Twist
from sensor_msgs.msg import LaserScan

class WallFollow:

    def __init__(self):
        self.left = 0
        self.front = 0
        self.right = 0
        self.pub = rospy.Publisher('/cmd_vel', Twist, queue_size=10)
        self.pub_msg = Twist()
        self.rate = rospy.Rate(10)
        self.start_position = None
        rospy.Subscriber('/scan', LaserScan, self.callback)

    def publish_cmd_vel_once(self):
        while not rospy.is_shutdown():
            connections = self.pub.get_num_connections()
            if connections > 0:
                self.pub.publish(self.pub_msg)
                break
            else:
                self.rate.sleep()

    def stop(self):
        self.pub_msg.linear.x = 0
        self.pub_msg.linear.y = 0
        self.pub_msg.angular.z = 0
        self.publish_cmd_vel_once()

    def move(self):
        self.pub_msg.linear.x = 0.15
        self.pub_msg.angular.z = 0
        self.publish_cmd_vel_once()
        self.rate.sleep()

    def turn(self, angle):
        self.pub_msg.linear.x = 0
        self.pub_msg.angular.z = angle
        self.publish_cmd_vel_once()
        self.rate.sleep()
    
    def callback(self, laser):
    
        #        TB3 ray_angle
        #             0
        #          --------
        #         |        |
        #         |        |
        # -90 --- |   TB3  | --- 90
        #         |        |
        #         |        |
        #          --------
        #            180


        # Ray angle in TB3
        #ra = laser.angle_min + (i *  laser.angle_increment)

        #Front_distance = ray_angle(0) 
        front_id = int((0 - laser.angle_min)/laser.angle_increment)

        #right_distance = ray_angle(90) 
        right_id = int((math.pi/2 - laser.angle_min)/laser.angle_increment)

        #left_distance = ray_angle(-90) 
        left_id = int(((-math.pi/2) - laser.angle_min)/laser.angle_increment)

        rang = laser.ranges
        self.left = rang[left_id]
        self.front = rang[front_id]
        self.right = rang[right_id]
        rospy.loginfo("Left distance: {}".format(self.left))
        rospy.loginfo("Front distance: {}".format(self.front))
        rospy.loginfo("Right distance: {}".format(self.right))

        if self.start_position is None:
            self.start_position = self.pub_msg
            rospy.loginfo("Starting Position: {}".format(self.start_position))


    def wall_follow(self):
        #rospy.Subscriber('/scan', LaserScan, self.callback)

        while not rospy.is_shutdown():
            self.pub.publish(self.pub_msg)

            if 0.2 <= self.right <= 0.3:
                rospy.loginfo_once("Moving Forward")
                self.move()

            elif self.front < 0.2:
                rospy.logwarn('Obstacle at front  : {}'.format(self.front))
                #rospy.loginfo("Robot Stopped")
                self.stop()
                self.rate.sleep(1)
                self.turn(10)
                self.move()

            elif self.right < 0.2:
                rospy.logwarn('Close to wall at right  : {}'.format(self.right))
                rospy.loginfo("Turning left")
                self.turn(-10)
                self.move()

            elif self.right > 0.3:
                rospy.logwarn('Far from wall at right  : {}'.format(self.right))
                rospy.loginfo("Turning Right")
                self.turn(10)
                self.move()
            
            elif 0.5 < self.front > 0.3 :
                rospy.logwarn('No Obstacle at front  : {}'.format(self.front))
                #rospy.loginfo("Not in close promixity to front distance")
                self.move()
                self.turn(0)
            else: 
                self.move()
            
            if self.start_position is not None:
                #Eculidean Distance
                distance = math.sqrt((self.start_position.x - self.pub_msg.linear.x)**2 + (self.start_position.y - self.pub_msg.linear.y)**2)
                if distance < 0.1 :
                    self.stop()
                    rospy.loginfo("Lap Completed")


if __name__ == "__main__":
    rospy.init_node('wall_follow', anonymous=True)
    try:
        WallFollow()
    except rospy.ROSInterruptException:
        pass

wall_follow.launch file

<launch>
  <node name="wall_follow" pkg="topics_wall_follow" type="main.py" output="screen">
  </node>
</launch>

Thank you for replying,

-BG

Hi @balajigunasekeran22 ,

You forgot rospy.spin() command in your main function.
Add this and let me know if your program works correctly.

Regards,
Girish