Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F116295489
crazyflie_calibration.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Fri, Jun 6, 01:36
Size
2 KB
Mime Type
text/x-python
Expires
Sun, Jun 8, 01:36 (2 d)
Engine
blob
Format
Raw Data
Handle
26620437
Attached To
R1517 test_package
crazyflie_calibration.py
View Options
#!/usr/bin/env python
import
roslib
import
rospy
import
numpy
as
np
from
geometry_msgs.msg
import
Twist
from
test_package.msg
import
aircraft_controls
from
threading
import
Thread
import
sys
,
select
,
termios
,
tty
thrust_inc
=
200
angle_inc
=
200
thrust
=
0
elevator
=
0
rudder
=
0
status
=
0
speedBindings
=
{
'q'
:(
thrust_inc
,
0
,
0
),
'z'
:(
-
thrust_inc
,
0
,
0
),
'w'
:(
0
,
angle_inc
,
0
),
'x'
:(
0
,
-
angle_inc
,
0
),
'e'
:(
0
,
0
,
angle_inc
),
'c'
:(
0
,
0
,
-
angle_inc
),
}
def
getKey
():
tty
.
setraw
(
sys
.
stdin
.
fileno
())
select
.
select
([
sys
.
stdin
],
[],
[],
0
)
key
=
sys
.
stdin
.
read
(
1
)
termios
.
tcsetattr
(
sys
.
stdin
,
termios
.
TCSADRAIN
,
settings
)
return
key
def
process_keyboard
():
try
:
print
vels
(
0
,
0
,
0
)
while
(
1
):
key
=
getKey
()
if
key
in
speedBindings
.
keys
():
global
thrust
,
elevator
,
rudder
,
status
thrust
=
thrust
+
speedBindings
[
key
][
0
]
elevator
=
elevator
+
speedBindings
[
key
][
1
]
rudder
=
rudder
+
speedBindings
[
key
][
2
]
print
vels
(
thrust
,
elevator
,
rudder
)
status
=
(
status
+
1
)
%
15
else
:
if
(
key
==
'
\x03
'
):
break
#twist = Twist()
#twist.linear.x = elevator
#twist.linear.y = rudder
#twist.linear.z = thrust
except
Exception
,
e
:
print
e
finally
:
twist
=
aircraft_controls
()
twist
.
thrust
=
0
twist
.
rudder
=
0
twist
.
elevator
=
0
pub
.
publish
(
twist
)
termios
.
tcsetattr
(
sys
.
stdin
,
termios
.
TCSADRAIN
,
settings
)
def
vels
(
thrust
,
elevator
,
rudder
):
return
"currently:
\t
thrust
%s
\t
elevator
%s
\t
rudder
%s
"
%
(
thrust
,
elevator
,
rudder
)
if
__name__
==
"__main__"
:
settings
=
termios
.
tcgetattr
(
sys
.
stdin
)
#pub = rospy.Publisher('/crazyflie/cmd_vel', Twist, queue_size = 1)
pub
=
rospy
.
Publisher
(
'/kite_controls'
,
aircraft_controls
,
queue_size
=
1
)
rospy
.
init_node
(
'talker'
)
rate
=
rospy
.
Rate
(
20
)
t
=
Thread
(
target
=
process_keyboard
)
t
.
start
()
while
not
rospy
.
is_shutdown
():
twist
=
aircraft_controls
()
twist
.
thrust
=
thrust
twist
.
rudder
=
rudder
twist
.
elevator
=
elevator
#twist.angular.x = 0; twist.angular.y = 0; twist.angular.z = 0
pub
.
publish
(
twist
)
rate
.
sleep
()
Event Timeline
Log In to Comment