Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 0 additions & 9 deletions README.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#!/usr/bin/env python3
import rclpy
from rclpy.node import Node
from geometry_msgs.msg import Twist

class DrawSquareNode(Node):
def _init_(self):
super()._init_("draw_square")
self.cmd_vel_pub_=self.create_publisher(Twist,'/turtle1/cmd_vel',10)
self.timer_=self.create_timer(2,self.send_velocity_command)
self.state="move"
self.get_logger().info("Draw square node has been started.")

def send_velocity_command(self):
msg=Twist()
if (self.state=="move"):
msg.linear.x=1.5
msg.angular.z=0.0
self.cmd_vel_pub_.publish(msg)
self.state="turn_right"
elif (self.state=="turn_right"):
msg.linear.x=0.0
msg.angular.z=1.5707963267948966
self.cmd_vel_pub_.publish(msg)
self.state="move"

def main(args=None):
rclpy.init(args=args)
node=DrawSquareNode()
rclpy.spin(node)
rclpy.shutdown()

if (_name=='main_'):
main()

#above code is for drawing square and below code is to count the squares

#!/usr/bin/env python3
import rclpy
from rclpy.node import Node
from turtlesim.msg import Pose

class DrawSquareSubcriberNode(Node):
def _init_(self):
super()._init_("count_squares")
self.draw_square_subscribe_=self.create_subscription(Pose,"/turtle1/pose",self.pose_callback,10)
self.prev_theta=None
self.no_of_squares=0

def pose_callback(self,msg:Pose):
current_theta=msg.theta
if (self.prev_theta is not None):
if (current_theta>0 and self.prev_theta<0):
self.no_of_squares=self.no_of_squares+1
self.get_logger().info(f"Number of Squares {self.no_of_squares}")
self.prev_theta=current_theta


def main(args=None):
rclpy.init(args=args)
node=DrawSquareSubcriberNode()
rclpy.spin(node)
rclpy.shutdown()

if (_name=="main_"):
main()