Quantcast
Channel: ArduPilot Discourse - Latest topics
Viewing all 46907 articles
Browse latest View live

How often are ap_periph firmwares released?

$
0
0

Hello. I use matek l431 devices to convert a rangefinder and a proximity sensor to dronecan. They work great.
I am using the firmwares from the “stable” folder in the tree. I.e., ArduPilot firmware : /AP_Periph/stable/MatekL431-Rangefinder

That firmware is about a year old. I also see a latest and beta folders which look like they are probably just daily builds.

I was curious what the release cadence is of ap_periph firmwares and if stable is what I should be using? What triggers updates and releases of the ap_periph firmwares? Is it ok to be using the stable ap_periph firmwares with arducopter 4.6 beta, or should I update my ap_periph firmwares to the latest folder as well? Thanks!

1 post - 1 participant

Read full topic


Can't change yaw smoothly with dronekit in guided mode

$
0
0

I wan’t to do a simple task with my copter , just takeoff to 5m and start to rotate with the speed of 10deg/s. I use WiFi data transmission to connect my drone from my laptop , and run dronekit scripts on it.I’ve test it in SITL before real flight , it seems good in SITL.
But in real flight, the yaw of drone doesn’t change smoothly. It stops for a short time , and then turn maybe 10deg , different from the stable 10deg/s i test in SITL.But the time it takes to rotate 360deg is the same , all 35s.
below is my dronekit code:

from dronekit import connect, VehicleMode
import time
from pymavlink import mavutil 

#mavlink消息需要至少每秒发送一次
def send_ned_yaw_rate(yaw_rate):
    msg = vehicle.message_factory.set_position_target_local_ned_encode(
    0,       # time_boot_ms (not used)
    0, 0,    # target_system, target_component
    mavutil.mavlink.MAV_FRAME_LOCAL_NED,  # frame=1
    1479,  # type_mask=1479(忽略位置/加速度/偏航,启用速度/偏航率) 0b10111000111 使用速度+角速度
    0, 0, 0,          # x/y/z位置(被忽略)
    0, 0, 0,          # vx/vy/vz速度(未使用,但type_mask启用了速度字段)
    0, 0, 0,          # afx/afy/afz加速度(被忽略)
    0, yaw_rate          # yaw(被忽略)、yaw_rate=0.174 rad/s
    )
    vehicle.send_mavlink(msg)

def arm_and_takeoff(aTargetAltitude):
    """
    Arms vehicle and fly to aTargetAltitude.
    """

    print("Basic pre-arm checks")
    # Don't try to arm until autopilot is ready
    while not vehicle.is_armable:
        print(" Waiting for vehicle to initialise...")
        time.sleep(1)

    print("Arming motors")
    # Copter should arm in GUIDED mode
    vehicle.mode    = VehicleMode("GUIDED")
    vehicle.armed   = True

    # Confirm vehicle armed before attempting to take off
    while not vehicle.armed:
        print(" Waiting for arming...")
        time.sleep(1)

    print("Taking off!")
    vehicle.simple_takeoff(aTargetAltitude) # Take off to target altitude

    # Wait until the vehicle reaches a safe height before processing the goto (otherwise the command
    #  after Vehicle.simple_takeoff will execute immediately).
    while True:
        if not(vehicle.mode == VehicleMode("GUIDED")):
            break;
        print(" Altitude: ", vehicle.location.global_relative_frame.alt)
        #Break and return from function just below target altitude.
        if vehicle.location.global_relative_frame.alt>=aTargetAltitude*0.95:
            print("Reached target altitude")
            break
        time.sleep(1)


vehicle = connect("udp:192.168.4.2:14550", wait_ready=True)
print("drone connected")
time.sleep(1)
arm_and_takeoff(5)
print("Start to change yaw_rate to 10deg/s")
time.sleep(1)
for x in range(0,34):
    if not(vehicle.mode == VehicleMode("GUIDED")):
        break;
    send_ned_yaw_rate(0.174)
    time.sleep(1)
#vehicle.mode = VehicleMode("LOITER")

1 post - 1 participant

Read full topic

Mission Planner define joystick axis on enable/disable

$
0
0

Hi, I’m using Mission Planner version 1.3.81 with ArduPlane version 4.5.7 and ArduCopter version 4.3.8, along with a HOTAS joystick and software that combines two joysticks into one virtual joystick. As a remote control, I use the FrSky X18S.

My problem is that every time I enable or disable the joystick, all axes except RC3 (throttle) move to the RC_TRIM values of the Pixhawk. Only when I move the joystick do they update to their actual values. RC3 always goes to 1500, no matter what its trim value is. I want it to go to RC_MIN.
On all other channels, the value goes to RC_TRIM, but on channel 3 it’s always 1500.

I tried moving the throttle to another channel, and then it updates its value to RC_TRIM correctly when enabling/disabling the joystick. However, the joystick only starts affecting the channel at half the range of its axis.

Has anyone experienced something similar and can offer a tip or hint on how to get the throttle to work with the full joystick range, while also being able to define where the axis should go when the joystick is enabled or disabled?

Any help would be much appreciated.
James

1 post - 1 participant

Read full topic

Which notch filter is best for my drone?

$
0
0

Hello, is it possible in my case to use a different notch filter than NS_HNTCH_MODE = 1. (Default) Throttle position based?
I use an integrated propulsion system from T-motor: 6xMN605-S KV170 + Alpha 60A HV, I have the ESC telemetry connected to Alpha Data Link V2, which is not connected to FC (Cube Orange+) because apparently Ardupilot does not support Alpha Data Link.

What could I do to use more advanced and more accurate notch filters than the default one?

I would like to avoid a situation where after tuning the drone with notch filters at one minimum take-off weight of 10kg, I will mount equipment on it that increases its weight to 14kg, which will change the vibration levels due to higher motors RPM, and the set NS_HNTCH_MODE = 1 will cease to be effective.

1 post - 1 participant

Read full topic

Does the Bebop parrot2 with Ardupilot enough for robotic research?

$
0
0

I want to run the Parrot Bebop 2 using motor commands so I can do research on whole body motion control. I have never done a jailbreak and want some quick advice on what is worth doing.

My system is as follows - I want to install the better wi-fi receiver and run the algorithm on my laptop so that Bebop 2 can then implement it. I understand the frequency limitations, but I just don’t understand the capabilities of bebop 2 yet.
My questions are:
0. Is ArduPilot suitable for research and autonomous control?

  1. Will the ArduCopter give me access to direct control of engine speed?
  2. How much processing power does the EKF on board the Bebop 2 take up now?
  3. Is it worth fighting for? What is the possible frequency of input commands via wifi right now?
    Optional 4. What do I absolutely need to make my Ardupilot installation more secure? Because I only have one drone and not many possibilities to have another one.

1 post - 1 participant

Read full topic

Options for voltage telemetry

$
0
0

I’m working on a project where we’d like to use battery voltage telemetry for the battery failsafe.

Wanting to minimize costs, I’m wondering if it may be safe to use ESC telemetry for this purpose.

I’m aware of three ways that ESC telemetry may be fed to the flight controller:

  1. Bi-Directional Dshot
  2. Telemetry output the telemetry pad on an ESC
  3. Telemetry provided by FETTEC One-Wire protocol

As it happens, we have FETTEC esc’s available, and we’d prefer to use the One-Wire telemetry if possible.

Up to this point, we’ve used the Mateksys current sensor with an I2C connection to the flight controller. This works well. But as this project is taking a “minimalist” approach, if we could just use voltage data from the ESC and set up our battery failsafe based on battery voltage, we’d like to go that route for this project.

Thanks!

1 post - 1 participant

Read full topic

Protocol for voltage and current sensor pins on Power-1 and Power-2 connections

$
0
0

Is there information available about the voltage and current sensor pins on the Power-1 and Power-2 connections?

Many 4-in-1 ESC’s have a pad defined as “current”. I’m curious to know if there’s anyway this output from the ESC can be fed to the Power-1 or Power-2 current sensor pins.

I’m guessing that the Power-1 and Power-2 sensor pins for voltage are not designed to accept direct battery voltage. I’m curious how battery voltage has to be “conditioned” to be accepted by these pins on these ports.

Thanks for any and all info.

4 posts - 2 participants

Read full topic

Unable to get Harmonic notch and proceed for autotune

$
0
0

I performed the FFT, but it was unable to set the harmonic notch.

Also, when I try to do autotune, it not even start to twitch and just shows failing to level. I guess it would get solved after setting a good harmonic notch.

Here is the log file : log file
I really appreciate any help you can provide.

1 post - 1 participant

Read full topic


Q_Assit gets ON when Lidar misreads during flight of Quadplane

$
0
0

I am Using Arduplane 4.4.4, i have observed issue multiple times of lidar reading zero or less value than Q_Assist_ALT, during normal flight.

It causes VTOL motors to get ON and hence depleting VYOL batteries. This problem mostly occurs when weather is foggy.

Also when lidar reads zero, plane consider that it is on ground and donot decent.

Can any body comment on this ??

1 post - 1 participant

Read full topic

Elrs rx backpack can’t connect

$
0
0

Followed this video

Telemetry with ELRS

and followed to the point where I can’t connect, rx tx configured and binded. Can not connect via USB which is strange. Can connect with wifi but the final connection to ardupilot timeout

1 post - 1 participant

Read full topic

I wonder, has anyone managed to get the Crash detect option working on SpeedyBee F405 wing?

$
0
0

I tried in both SpeedyBee F405 wing and SpeedyBee F405 Mini. Any setting, even max (127) disarms the motor at hand launch.

1 post - 1 participant

Read full topic

How to realize RTL on pure INS navigation?

$
0
0

Hello friends, I want to try to realize such a task with INS navigation on a multirotor drone, GPS will not be installed on it at all! I want to install Matek H743-SLIM V3 FC, the only additional sensor will be a magnetometer (I plan something on RM3100, for example MATEK CAN L4 3100). The task is that the drone took off under control, flew to a certain point at a distance of 10-15 km, then RTL is turned on, the exact return to the takeoff point is not required, it is enough that there was a return to an area of at least 300-400 m in diameter from the takeoff point. Is it possible to realize such a task without GPS and without professional INS systems at all, using only inexpensive FC segment, magnetometers? If yes, what can be the nuances in the setup, and what FC + magnetometer would you recommend? If no, under what conditions such a task can be realized?

1 post - 1 participant

Read full topic

What’s the Most Stable Way to Integrate Obstacle Avoidance with ArduPilot on a Rover?

$
0
0

Hi all,
I’m building an autonomous rover based on ArduPilot with a Pixhawk 4, and I want to integrate basic obstacle avoidance using ultrasonic or LiDAR sensors. I’ve read a bit about using companion computers and scripting, but I’m still not sure if the best approach is directly through ArduPilot parameters or via MAVLink control from a Raspberry Pi. Is there a preferred method that offers low latency and reliability, especially for moderate-speed rovers? Bonus if you’ve done something similar and can share your sensor setup or tuning tips.

Here are some references I’ve been checking out:
https://www.theengineeringprojects.com/2021/09/introduction-to-lidar.html

2 posts - 2 participants

Read full topic

VTOL ESC Needs low PWM to Arm

$
0
0

On the new ZOHD Altus VTOL I am building, one of the ESC needs to be at <988ms in order to arm. But no matter what I set the servo min value to, it would always start at 1000ms, thus unable to arm the ESC. Setting both trim and min to a low value have no effect. Only way I can get it to arm is to change the channel function to throttle, but obviously that will not work for a VTOL.

Any suggestions?

Thanks,

Stephen

1 post - 1 participant

Read full topic

Lost altitude during aerobatics rolling circle

$
0
0

Hi all,
I try to execute the aerobatics rolling circle but the plane lost altitude
the altitude of waypoint is 60m


during rolling circle, the pitch had head down

I check the servo output, looks rudder had wrong direction during rolling
the trim point of rudder is 1600, but it go to the wrong direction and plane lost the altitude very quickly

could anyone help to check why the rudder have the strange behaviour
log file also attached 00000014.BIN - Google Drive

1 post - 1 participant

Read full topic


Battery prearm error

$
0
0

I’m trying to add a new driver for bq40z80 battery monitor in the ap_battmonitor directory. It uses smbus for communication. I referred the driver files already written for INA2XX and LTC2946 battery monitor as they use the I2C protocol for communication with CUAV V5+ flight controller and trying to display the bms data from mission planner and QGC.

Since the bq40z80 battery monitor uses smbus protocol, i’m currently trying to refer the already written smbus backend driver here to read the buffer data of voltages and current in a given register addresses. Also there is no i2c bus and address in hwdef dat file defined for cuav fc so i avoided referring those two bms backend classes.
Help me writing this new driver where the i2c connection atleast should be established here.

Parameters set :

  1. batt_i2c_addr = 11 (0x0B)
  2. batt_i2c_1 (for i2c1 of cuavV5+)
  3. batt_monitor = 33 (new instance for bq40z80 battery monitor)

Register address :

  1. Per Cell voltages : 0x71 (block read for cells 1-4) & 0x7B (block read for cells 5-6)
  2. Battery Pack voltage : 0x10 (word read pack voltage)
  3. BMS temperature : 0x0D ( word read temperature)
  4. Current : 0x0A (returns the measured current from the coulomb counter)

I already implemented the driver below but it’s giving me cell block read failed and smbus read failed commands as attached here.

I’m also attaching the arduino code here as well that was successfully sending the bms data into the qgc/mission planner through a mavlink message, this can help building logic for writing a similar driver in ardupilot.

1 post - 1 participant

Read full topic

Motor Management during Transition

$
0
0

Hello community
I don’t understand the engine management during the transition. Here is a picture of the log showing the transition:

Blue is the airspeed, which is continuously increasing. This is OK

Green shows a tilt servo moving towards the horizontal position.

Orange shows the motor speed of a tilt motor. And I don’t understand the curve. Why does the curve oscillate and why is the speed not higher to accelerate faster?

Red is throttle from the remote control. Here you can see that I’m at full throttle.

And here’s my question again: Why don’t the tilt motors pull further and why do the speeds oscillate like this during the transition?

About the general conditions:

It is a

  • List item
  • Heewing T2 Cruza with Arduplane 4.5.6.
  • 6S battery
  • Autotune has not yet been performed for the FW mode, this should happen next.

You can find the log file here: log_4_2025-4-28-12-40-42.bin - Google Drive

And here’s my question again: Why don’t the tilt motors continue to pull and why do the speeds oscillate so much during the transition?

Thank you for your time and support

1 post - 1 participant

Read full topic

T960 Hexa engine #4(C) failure

$
0
0

Hi all,
I’m new on the forum after a couple of months of lurking around. I’ve built a hexacopter on a Tarot T960 frame with details below.

After a quick hover test, and a small flight test i went on to do the autotune, which took a couple of batteries because i was constantly repositioning due to the wind in AltHold mode, but eventually completed successfully.

Right after that flight I was seeing how the the autotune performed. That was where I was hearing rattling noises and soon after my engine #4 (C) failed, when I looked up Ardupilot had already switched the motor off and the craft started spinning. The damage is all-in-all not too bad. The reason for flipping over upon landing is mainly because I was trying to avoid the water.

In short, the reason for the engine failure is according to my investigation a combination of:

  • Foldable props vibrate heavily (when not fully extended)
  • The latest Tarot motor mounts have damped/floating carbon plates
  • Lack of loctite & incorrect screw length

I will address these issues by going to a 17x5.8 fixed CF prop, remove the damping in the Tarot motor mounts and re-assembling all with loctite and checking screws.

Now, I have tried to be meticulous setting the aircraft up, but I haven’t used the methodic ardupilot configurator yet, which I intent to fully perform before the next flight. I only discovered it about a couple of days before this flight.

My main takeaway is that I want to learn as much as possible in general but in particular from this event. My question is not so much if others want to analyze my flight (though appreciated), but what are all the steps I can take to fully grasp all the lessons to be learned here? :slight_smile:

Thank you all in advance for your tips & tricks! :slight_smile:

Logs: 2025-04-30 18-35-27.bin - Google Drive
Video: https://www.youtube.com/watch?v=F3cGFyyDKvw

Details:
Frame: Tarot T960 Hexa X
Motors: T-Motor MN5009 400kv
Props: T-Motor 16.2x5.3 foldable
ESCs: Sequre 2670, AM32 v2.18 BLv14
C/G is around 1-2cm aft of the center of the frame.
Battery: CNHL 6S 10,000mah
Autopilot: CUAV Pixhawk v6X
Baseboard: Holybro rPi CM4
Firmware: Ardupilot v4.6.0 beta5 -bdshot
AUW: +/- 5kg (w/ battery - w/o payload)
GPS: Holybro Mosaic-H Dual Antenna (connected to internet NTRIP Caster)
FPV: Caddx WS Avatar GT + GM3 gimbal.
Raspberry Pi CM4 32Gb eMMC / 8Gb RAM
GL-iNet GL-M2 5G development board + RM520N-GL

1 post - 1 participant

Read full topic

MAVLink connection between SpeedyBee F405v4 and HM30

$
0
0

Hello SIYI Support & Community,

I’m encountering an issue where the HM30 air unit is not receiving MAVLink telemetry from my flight controller (FC). After extensive debugging, the problem seems isolated to the interaction between the SpeedyBee F405 V4 and the HM30 datalink.

My Setup:

  • Flight Controller: SpeedyBee F405 V4 (flashed with ArduCopter v4.4 Stable)
  • Datalink: SIYI HM30 (Air and Ground Units)
  • GCS: QGroundControl (latest version)
  • UARTs tested: UART1, UART2, UART3
  • Baud Rate: 57600 (confirmed across ArduPilot, HM30 ground unit settings, and QGC comm link)

What I’ve Tested and Confirmed:

  1. HM30 works fine with another FC (Mamba F405 V2):

    • When I replace the SpeedyBee with a Mamba F405 V2, everything works flawlessly.
    • MAVLink data flows smoothly to the GCS, confirming that HM30 is configured correctly.
  2. SpeedyBee works with companion computer (Jetson):

    • I connected the SpeedyBee UARTs directly to a Jetson and used a Python script (pymavlink with request_data_stream_send) to receive telemetry.
    • Result: Full, consistent MAVLink telemetry received on all UARTs → the FC is transmitting MAVLink correctly.
  3. Voltage levels confirmed between both FCs and HM30:

    • Measured TX-GND and RX-GND on both SpeedyBee and Mamba boards.
    • Both provide consistent voltage levels (~3.3V on TX, ~1.1V on RX) → no electrical mismatch.
  4. HM30 behavior with SpeedyBee:

    • In the HM30 Ground Unit’s Datalink Info screen:
      • Data Down remains at 0.
      • Data Up briefly increases (~17) at the start, then stops.
    • In the MAVLink Info screen:
      • Telemetry data briefly appears at initial connection, then freezes or resets to zero.

My Hypothesis:

  • Could there be a timing, framing, or session-based incompatibility between the HM30 UART input and the SpeedyBee UART output? For example:

  • Does HM30 expect a certain handshaking behavior, pacing, or pause before MAVLink streaming starts?

  • Could SpeedyBee’s UART be sending MAVLink too early, causing HM30 to misinterpret or discard the stream?

  • Is there a known need for buffer clearing, session start commands, or heartbeat sync timing that HM30 requires for proper telemetry parsing?

  • Has anyone faced a similar issue connecting HM30 to SpeedyBee (or other STM32-based ArduPilot boards)?

  • Could SIYI provide insight into HM30’s expected UART behavior for MAVLink stream handling?

I’m happy to run additional tests to assist in identifying the root cause.
Thanks in advance for your support!

@SIYI

1 post - 1 participant

Read full topic

Read nmea sentances through pymavlink/mavros

$
0
0

I am trying to read actual nmea sentances throught mavros/pymavlink is there any way to read them without chaging the serial protocol to 20 (NMEA Output)

1 post - 1 participant

Read full topic

Viewing all 46907 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>