[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Paparazzi-devel] Airframe-file problem with POI Tracking

From: Joseph Metz
Subject: Re: [Paparazzi-devel] Airframe-file problem with POI Tracking
Date: Tue, 27 Jul 2010 12:22:57 +0200

Hi Felix and Martin,

the guys from the university bremen installed the paparazzi on my laptop i think on the 22.03.2010.

I tried to make the file on the command line (terminal?) but it did not run (i do not know linux well, sorry).
If someone want to test the airframe file on his pc, attached is the file.

I think it could be a first helpf if you, martin would send me a airframe file with the POI tracking....could be that i can find the bug in my code.

Did no one else used or tested the POI code on his plane?

----- Original Message ----- From: "Felix Ruess" <address@hidden>
To: <address@hidden>
Sent: Tuesday, July 27, 2010 11:47 AM
Subject: Re: [Paparazzi-devel] Airframe-file problem with POI Tracking

Hi Joseph,

seems that is not the whole error message. Sometimes Paparazzi center
doesn't display the last part of the output ( I guess a buffer is not
Could you run make on the command line and paste the full error
message? make; make AIRCRAFT=Twinstar clean_ac ap
Also are you running the latest svn version or some older one (which one?)?

Cheers, Felix

On Tue, Jul 27, 2010 at 11:24 AM, Joseph Metz <address@hidden> wrote:

i modified the mc24.xml to fit my airframe file and builded it with my old
airframe file without the POI code.
It runs well without errors.

When i use the new POI airframe file and the modified mc24.xml i get this
"error" again:
CC /home/administrator/work/paparazzi3/var/Twinstar/ap/arm7/adc_hw.o
LD /home/administrator/work/paparazzi3/var/Twinstar/ap/ap.elf
/home/administrator/work/paparazzi3/var/Twinstar/ap/main_ap.o: In function

Does anyone know this error and how to eliminate it?

It´s interesting that i get the same "error" independently if i use this
code in <auto_rc_commands> or not:
<set command="CAM_PAN" value="@YAW"/>
<set command="CAM_TILT" value="@GAIN1"/>


----- Original Message -----
From: Martin Mueller
To: address@hidden
Sent: Tuesday, July 27, 2010 10:57 AM
Subject: Re: [Paparazzi-devel] Airframe-file problem with POI Tracking
Hi Joseph,

maybe some part of the error is missing inthe end? Try using an RC
radio/transmitter that has a "GAIN1" function, e.g. mc24.xml


----- original Nachricht --------

Betreff: [Paparazzi-devel] Airframe-file problem with POI Tracking
Gesendet: Di, 27. Jul 2010
Von: Joseph Metz


i want to test the POI tracking feature:

Sadly i can not build the code, i get the failure: main_ap.c:236:error:
"RADIO_GAIN1" undeclared (first use in this function)

After deleting
<set command="CAM_PAN" value="@YAW"/>
<set command="CAM_TILT" value="@GAIN1"/>
in <auto_rc_commands>the failure disappears but the building in the
paparazzi center stops here:
CC /home/administrator/work/paparazzi3/var/Twinstar/ap/arm7/adc_hw.o
LD /home/administrator/work/paparazzi3/var/Twinstar/ap/ap.elf
/home/administrator/work/paparazzi3/var/Twinstar/ap/main_ap.o: In function

If anyone has a airframe file with running POI tracking it would help me
much to find the failure in my code any set it up properly.


PS: Here is the airframe-file:

<!-- Twinstar II, Roxxy,YGE Regler, 3s 2500-->
<airframe name="Twinstar_IS">
<!-- commands section, Tuned -->
<servo name="AILERON_LEFT" no="2" min="1100" neutral="1500" max="1900"/>
<servo name="THROTTLE" no="0" min="1050" neutral="1050" max="1900"/>
<servo name="ELEVATOR" no="4" min="1150" neutral="1500" max="1900"/>
<servo name="RUDDER" no="3" min="1900" neutral="1500" max="1100"/>
<servo name="AILERON_RIGHT" no="2" min="1200" neutral="1490" max="1800"/>
<servo name="CAM_PAN" no="6" min="2000" neutral="1550" max="1000"/>
<servo name="CAM_TILT" no="7" min="1000" neutral="1550" max="2000"/>
<axis name="THROTTLE" failsafe_value="0"/>
<axis name="ROLL" failsafe_value="0"/>
<axis name="PITCH" failsafe_value="0"/>
<axis name="YAW" failsafe_value="0"/>
<axis name="CAM_TILT" failsafe_value="0"/>
<axis name="CAM_PAN" failsafe_value="0"/>
<set command="THROTTLE" value="@THROTTLE"/>
<set command="ROLL" value="@ROLL"/>
<set command="PITCH" value="@PITCH"/>
<set command="YAW" value="@YAW"/>
<set command="THROTTLE" value="@THROTTLE"/>
<set command="ROLL" value="@ROLL"/>
<set command="PITCH" value="@PITCH"/>
<set command="YAW" value="@YAW"/>
<set command="CAM_PAN" value="@YAW"/>
<set command="CAM_TILT" value="@GAIN1"/>
<section name="MIXER">
<define name="AILERON_DIFF" value="0.7"/>
<define name="COMBI_SWITCH" value="1.0"/>
<set servo="THROTTLE" value="@THROTTLE"/>
<set servo="ELEVATOR" value="@PITCH"/>
<let var="roll" value="@ROLL"/>
<set servo="AILERON_LEFT" value="($roll > 0 ? 1 : AILERON_DIFF) * $roll"/>
<set servo="AILERON_RIGHT" value="($roll > 0 ? AILERON_DIFF : 1) * $roll"/>
<set servo="RUDDER" value="@YAW + @ROLL*COMBI_SWITCH"/>
<set servo="CAM_PAN" value="@CAM_PAN"/>
<set servo="CAM_TILT" value="@CAM_TILT"/>
<section name="CAM" prefix="CAM_">
<define name="TILT_MAX" value="30" unit="deg"/>
<define name="TILT_NEUTRAL" value="0" unit="deg"/>
<define name="TILT_MIN" value="-30" unit="deg"/>
<define name="TILT0" value="0" unit="deg"/>
<define name="PAN_MAX" value="45" unit="deg"/>
<define name="PAN_NEUTRAL" value="0" unit="deg"/>
<define name="PAN_MIN" value="-45" unit="deg"/>
<define name="PAN0" value="0" unit="deg"/>
<section name="AUTO1" prefix="AUTO1_">
<define name="MAX_ROLL" value="0.9"/>
<define name="MAX_PITCH" value="0.6"/>
<section name="adc" prefix="ADC_CHANNEL_">
<define name="IR1" value="ADC_1"/>
<define name="IR2" value="ADC_2"/>
<define name="IR_TOP" value="ADC_0"/>
<define name="IR_NB_SAMPLES" value="16"/>
<!-- IR neutrals and correction, Tuned -->
<section name="INFRARED" prefix="IR_">
<define name="ADC_IR1_NEUTRAL" value="513"/>
<define name="ADC_IR2_NEUTRAL" value="514"/>
<define name="ADC_TOP_NEUTRAL" value="512"/>
<define name="LATERAL_CORRECTION" value="1"/>
<define name="LONGITUDINAL_CORRECTION" value="1"/>
<define name="VERTICAL_CORRECTION" value="-1"/>
<define name="CORRECTION_UP" value="1."/>
<define name="CORRECTION_DOWN" value="1."/>
<define name="CORRECTION_LEFT" value="1."/>
<define name="CORRECTION_RIGHT" value="1."/>
<define name="HORIZ_SENSOR_TILTED" value="1"/>
<define name="IR1_SIGN" value="1"/>
<define name="IR2_SIGN" value="-1"/>
<define name="TOP_SIGN" value="-1"/>
<define name="ROLL_NEUTRAL_DEFAULT" value="-1.99985194206" unit="deg"/>
<define name="PITCH_NEUTRAL_DEFAULT" value="-17.1887340546" unit="deg"/>
<section name="BAT">
<define name="MILLIAMP_AT_FULL_THROTTLE" value="20000"/>
<define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
<define name="VoltageOfAdc(adc)" value="(0.02454*adc)"/>
<section name="MISC">
<define name="MINIMUM_AIRSPEED" value="7." unit="m/s"/>
<define name="NOMINAL_AIRSPEED" value="10." unit="m/s"/>
<define name="MAXIMUM_AIRSPEED" value="18." unit="m/s"/>
<define name="CARROT" value="5." unit="s"/>
<define name="KILL_MODE_DISTANCE" value="(1.5*MAX_DIST_FROM_HOME)"/>
<define name="CONTROL_RATE" value="60" unit="Hz"/>
<define name="ALT_KALMAN_ENABLED" value="TRUE"/>
<define name="DEFAULT_CIRCLE_RADIUS" value="80."/>
<define name="MIN_CIRCLE_RADIUS" value="50."/>
<section name="VERTICAL CONTROL" prefix="V_CTL_">
<define name="POWER_CTL_BAT_NOMINAL" value="11.1" unit="volt"/>
<!-- outer loop proportional gain -->
<define name="ALTITUDE_PGAIN" value="-0.06"/>
<!-- outer loop saturation -->
<define name="ALTITUDE_MAX_CLIMB" value="2."/>
<!-- auto throttle inner loop -->
<define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.4"/>
<define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.25"/>
<define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.95"/>
<define name="AUTO_THROTTLE_LOITER_TRIM" value="1500"/>
<define name="AUTO_THROTTLE_DASH_TRIM" value="-2500"/>
<define name="AUTO_THROTTLE_PGAIN" value="-0.01"/>
<define name="AUTO_THROTTLE_IGAIN" value="0.2"/>
<define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.25"/>
<define name="THROTTLE_SLEW_LIMITER" value="2" unit="s"/>
<!-- auto pitch inner loop -->
<define name="AUTO_PITCH_PGAIN" value="-0.15"/>
<define name="AUTO_PITCH_IGAIN" value="0.0"/>
<define name="AUTO_PITCH_MAX_PITCH" value="0.25"/>
<define name="AUTO_PITCH_MIN_PITCH" value="-0.25"/>
<section name="HORIZONTAL CONTROL" prefix="H_CTL_">
<define name="COURSE_PGAIN" value="-2.2"/>
<define name="ROLL_MAX_SETPOINT" value="0.7" unit="radians"/>
<define name="PITCH_MAX_SETPOINT" value="0.7" unit="radians"/>
<define name="PITCH_MIN_SETPOINT" value="-0.4" unit="radians"/>
<define name="PITCH_PGAIN" value="-3000"/>
<define name="PITCH_DGAIN" value="1.5"/>
<define name="ELEVATOR_OF_ROLL" value="1250"/>
<define name="ROLL_SLEW" value="0.1"/>
<define name="ROLL_ATTITUDE_GAIN" value="-7000"/>
<define name="ROLL_RATE_GAIN" value="-500"/>
<section name="NAV">
<define name="NAV_PITCH" value="0."/>
<define name="NAV_GLIDE_PITCH_TRIM" value="0"/>
<section name="AGGRESSIVE" prefix="AGR_">
<define name="BLEND_START" value="50"/>
Altitude Error to Initiate Aggressive Climb CANNOT BE ZERO!!
<define name="BLEND_END" value="15"/>
Altitude Error to Blend Aggressive to Regular Climb Modes CANNOT BE ZERO!!
<define name="CLIMB_THROTTLE" value="1."/>
<!-- Gaz for Aggressive Climb -->
<define name="CLIMB_PITCH" value="0.5"/>
<!-- Pitch for Aggressive Climb -->
<define name="DESCENT_THROTTLE" value="0.05"/>
<!-- Gaz for Aggressive Decent -->
<define name="DESCENT_PITCH" value="-0.25"/>
<!-- Pitch for Aggressive Decent -->
<define name="CLIMB_NAV_RATIO" value="0.8"/>
Percent Navigation for Altitude Error Equal to Start Altitude
<define name="DESCENT_NAV_RATIO" value="1.0"/>
<section name="FAILSAFE" prefix="FAILSAFE_">
<define name="DELAY_WITHOUT_GPS" value="2" unit="s"/>
<define name="DEFAULT_THROTTLE" value="0.3" unit="%"/>
<define name="DEFAULT_ROLL" value="0.17" unit="rad"/>
<define name="DEFAULT_PITCH" value="0.08" unit="rad"/>
<define name="HOME_RADIUS" value="100" unit="m"/>

CONFIG = "tiny_2_1.h"

include $(PAPARAZZI_SRC)/conf/autopilot/tiny.makefile


ap.srcs += cam.c point.c traffic_info.c

ap.srcs = sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c
main_fbw.c main_ap.c main.c

ap.srcs += commands.c

ap.CFLAGS += -DACTUATORS="servos_4017_hw.h" -DSERVOS_4017
ap.srcs += $(SRC_ARCH)/servos_4017_hw.c actuators.c

ap.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c

#ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c xbee.c

ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c pprz_transport.c

ap.srcs += inter_mcu.c

ap.srcs += $(SRC_ARCH)/adc_hw.c

ap.srcs += gps_ubx.c gps.c latlong.c

ap.srcs += infrared.c estimator.c

ap.srcs += nav.c fw_h_ctl.c fw_v_ctl.c

ap.srcs += nav_line.c
ap.srcs += nav_survey_rectangle.c

ap.srcs += bomb.c

ap.srcs += snav.c

# Config for SITL simulation
# include $(PAPARAZZI_SRC)/conf/autopilot/sitl.makefile
sim.ARCH = sitl
sim.TARGET = autopilot
sim.TARGETDIR = autopilot
sim.srcs = latlong.c radio_control.c downlink.c commands.c gps.c inter_mcu.c
infrared.c fw_h_ctl_a.c fw_v_ctl.c nav.c estimator.c sys_time.c main_fbw.c
main_ap.c datalink.c $(SRC_ARCH)/ppm_hw.c $(SRC_ARCH)/sim_gps.c
$(SRC_ARCH)/sim_ir.c $(SRC_ARCH)/sim_ap.c $(SRC_ARCH)/ivy_transport.c
$(SRC_ARCH)/sim_adc_generic.c $(SRC_ARCH)/led_hw.c
sim.srcs += cam.c point.c traffic_info.c
sim.srcs += nav_line.c nav_survey_rectangle.c

sim.srcs += bomb.c


--- original Nachricht Ende ----


Paparazzi-devel mailing list

Paparazzi-devel mailing list

Paparazzi-devel mailing list

Attachment: twinstar_WINDSTILL_POI.xml
Description: Text Data

reply via email to

[Prev in Thread] Current Thread [Next in Thread]