feat(teleop_twist_keyboard): add speed and turn limit parameters
This commit is contained in:
@@ -141,7 +141,9 @@ def main():
|
|||||||
stamped = node.declare_parameter('stamped', False).value
|
stamped = node.declare_parameter('stamped', False).value
|
||||||
frame_id = node.declare_parameter('frame_id', '').value
|
frame_id = node.declare_parameter('frame_id', '').value
|
||||||
speed = node.declare_parameter('speed', 0.25).value
|
speed = node.declare_parameter('speed', 0.25).value
|
||||||
turn = node.declare_parameter('turn', 0.5).value
|
turn = node.declare_parameter('turn', 0.5).value
|
||||||
|
speed_limit = node.declare_parameter('speed_limit', 1.5).value
|
||||||
|
turn_limit = node.declare_parameter('turn_limit', 1.5).value
|
||||||
if not stamped and frame_id:
|
if not stamped and frame_id:
|
||||||
raise Exception("'frame_id' can only be set when 'stamped' is True")
|
raise Exception("'frame_id' can only be set when 'stamped' is True")
|
||||||
|
|
||||||
@@ -181,8 +183,13 @@ def main():
|
|||||||
z = moveBindings[key][2]
|
z = moveBindings[key][2]
|
||||||
th = moveBindings[key][3]
|
th = moveBindings[key][3]
|
||||||
elif key in speedBindings.keys():
|
elif key in speedBindings.keys():
|
||||||
speed = speed * speedBindings[key][0]
|
speed = min(speed_limit, speed * speedBindings[key][0])
|
||||||
turn = turn * speedBindings[key][1]
|
turn = min(turn_limit, turn * speedBindings[key][1])
|
||||||
|
|
||||||
|
if speed == speed_limit:
|
||||||
|
print("Linear speed limit reached!")
|
||||||
|
if turn == turn_limit:
|
||||||
|
print("Angular speed limit reached!")
|
||||||
|
|
||||||
print(vels(speed, turn))
|
print(vels(speed, turn))
|
||||||
if (status == 14):
|
if (status == 14):
|
||||||
|
|||||||
Reference in New Issue
Block a user