Skip to content

Commit a4c6fa9

Browse files
authored
Merge branch 'noetic-devel' into issue-161
2 parents 629b56d + 1cd0a41 commit a4c6fa9

File tree

5 files changed

+25
-22
lines changed

5 files changed

+25
-22
lines changed

drone_wrapper/launch/basic_config.yml

Lines changed: 0 additions & 3 deletions
This file was deleted.

drone_wrapper/launch/mavros_px4_sitl.launch

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
<arg name="model" default="iris_dual_cam"/>
1616
<arg name="world" default="$(find mavlink_sitl_gazebo)/worlds/empty.world"/>
1717
<arg name="sdf" default="$(find drone_assets)/models/$(arg model)/$(arg model).sdf"/>
18-
<!-- PX4 param config -->
19-
<arg name="config" default="$(find drone_wrapper)/launch/basic_config.yml"/>
2018

2119
<!-- gazebo configs -->
2220
<arg name="gui" default="true"/>
@@ -54,6 +52,4 @@
5452
<arg name="fcu_url" value="$(arg fcu_url)"/>
5553
<arg name="respawn_mavros" value="$(arg respawn_mavros)"/>
5654
</include>
57-
<!-- PX4 param configuration -->
58-
<node name="my_params" pkg="drone_wrapper" type="load_parameters" args="$(arg config)"/>
5955
</launch>

drone_wrapper/scripts/load_parameters

Lines changed: 0 additions & 5 deletions
This file was deleted.

drone_wrapper/src/drone_wrapper/drone_wrapper_class.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -330,21 +330,18 @@ def param_set(self, param, value):
330330
else:
331331
val = ParamValue(integer=value, real=0.0)
332332

333-
rospy.wait_for_service(self.ns + '/mavros/param/set')
334333
try:
335-
set_param = rospy.ServiceProxy(self.ns + '/mavros/param/set', ParamSet)
336-
resp = set_param(param_id=param, value=val)
337-
print("setmode send ok", resp.success)
334+
resp = self.set_param(param_id=param, value=val)
335+
rospy.loginfo("ParamSet: %s", resp.success)
338336
except rospy.ServiceException as e:
339-
print("Failed SetMode:", e)
337+
rospy.logwarn("Failed ParamSet: %s", e)
340338

341339
def param_get(self, param):
342340
try:
343-
get_param = rospy.ServiceProxy(self.ns + 'mavros/param/get', ParamGet)
344-
resp = get_param(param_id=param)
345-
print("setmode send ok", resp.success)
341+
resp = self.get_param(param_id=param)
342+
rospy.loginfo("ParamGet: %s", resp.success)
346343
except rospy.ServiceException as e:
347-
print("Failed SetMode:", e)
344+
rospy.logwarn("Failed ParamGet: %s", e)
348345
return None
349346

350347
if resp.value.integer != 0:
@@ -376,7 +373,7 @@ def request_mode(self, mode='OFFBOARD'):
376373
rospy.logwarn('Mode change request unsuccessful')
377374
return False
378375

379-
def set_cmd_pos(self, x=0, y=0, z=0, az=0, frame="map"):
376+
def set_cmd_pos(self, x=0, y=0, z=0, az=0, max_vel=12.0, frame="map"):
380377
pose = Pose(position=Point(x=x, y=y, z=z),
381378
orientation=Quaternion(*tf.transformations.quaternion_from_euler(0, 0, az)))
382379
pose = self.frames_tf.transform(frame, "map", pose).pose
@@ -404,6 +401,7 @@ def set_cmd_pos(self, x=0, y=0, z=0, az=0, frame="map"):
404401
CMD = 0 # POS
405402
self.setpoint_raw.type_mask = 3064 # xyz yaw
406403

404+
self.param_set(param="MPC_XY_VEL_MAX", value=float(max_vel))
407405
self.setpoint_raw_publisher.publish(self.setpoint_raw)
408406

409407
def set_cmd_vel(self, vx=0, vy=0, vz=0, az=0, frame="flu"):
@@ -629,6 +627,10 @@ def __init__(self, name='drone', ns='', verbose=False):
629627
self.mode_client = rospy.ServiceProxy(ns + 'mavros/set_mode', SetMode)
630628
rospy.wait_for_service(self.ns + 'mavros/cmd/land')
631629
self.land_client = rospy.ServiceProxy(ns + 'mavros/cmd/land', CommandTOL)
630+
rospy.wait_for_service(self.ns + '/mavros/param/set')
631+
self.set_param = rospy.ServiceProxy(self.ns + '/mavros/param/set', ParamSet)
632+
rospy.wait_for_service(self.ns + '/mavros/param/get')
633+
self.get_param = rospy.ServiceProxy(self.ns + 'mavros/param/get', ParamGet)
632634

633635
self.rqt_extended_state_publisher = rospy.Publisher(self.ns + 'drone_wrapper/extended_state', ExtendedState,
634636
queue_size=1)

drone_wrapper/test/vel_test.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/usr/bin/env python
2+
3+
from drone_wrapper import DroneWrapper
4+
import time
5+
6+
d = DroneWrapper()
7+
d.takeoff()
8+
9+
d.set_cmd_pos(0, 0, 3, max_vel=6.0)
10+
11+
while True:
12+
print(d.get_velocity())
13+
time.sleep(0.2)

0 commit comments

Comments
 (0)