Home        Store        Docs        Blog

Pixhawk localization and autonomous movement


(Taha Tekin) #1

Hi, we have a pixhawk and we have position data. we want to provide a setpoint data and localization data and we want the pixhwak to go to given point all by itself . Currently we use manual mode with custom pid controllers etc. We don’t have gps sensor but we have odometry data thanks to additional sensors. We can generate fake gps. Actually we have global_position/global and global_position/local but we don’t have local_position/pose. When we try to set guided mode, we get timed out error. How can we set guided mode ? We also have gps lock, meaning that indicator light lights green. Thank you. Sorry about my english. if you want detailed information, i can provide immediately.


(Taha Tekin) #2
# Common configuration for APM2 autopilot
#
# node:
startup_px4_usb_quirk: false

# --- system plugins ---

# sys_status & sys_time connection options
conn:
  heartbeat_rate: 1.0    # send hertbeat rate in Hertz
  timeout: 10.0          # hertbeat timeout in seconds
  timesync_rate: 0.0     # TIMESYNC rate in Hertz (feature disabled if 0.0)
  system_time_rate: 0.0  # send system time to FCU rate in Hertz (disabled if 0.0)

# sys_status
sys:
  min_voltage: 10.0   # diagnostics min voltage
  disable_diag: false # disable all sys_status diagnostics, except heartbeat

# sys_time
time:
  time_ref_source: "fcu"  # time_reference source
  timesync_mode: NONE
  timesync_avg_alpha: 0.6 # timesync averaging factor

# --- mavros plugins (alphabetical order) ---

# 3dr_radio
tdr_radio:
  low_rssi: 40  # raw rssi lower level for diagnostics

# actuator_control
# None

# command
cmd:
  use_comp_id_system_control: false # quirk for some old FCUs

# dummy
# None

# ftp
# None

# global_position
global_position:
  frame_id: "map"             # origin frame
  child_frame_id: "base_link" # body-fixed frame
  rot_covariance: 99999.0   # covariance for attitude?
  gps_uere: 1.0             # User Equivalent Range Error (UERE) of GPS sensor (m)
  use_relative_alt: true    # use relative altitude for local coordinates
  tf:
send: false               # send TF?
frame_id: "map"  # TF frame_id
global_frame_id: "earth"  # TF earth frame_id
child_frame_id: "base_link" # TF child_frame_id

# imu_pub
imu:
  frame_id: "base_link"
  # need find actual values
  linear_acceleration_stdev: 0.0003
  angular_velocity_stdev: !degrees 0.02
  orientation_stdev: 1.0
  magnetic_stdev: 0.0

# local_position
local_position:
  frame_id: "map"
  tf:
send: false
frame_id: "map"
child_frame_id: "base_link"
send_fcu: false

# param
# None, used for FCU params

# rc_io
# None

# safety_area
safety_area:
  p1: {x:  1.0, y:  1.0, z:  1.0}
  p2: {x: -1.0, y: -1.0, z: -1.0}

# setpoint_accel
setpoint_accel:
  send_force: false

# setpoint_attitude
setpoint_attitude:
  reverse_thrust: false     # allow reversed thrust
  use_quaternion: false     # enable PoseStamped topic subscriber
  tf:
listen: false           # enable tf listener (disable topic subscribers)
frame_id: "map"
child_frame_id: "target_attitude"
rate_limit: 50.0

# setpoint_position
setpoint_position:
  tf:
listen: false           # enable tf listener (disable topic subscribers)
frame_id: "map"
child_frame_id: "target_position"
rate_limit: 50.0
  mav_frame: LOCAL_NED

# setpoint_velocity
setpoint_velocity:
  mav_frame: LOCAL_NED

# vfr_hud
# None

# waypoint
mission:
  pull_after_gcs: true  # update mission if gcs updates

# --- mavros extras plugins (same order) ---

# adsb
# None

# debug_value
# None

# distance_sensor
## Currently available orientations:
#    Check http://wiki.ros.org/mavros/Enumerations
##
distance_sensor:
  rangefinder_pub:
id: 0
frame_id: "lidar"
#orientation: PITCH_270 # sended by FCU
field_of_view: 0.0  # XXX TODO
send_tf: false
sensor_position: {x:  0.0, y:  0.0, z:  -0.1}
  rangefinder_sub:
subscriber: true
id: 1
orientation: PITCH_270  # only that orientation are supported by APM 3.4+

# image_pub
image:
  frame_id: "px4flow"

# fake_gps
fake_gps:
  # select data source
  use_mocap: true         # ~mocap/pose
  mocap_transform: false   # ~mocap/tf instead of pose
  use_vision: false       # ~vision (pose)
  # origin (default: Zürich)
  geo_origin:
lat: 47.3667          # latitude [degrees]
lon: 8.5500           # longitude [degrees]
alt: 408.0            # altitude (height over the WGS-84 ellipsoid) [meters]
  eph: 2.0
  epv: 2.0
  satellites_visible: 5   # virtual number of visible satellites
  fix_type: 3             # type of GPS fix (default: 3D)
  tf:
listen: false
send: false           # send TF?
frame_id: "map"       # TF frame_id
child_frame_id: "fix" # TF child_frame_id
rate_limit: 10.0      # TF rate
  gps_rate: 5.0           # GPS data publishing rate

# mocap_pose_estimate
mocap:
  # select mocap source
  use_tf: false   # ~mocap/tf
  use_pose: true  # ~mocap/pose

# odom
odometry:
  frame_tf:
desired_frame: "ned"
  estimator_type: 3 # check enum MAV_ESTIMATOR_TYPE in <http://mavlink.org/messages/common>

# px4flow
px4flow:
  frame_id: "px4flow"
  ranger_fov: !degrees 6.8  # 6.8 degreens at 5 meters, 31 degrees at 1 meter
  ranger_min_range: 0.3     # meters
  ranger_max_range: 5.0     # meters

# vision_pose_estimate
vision_pose:
  tf:
listen: false           # enable tf listener (disable topic subscribers)
frame_id: "map"
child_frame_id: "vision_estimate"
rate_limit: 10.0

# vision_speed_estimate
vision_speed:
  listen_twist: true    # enable listen to twist topic, else listen to vec3d topic
  twist_cov: true       # enable listen to twist with covariance topic

# vibration
vibration:
  frame_id: "base_link"

# vim:set ts=2 sw=2 et: