How to communicate obstacle avoidance with an other node

asked 2021-11-14 07:18:18 -0500

jeroen1604 gravatar image

updated 2021-11-14 17:08:48 -0500

miura gravatar image

Hello guys,

The question is that I have this script before me, but i dont know how i could run the when to another script with waypoints instead of move.linear.x and move.angular.z. So i would like to run another script instead of the following command. Is this possible and how? the script is in the post thanks for the reaction.

#If the distance to an obstacle in front of the robot is bigger than 1 meter, the robot will move forward
  if msg.ranges[0] > 1:
      move.linear.x = 0.5
      move.angular.z = 0.0
#! /usr/bin/env python

THE full script:

to another script with waypoints instead of move.linear.x and move.angular.z

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

def callback(msg):

#If the distance to an obstacle in front of the robot is bigger than 1 meter, the robot will move forward
  if msg.ranges[0] > 1:
      move.linear.x = 0.5
      move.angular.z = 0.0

#If the distance to an obstacle in front of the robot is smaller than 1 meter, the robot will stop
  print "Number of ranges: ", len(msg.ranges)
  print "Reading at position 0:", msg.ranges[0]
  if msg.ranges[0] < 1:
      move.linear.x = 0.0
      move.angular.z = 0.0

  pub.publish(move)

rospy.init_node('rotw5_node')
sub = rospy.Subscriber('/scan', LaserScan, callback) #We subscribe to the laser's topic
pub = rospy.Publisher('/cmd_vel', Twist)
move = Twist()

rospy.spin()
edit retag flag offensive close merge delete

Comments

1

Kindly format your code by using 10101 button so it’s readable

osilva gravatar image osilva  ( 2021-11-14 08:40:26 -0500 )edit