Automating terminal commands of ROS using python script
I am currently trying to write an executable program in python that runs the following ROS command:
rostopic echo dvrk/PSM1/position_cartesian_current
however despite reading the ROS Tutorials, I am unsure how to go about doing this. Within a file called arm.py
the following subscriber and definition already exist:
rospy.Subscriber(self.__full_ros_namespace + '/position_cartesian_current', PoseStamped, self.__position_cartesian_current_cb)
def __position_cartesian_current_cb(self, data):
self.__position_cartesian_current = posemath.fromMsg(data.pose)
Am I supposed to reuse this subscriber and definition in the automated python script? After obtaining the current Cartesian position, the robot will subsequently be moved to a different position, which can currently be accomplished using ROS commands in the terminal, however, the aim is to write a python script that automates these commands. Any help would be greatly appreciated!
This is technically not an answer, but seeing as you're basically asking how to write a Python subscriber to the
dvrk/PSM1/position_cartesian_current
topic: would following Writing a Simple Publisher and Subscriber (Python) - Writing the Subscriber Node and then changing the topic type and name not work?