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

Encapsulating MAVLink packets in Sik payload

$
0
0

I am using rfd900 radio for communication between my drone and system, Firstly on both sides I used rfd900 and was able to get the data correctly on the system. I was manually serializing and sending the data from transmitter side and reading it on Putty on the receiver side. Now I am using plutoSDR on the receiver side and to get the IQ data. I am running a MATLAB code that generates a CSV file which then I give input to URH and generate a binary data file, Now I am checking the binary file manually to verify Whether I am getting the data correctly, So yes there were Sik frames present in the binary file and was able to extract preamble, sync1, sync2, netID, length fields correctly but the payload of it contains different data then MAVLink. but the Sik payload contains an MAVLink packet. Does anyone have any idea of it? I am sharing a sample packet below that I extracted from the binary file
[0101010101010101010101, 2d, d4, ff f8, 10, 9a 10 8c 33 25 e4 7d d0 24 70 97 6f 08 5a c7 83, ff, ff ff]
[preamble(22 bits), Sync1(1 byte), Sync2(1 byte), NetID(2 bytes), Payload_length(1 byte), Payload, Trailer(1byte), CRC(2 Bytes)].

2 posts - 2 participants

Read full topic


I want to turn on the relay

$
0
0

I entered all the parameters of the relay and when I toggle it, the relay turns on and off. I just want the relay to open, what can I do? I use Pixhawk orange cube+

1 post - 1 participant

Read full topic

Can anyone help me find the cause of the accident?

$
0
0

Today, I attempted to fly the VTOL in guide mode. However, after about 40 seconds, the throttle of pusher motor seemed to stop, and the lifting motors continued to spin because it reached Q_assist_speed. When I used the gimbal to check, neither the pusher propeller nor the motor were operating. The aircraft eventually crashed after the battery was depleted. Unfortunately, I didn’t capture the screen at the time, so everyone suspects I’m lying and that I didn’t properly secure the pusher propeller before flight, which led to it falling off during flight. I am certain that I used the gimbal and saw that the motor and propeller were not functioning at that moment. Can anyone offer me advice? A TLOG file is attached for reference.

5 posts - 2 participants

Read full topic

Unequal PWM output from pixhawk to ESCs

$
0
0

Hey guys! I needed some help regarding the Vtol motors for a quadplane. We have manufactured the a quadplane (4+1) X configuration and set the params according to the guidelines on the ardupilot forum. The fuselage is of carbon fiber and wings and tail of glass fiber (if this matters). The problem we are having is that abruptly one of the motor will slow down and one will overshoot and this would go on back and forth with, after some calibrations or firmware installations, all motors or sometimes a specific motor. Even on arming, the motors wont be on the throttle specified by Q_M_SPIN_ARM like it would be at 1500 PWM and then when you push the throttle, one of the motors wont even start to spin after like 50% throttle.

We have tried the following solutions:

  1. Changing the escs (tried simple Hobbywing 40A and dshots 150 BLHeli_S)
  2. change the autopilot (have tried 6c and 4x)
  3. changed the gps
  4. thrust tested the motors.
  5. Installed the quadrotor firmware to check if the issue is with plane firmware.

nothing is working out. I am attaching a video of the plane behaviour as well as the servo outputs.
We did check the logs and it showed that the imu reports no discrepancies but the pixhawk sends erratic values of pitch roll and yaw to the escs while the input is just throttle.

Blows are the links for vids:
Servo_Outputs
Flight Test

I am also attaching the log files if that helps:

These logs are with dshots:
https://drive.google.com/drive/folders/1r8riKvTkp3hBfJG5Ou7Mlpl_3P9w6vPp?usp=drive_link

and these are with the normal escs:
https://drive.google.com/drive/folders/1qWQzqpVyXQZ1b7pvh3vMrdu_1rPx3U0S?usp=drive_link

I would really appreciate if anyone could help as I have to get this flying in the next 7 days.

Below are some specs too:
13 kg mtow
2.5m wing span
gartt ML5210 340 kv for vtol motors and Tmotor AM600 for cruise
8000 mah battery for quad and 9000 mah for cruise (all 6s)
all motors and escs were tested on a thrust bench for installation
Have used these flight controllers for simple quads and they work like a charm

1 post - 1 participant

Read full topic

Change motor direction

$
0
0

Hi there,

I would like to ask if anything in Mission Planner needs to be changed after reversing the motor direction by flashing the ESC with Blujay in the ESC configuration.

After making the reverse, the motor stopped rotating altogether.

Thanks in advance.

5 posts - 2 participants

Read full topic

Searching for best rover combination

$
0
0

Hey!

I’m new here and I’m very interested in building an autonomous rover.

I have some experience in programming with Arduino and actually wanted to develop the rover with ArduPilot based on Arduino. I’ve been researching the wiki for a while now and think that Arduino is too underpowered to realise this. (Gladly correct)

Now I am looking for a new microcontroller or similar (probably a flight controller) that is relatively cheap. The open hardware controllers supported in the wiki are mostly far too expensive for me or are currently not available online. So I’m asking here if anyone has a good alternative.

My goal is to be able to automate the rover with GPS, gyroscope and encoders and connect it to MissionPlanner. I already own the AW4D3 from Lynxmotion with 4 12V electric motors. Can you help me with this?

And: What would it mean for independent programming if I used a controller with closed hardware?

Many thanks :slight_smile:

6 posts - 3 participants

Read full topic

Matek H743 slim or Mini

$
0
0

Hello everyone,
I have been using the Matek H743 slim V3 variant for the past 6 months and it works extremely well. However, there is a slight issue in the way I assemble this flight controller. I have figured out that the Matek H743 Mini will be a good choice as far as assembly is concerned. Before making this decision of changing the flight controller, I wanted to know your views on this. As far as performance is concerned and options available for peripherals is there anything notable changes that should be looked into?
I read a few posts here that says the Mini version generates a lot of heat than the slim version.
Please help me with this decision.

Thanks!

4 posts - 3 participants

Read full topic

PPM stream issues

$
0
0

Good day all, I have had issues with my PPM stream (so I assume it to be) for quite some time now. Each time I feel like I have resolved it the issues come back.

In a nutshell the PPM stream becomes “corrupt” for lack of a better term. In reality it goes crazy in the logs. The signals used to go from zero to full back and forth on all channels extremely rapidly. This causes issues of course when flying… The fix is to turn the transmitter off, then the RTL kicks in and the drone flies home and lands fine. Upon turning the TX back on again all is clear for another flight. The problem is that this issue is very random, has been going on for years and I am looking for some help.

In the following image you can see first a dip down to zero on a few channels, then a blank space? not sure if it’s realated but no logged data here… then you can see all the channels going crazy between 1,000 and 1500 value. The drone is out of control at this point. I shut off the TX at the far right of the signal spaz and the drone goes into RTL and lands.

image

Things I have done.

  1. upgraded to 4.4.0 because rmackay9 suggested this was a possible bug in previous versions. This does not seem to have corrected the issue however in the logs prior to FW 4.4.0 the channels would go from 1000-2000 rapidly but now they tend to stay between 100-15000 rapidly with the odd dip below 1000 all the way down to zero

  2. I have logged the drone just sitting on the bench and I do get random spikes (signal goes down to 0 from 1500 very briefly then everything back to normal) but so far have not been able to replicate the complete spaztic behavior problem on the bench.

  3. I have logged PPM stream data from the PPM out on my transmitter (Horus X10S express) and it too shows some brief drops to zero on a few channels but I am unsure if that is just my coding issues (I have it hooked to an arduino uno logging to an excel data sheet)

  4. I have changed radio’s from the Horus to Radio master boxer with no change in bench logging behavior (it still drops a few frames down to zero for no reason while sitting on the bench.

  5. I have set the RC_protocol to PPM stream manually in the parameters

  6. I have tried updating firmware on the transmitter (using Open TX) with no change

I feel like if it respects the RTL failsafe values given by the modem (I run RFD 900 with PPM passthrough) then the drone is not at fault (or is it?)
I feel like again if the data modem is able to output a RTL failsafe position then it’s not likely the data modems
So my gut leans me toward the transmitter.

Here is a link to the bin file. You will see some agressive flying but at the end of the log it’s very obvious when the RC inputs go crazy and I finally turn off the TX and the drone RTL’s

Any thoughts appreciated.

https://drive.google.com/drive/folders/13DKSeLL7bgBVC66oEtEEO_voHwrU8Ile?usp=sharing

Hardware
Horus x10s, RFD900 V2 running on PPM passthrough (used to control drone and attain telemetry data)
Cube orange

1 post - 1 participant

Read full topic


Bad home altitude

$
0
0

Hi,

Somebody can explain why my gps ( 3Dfix) give me 1500 meters of différence with my home altitude ?

6 posts - 3 participants

Read full topic

Display this menu is too big

$
0
0

Hello,
The pop menu that appears when you change a parameter in the Quick Tab is too big or too tall, the point is that I can’t see or scroll the elements at the bottom and I can’t change the size. Is there something I should be doing? So far, I need to change the orientation of the screen to vertical every time I need to a change of parameter.

Image showing that I can’t access the parameters:

2 posts - 2 participants

Read full topic

Storing Li-Po battery for over one month

$
0
0

Hello, I have a 3S 5200 mAh battery which I’m not planning to use on my drone for quite some time, maybe 1-2 months since I’ll be busy. I was wondering if it wont get damaged, since I’m storing at 3.8 V/cell, since last time I used a Lemon 3S 5000 mAh battery, it puffed up after being dormant for one month. Please let me know if I need to take any precautionary measures to story my lipo battery for this time period. Thanks in advance.

1 post - 1 participant

Read full topic

Real-time comparison of flight plan corridor vs actual flight path

$
0
0

I am looking for advice on how I might go about doing a real time (or as near to real time) comparison between the flight plan and the actual flight path.
The flight plans will be corridors(I know QGC can do) taking imagery. There is a width (distance way on either side) from the center of the corridor that the fixed-wing can be in to capture the required imagery.
I would like to be able to see that the aircraft stays within that corridor and if it gets outside that width of the corridor it will display that as it has missed that section of the corridor. Essentially displaying feedback to know if a section needs to be re-flown before the missed section is caught in the data review process.

1 post - 1 participant

Read full topic

Correlation between motor oder in the docs and in the code

$
0
0

Hi there,

I am trying to understand how the motor order here ( https://ardupilot.org/copter/_images/motororder-quad-x-2d.png, https://ardupilot.org/copter/_images/APM_2_5_MOTORS_QUAD_enc.jpg ) is related to the code:

bool AP_MotorsMatrix::setup_quad_matrix(motor_frame_type frame_type)
{
...
    case MOTOR_FRAME_TYPE_X: {
        _frame_type_string = "X";
        static const AP_MotorsMatrix::MotorDef motors[] {
            {   45, AP_MOTORS_MATRIX_YAW_FACTOR_CCW,  1 },
            { -135, AP_MOTORS_MATRIX_YAW_FACTOR_CCW,  3 },
            {  -45, AP_MOTORS_MATRIX_YAW_FACTOR_CW,   4 },
            {  135, AP_MOTORS_MATRIX_YAW_FACTOR_CW,   2 },
        };
        add_motors(motors, ARRAY_SIZE(motors));
        break;
    }
...
}

In the code the CCW motors are 1 and 3, and CW motors are 2 and 4. But in the picture from the doc:
CCW → 1, 2
CW → 3, 4

According to my tests ( look at the text below ):
CC2 → 4 (A), 2 (C)
CW → 1 (B), 3 (D)

I’ve configure the drone ( by using SERVO OUTPUT tab in Mission Planner )


as it is shown in the picture QUAD X ( https://ardupilot.org/copter/_images/APM_2_5_MOTORS_QUAD_enc.jpg ) so when I am pressing in Test Motor in Mission Planner:

  1. TEST A → the top right mottor is spinning
  2. TEST B → the rear right motor is spinning
  3. TEST C → the rear left
  4. TEST D → the top left

But drones are doing backlip instead of flying.

3 posts - 2 participants

Read full topic

Error Downloading and Accessing Mavproxy on Raspberrypi

$
0
0

Thanks in advance, I am very beginner at this and am trying for my first time to establish communication via MAVLINK from a raspberry pi 4 to a pixhawk 2.4.8

I followed all the instructions on the MAV proxy documentation here-
https://ardupilot.org/mavproxy/docs/getting_started/download_and_installation.html#mavproxy-downloadinstalllinux

1st error, when trying to install Mavproxy using pip3 there is an " error: externally-managed-environment". I worked around this by using --break-system-packages (which I know isn’t the best but it was the only workaround I could find. I mention it in case it created other errors)

2nd, when trying to execute this command: echo ‘export PATH=“$PATH:$HOME/.local/bin”’ >> ~/.bashrc

I get an error saying ~/.bashrc: no such file or directory

I’ve double checked the bashrc file exists and it does. I’ve also tried just starting mavproxy but it always says something about mavproxy not existing.

Any help would be great

1 post - 1 participant

Read full topic

SpeedyBeeF405-mini RC inputs disconnect when "MAVlink" connects

$
0
0

I’ve been building a 250g qaud using the SpeedyBee F405 Mini stack. I have my TX16s with EdgeTX connected via ELRS. Everything was working fine until I added MLRS as an SIK radio replacement to one of the unused serial ports.

On the Ardupilot page of the SpeedyBee mini, it shows the SERIAL3 not being used for anything. I had hoped to use it for wireless MAVlink connected to my laptop for mission configuration.

The problem arises when MLRS connects to the laptop (when I connect the ‘dongle’ via USB to the laptop). The RCIN input from my TX16s drops and a “Radio Failsafe - Disarming” triggers. The MLRS dongle works perfectly and I can connect mission planner wirelessly. I still receive telemetry over ELRS on my TX16s, but the RC inputs are not processed by the flight controller anymore. If i then disconnect the MLRS dongle, the radio failsafe is cleared and RC inputs are being processed by the FC again.

It seems that these links conflict somehow. I have tried reflashing and resetting all params and only trying the SERIAL3 protocol setting, but nothing has helped. The limitations page of the FC did not indicate that this shouldn’t be possible (at least as far as I can tell).

I’m not the best with troubleshooting problems in Ardupilot, so any help is appreciated!
Thanks!

1 post - 1 participant

Read full topic


Lua script not logging sensor data

$
0
0

Hi,
I’m trying to stop the motor when RPM threshold reached, using Lua script. Now I’m able to read the RPM value in QUICK, meaning the sensor works fine. But when I run the script it shows " RPM value not available" as per script, in the messages. Could you guide me with what I have missed ?

The RPM sensor is connected to AUX PWM pin1 (GPIO) and powered by ESC BEC connected to PWM AUX pin2 , SERVO10_FUNCTION = motor1.
SCR_ENABLE is enabled.

local motor_channel = 10 -- Channel for the motor 
local rpm_threshold = 100 -- RPM threshold for disengagement 

function update()
    local rpm_value = RPM:get_rpm(1) -- Read the RPM value from instance 1
    if rpm_value then
        gcs:send_text(6, "RPM Value: " .. tostring(rpm_value))
        if rpm_value >= rpm_threshold then
            gcs:send_text(6, "RPM threshold reached, disengaging motor")
            SRV_Channels:set_output_pwm_chan_timeout(motor_channel, 1000, 1000) -- Stop the motor
        end
    else
        gcs:send_text(6, "RPM Value not available")
    end
    return update, 1000 -- Schedule the update function to run again in 1000 milliseconds
end

return update, 1000 -- Schedule the update function to run for the first time in 1000 milliseconds

Thanks

3 posts - 2 participants

Read full topic

Herelink RTK onboard

$
0
0

Since the herelink remote has a gps receiver already can it be used as the unit for the RTK base?

1 post - 1 participant

Read full topic

Sending CANSimple velocity commands from PWM values

$
0
0

We are planning to use PWM values of servo functions THROTTLE (70) and GROUNDSTEERING (26) calculated by Ardupilot, scale it down, make it to valid velocity commands and send it out to ODrive motor drivers on the CAN bus.

Yesterday we tested that my theory is working in practice, we have sent out PWM values of throttle between 1000 and 2000 and the wheels actually moved thanks to our custom Lua script sending valid CANSimple-messages to the CAN-bus the ODrives are connected to.

We have not used this technique for autonomous navigation, yet, but the results are so good that we want to proceed further.

Now in Mission Planner we could tune throttle and steering, I know that, but would it change the way PWM values are calculated during the autonomous navigation? My question is that should we bother with copying the PID values the ODrive motor controller is tuned or leave it as it is? So the PWM values would be calculated in autonomous mode as we expect.

3 posts - 2 participants

Read full topic

When a 14-cell battery is monitored by the power module, the battery level is incorrect

$
0
0

Hello, everyone!
I am having trouble with a strange phenomenon that I have encountered since yesterday.

What is the remaining % of the battery displayed in reference to?
I recently took over a project on a large aircraft and after flying for a while, the battery remaining in QGC remained at 100% and did not change.

I thought it was odd, so I looked at how the battery % remaining would change in two cases

  1. three 14-cell HV batteries monitored with MAUCH’s Power Monitor
    This is completely correct wiring.
  2. two 14-cell HV batteries monitored with CUAV’s Digital CAN PMU SE
    This is correct for voltage, but monitors the current flowing to the receiver. The person who connected them is not very familiar with electricity.

The test was done using a stabilized power supply and verified that the battery voltage is correct in both cases.
When the voltage was varied from 60V to 50V in these two cases, the remaining battery life was displayed as almost 100%.

We did some experiments here.

  1. I checked the voltage at which the remaining battery percentage begins to decrease.
    This was 52V.
  2. Using the MAUCH Power Monitor, I set the battery capacity to 200 and checked the remaining % change.
    It decreased in order from 100% to 0%.

If anyone has the same problem and has solved it, please let me know the solution.
Also, if you know of any places I should check, please let me know.

Best regards

Translated with DeepL.com (free version)

1 post - 1 participant

Read full topic

Flying with fake GPS

$
0
0

Hello everyone! I’m working on the task of flying without GPS, using the DPCN model to determine the drone’s position relative to the global map. Could you please advise on how to make the drone think it’s receiving a real GPS signal while actually transmitting the model’s result, i.e., a fake signal, so that it continues flying and doesn’t automatically land?

2 posts - 2 participants

Read full topic

Viewing all 46568 articles
Browse latest View live


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