Day 3: ROS Motor Driver Node

Day 3: ROS Motor Driver Node

This is where ROS takes control of the robot.


1. ROS Concept

  • /cmd_vel topic
  • geometry_msgs/Twist

2. Motor Driver ROS Node


#!/usr/bin/env python3
import rospy
from geometry_msgs.msg import Twist
import RPi.GPIO as GPIO

def callback(msg):
    linear = msg.linear.x
    angular = msg.angular.z
    # logic here

rospy.init_node("motor_driver")
rospy.Subscriber("/cmd_vel", Twist, callback)
rospy.spin()

3. Test Using rostopic


rostopic pub /cmd_vel geometry_msgs/Twist "linear:
  x: 0.3
angular:
  z: 0.0"

Next → Day 4: Keyboard control

Comments