Rover 4.0 Matek F765, blheli32 ESC

can you please tell me which PWM outputs you are using, and also send a log of a failing setup?

I will upgrade to 4.0 stable first and then send you a log.

PWM ouputs used are 1 and 3 at the moment.

I upgraded to 4.0 stable.

For some reason my Voltage and Amp monitoring stopped working after rover 4 rc2 or so.

When I enable battery monitoring I get a message that it is not enabled in the firmware or something.
It did work in previous version… I could set the voltage and amp pin, but those variables seem to be gone and I cannot set them.

Is this correct, or am I missing something?

never mind, I had to refresh parameters. Works now :slight_smile:

Let the testing begin.

Every seems to work fine. GPS and Compass work.
Manual mode driving works.
It returns to home.
And did a couple of waypoint tests.

With the Voltage and Current sensor working I can now see how much Amps the motors pull and start doing some more serious waypoint mission testing.

I love this Matek 765’s setup for a rover… I’ll make some pictures of the test setup. Think someone will like this :slight_smile:

1 Like

I found a weird issue with Kakute F7 board. I could not get BlHeli pass-through to work until: DShot150 is off, (PWM mode is on), everything is disconnected and then power applied with battery first and USB after. Once ESCs are all set, I switch back to DShot and it all works (no pass-through again though).

1 Like

@Anton_Khrapov, great, thanks for the report. Any chance i could get a dataflash log of it working and not working? I will try and reproduce here as well. Thanks again!

Unfortunately… There was no SD card in the AP when the testing was done. I’ll see if I can get repeated tests this week.

1 Like

Here are some pictures.
It’s more a test bed for the matek 765. The plan is to build a bigger agricultural rover to do measurements. But we want to test the mission planner first.

I have to do the steering calibration now. It does rth and waypoints, but I need to tweak the steering settings as it trying way to hard to keep heading constantly overcompensating left, right,left , right.

@Anton_Khrapov I will also try what you did and see if DShot works this way, but think I have tried it in that order already.

2 Likes

Re the weaving left and right, if this is only happening during missions then we’ve seen this before on slow moving vehicles. A good example of this was rctestflight’s boxboat but it’s come up with a very slow moving rover created by my main sponsor (EAMS Robotics) as well.

The solution appears to be to increase NAVL1_PERIOD to 12 or higher and NAVL1_DAMPING parameter from 0.75 to 0.85. I’m not completely sure of this but I think it will help.

@rmackay9 , yes the waeving is only in missions. When driving in manual mode all is fine.
When it approaches the waypoint and is closer to the waypoint it stops doing that… it then seems to home in and slow down pretty good.

I did not do any steering adjustments, it’s all still stock settings.

I will also try to get you a log file finally maybe you can spot something.

Hello Peter,

I have Stainds tank already working with Ardurover, as you can see here


and here (tank followed by 3D printed copter in folllowme mode)

It was quite tricky to tune steering, because the tank is extremely sensitive on turning.
I had to reduce the steering PIDs to very low values … and can’t remember what else I changed. With the standard settings the tank was waeving so extreme and uncontrolled, that I had to reprint a lot of the gearboxes until I found these settings :slight_smile:

I use BLHELI32 ESC with “Bidirectional 3D” and Oneshot125 and for now.

This params file is for Rover 3.5.1 and you probably can’t use it directly, because of rotated AUAV-X2.1 FC. But maybe it is helpful.
20191206-Tank-351.param (13.3 KB)

3 Likes

Hey Rainer!

Because of your youtube video I used Stained RC Tank as a base :wink:

I made another one from thingiverse but that one had brushed motors and I could not adjust the track tension.
That’s when I saw your video I thought… hmm… That’s it!

Thanx for the param file, I hope I can derive your PID’s from it.
It is indeed very sensitive to turning and thought that had something to do with it.

Did you add any collision avoidance senor on it yet? I would like to add someting at the front so it can avoid and go around something it is unable to pass.

Love the drone following, how did you do that?

Hello Peter,

ah, I see :slight_smile:

I have a TFmini LIDAR attached.The TFmini is working, but I could not get the avoidance functionality to work so far. Maybe I have more luck with the new bendy ruler algorithm introduced with Rover 4.0.0. But not before spring. It is no fun now outside in winter.

The copter follow-me is quite simple. Tank and copter both have a SIK telemetry radio with the same frequency so they can communicate with each other. Copter is in follow-me mode, so it just follows the GPS position received from the tank. With a SIK duty cycle of 50% I have groundstation, copter and rover in a kind of network. There are a lot of dropped Mavlink packages, but it works.

2 Likes

@RainFly, really nicely done on the Copter-following-Rover video. I’m pretty sure this is the first recorded test of this. great!

@rmackay9 When I look at Rainers param file, what variables are interesting to check for steering and navigation?
I don’t want to risk just randomly changing all parameters when they are not relevant for the problem.

@OldRaven, the parameters starting with ATC_ are likely to be the most important for attitude control. Also those starting with WP_ and NAVL1_ could be good to copy over.

1 Like

Finally weather getting better for testing.

@RainFly thanx for you log file! The steering settings worked perfectly on my Rover.

I began testing missions and survey grids with the rover and it’s going really well.
I’ll try to shoot some video for those interested.

As long as the grass is not too long it has no problem at all. It draws between 3 - 4 A when running at half speed (which is quick enough)

Next thing I want to add is a collision avoidance sensor at the front.
It should be able to run a survey mission and steer clear of anything getting in it’s way.
I like to try some supported sensor first, and later see If I can replace the sensor part by using a companion computer and a vision camera of some sort.
Love to experiment with for example a Jetson Nano.
But I know nothing yet of using companion computers with ardupilot yey and stuff like mavros.

@rmackay9 Do you hace any advice on what to start with for a collision avoidance sensor that does not break the bank.?

Some updates,

Currently testing survey missions.
First part is just running raw missions and see how it holds up.

I’m getting some compass variance errors, and sometimes after driving around for a while the heading seems to be off by around 45-90 degrees.

I’m guessing the compass has to much magnetic interference from where it is mounted so I’m drawing a GPS mount to place it higher.
And see if get it to behave better.
Also when I compare the BN880 with for example my matek gps on my quad, the performance (getting a lock) is worse… but since this is a test and I plane to go for somethin like a HERE for the bigger rover… I’m fine. As long as it does not give me more troubles testing.

My next step is adding a layer of intelligence to avoid obstacles.

I added a benewake tfmini to the front to do some simple collision stuff.
So far only tested in steering mode and it stops.

I had it mounted facing straight forward which gave me false positives when it bounced around while driving, so i angled the senser upward about 5 degrees to see how it goes.

I’l report back when I’ve done the first simple tests.

Hi @OldRaven! Been following your posts here trying to set up bidirectional drive with brushless motors but am having some trouble… My rover uses 4 brushless motors driven by an Aikon 4 in 1 BLHeli32 ESC (set MOT_PWM_Type = normal) with skid steering by setting SERVOx_FUNCTION for servos 1 and 3 to left and right throttle. I’ve successfully driven and done waypoint missions before enabling “Bidirectional 3D” in BLHeli32 (I don’t seem to have “Bidirectional Soft” as an option) so I think my setup is ‘correct’ up until that point. The issue after changing the ESCs is that they no longer initiate fully (only get 1 out of 2 tones after pressing the hardware safety switch), and all motor functions no longer work: driving, motor testing, etc.

I think my problem is that the ESCs are set to initialize at a PWM value of ~1500 while the servo outputs from my Pixhawk4 FC are giving it ~1000. I tried setting the SERVOx_TRIM params for servos 1 and 3 (my vehicle is also skid steering) to 1500 but after reconnecting/resetting the autopilot, these values reset to their SERVOx_MIN and do not save. Can’t seem to find a clear answer on fixing this, have already tried reflashing firmware from Rover V3.5.0 to V4.0.0. I’ve also tried recalibrating my radio and using both a sliding and centered throttle. I’m a bit stuck on this!

My setup:
-Pixhawk 4 FC + PM07 PDB
-Neo-M8N GPS
-4x T-Motor 4012, 48kv brushless motors (with cycloidal reductions)
-Aikon AK32 35A 4in1 ESC

Params:
rover_V4.0.0_8-16-20.param (16.1 KB)

Hi @Nossa, did you try to set SERVO_BLH_AUTO=0 ?
In my case that solve the issue. One ESC are setup and I don’t need the pass-try any more, I disabled it.