Added waypoint_client
This commit is contained in:
parent
01b7fe98f4
commit
4682d2fb52
|
@ -2,7 +2,8 @@ launch/debug.launch
|
||||||
launch/cortex_bridge.launch
|
launch/cortex_bridge.launch
|
||||||
src/MoCap_Localization_*.py
|
src/MoCap_Localization_*.py
|
||||||
src/Mocap_*.py
|
src/Mocap_*.py
|
||||||
src/*_client.py
|
src/killswitch_client.py
|
||||||
|
src/land_client.py
|
||||||
msg/Marker.msg
|
msg/Marker.msg
|
||||||
msg/Markers.msg
|
msg/Markers.msg
|
||||||
*.rviz
|
*.rviz
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
#!/usr/bin/env python2.7
|
||||||
|
|
||||||
|
### Cesar Rodriguez March 2022
|
||||||
|
### Reads waypoints from .yaml file and keeps track of them
|
||||||
|
|
||||||
|
import rospy, tf
|
||||||
|
import rosservice
|
||||||
|
import time
|
||||||
|
from oscillation_ctrl.srv import WaypointTrack, WaypointTrackRequest
|
||||||
|
|
||||||
|
class Main:
|
||||||
|
def __init__(self):
|
||||||
|
self.request = WaypointTrackRequest()
|
||||||
|
self.request.query = True # set to true to set new waypoints
|
||||||
|
self.get_xd = WaypointTrackRequest() # need to get desired height
|
||||||
|
# service(s)
|
||||||
|
self.waypoint_cl = rospy.ServiceProxy('/status/waypoint_tracker',WaypointTrack)
|
||||||
|
|
||||||
|
def user_input(self):
|
||||||
|
self.request.xd.x = input('Enter desired pos in x dir: ')
|
||||||
|
self.request.xd.y = input('Enter desired pos in y dir: ')
|
||||||
|
|
||||||
|
def new_waypoint(self):
|
||||||
|
|
||||||
|
rospy.wait_for_service('/status/waypoint_tracker')
|
||||||
|
self.user_input()
|
||||||
|
try:
|
||||||
|
|
||||||
|
# get xd.z
|
||||||
|
resp = self.waypoint_cl(self.get_xd)
|
||||||
|
self.request.xd.z = resp.xd.z
|
||||||
|
return self.waypoint_cl(self.request)
|
||||||
|
|
||||||
|
except rospy.ServiceException as e:
|
||||||
|
print('Service call failed: %s'%e)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__=="__main__":
|
||||||
|
|
||||||
|
# Initiate ROS node
|
||||||
|
rospy.init_node('waypoint_client',anonymous=True)
|
||||||
|
try:
|
||||||
|
service = Main() # create class object
|
||||||
|
xd = service.new_waypoint()
|
||||||
|
print(xd)
|
||||||
|
rospy.spin() # loop until shutdown signal
|
||||||
|
|
||||||
|
except rospy.ROSInterruptException:
|
||||||
|
pass
|
Loading…
Reference in New Issue