Support for Omni Boats coming in Rover-3.5

That is unfortunate. I have a question about the behavior of omni-x with pymavlink messages, that maybe you can answer: When sending a lateral velocity to an omni vehicle, will it move laterally, or will it rotate, and then try to go forwards, as a standard rover might?

1 Like

@RezaB,

It will not move laterally I’m afraid. Like many things it’s possible but someone needs to put a little effort into making the enhancement. It will require the addition of a new AC_PID object to allow tuning the lateral response… or perhaps we could replace the existing throttle/steering controller with an AC_PID_2D (2D PID object)

Hey guys, I built a research vessel based on the omni x frame and it performs beautifully while in manual. I can’t seem to get it to maintain it’s heading and move laterally in auto mode. Any thoughts? Or has this not been implemented yet?

@mattWhitehead0250, it should be able to get to the waypoint but it won’t move laterally to stay on the line. Instead it will drive like a regular boat to stay on the line. Hopefully that’s clear-ish…

Eventually we hope to implement a lateral controller.

Hi, Randy, I was testing a boat with Omni plus type thrusters. The distance between Servo 1 and Servo 3 doesnot equal to the one between Servo 2 and servo 4. Are there some parameters I can describe the distance?Thank you.

@rmackay9, I was hoping to be able to make lateral transects of a river, while maintaining my heading into the flow. Any suggestions on how to do this with where ardurover is right now? Or perhaps give me some direction in developing this myself and I can share it with you guys if I’m successful?

I wrote most of the code for this last year and it was tested briefly by @Erl77 (you can find videos in this thread). I never got the chance to finish it, I reckon it just needs a rebase and some cleanup maybe. Unfortunately I don’t have an omni vehicle to test any changes on. Here’s the branch if you’d like to rebase it and test it.

@mattWhitehead0250,

Improving support for lateral control in Auto mode is still an outstanding to-do on the issues list. The steps to add support are listed below:

  • Add a lateral speed controller to APM_Control/AR_AttitudeControl. This should probably be quite similar to the existing speed controller.
  • Enhance AR_WPNav so that the output L1 controller are converted to output throttle and lateral output instead of throttle-and-steering
  • Back in the vehicle code (mode.cpp probably?) retrieve the lateral output from the AR_WPNav and pass it to the motors library

Hi guys

I am still lurking around and interested in these features, I have been distracted with other projects but have recently got back on the boats. I am defiantly not a coder so no help there, but I have a new boat platform so super keen for some lateral testing, so can help with that when needed.

The last testing round of Ammarf’s new code was very promising and worked well.

Cheers

I’m happy to take a crack at this, though I have limited experience with cpp and cs, which seems to be the primary languages in use with apm and ardupilot. Looking at the files from a quick clone, I’m not finding APM_Control in either of the repos. Is there a developer channel where I may be able to get some help with familiarizing myself with the code base so that I don’t drive everybody in this forum nuts with my questions? Thanks in advance Randy.

@mattWhitehead0250

Here a link to the developer gitter channel.

APM_Control and AR_WPNav are in the libaries directory…

New ArduBoat Omni X frame in progress

1 Like

Are you controlling the direction of the motor gondolas? Can you turn them?

You don’t need to turn them, that’s the whole point.
Omni X

I know that but I have a scale radio controlled model that uses vectoring thrusters (“schottel”) and I want to use it with Ardupilot Rover.

Ah OK got it. Not an Omni configuration then. Unless something has happened since the following on vectored thrust I don’t think so. Perhaps start a new thread titled “4 vectored thrusters for Arduboat” or similar and see what comes up.

Ha, I just realized that was your post in Git.

1 Like

Would the OmniX-Konfiguration work, if the thrusters are placed like this?
omniY

@labomat,

It will probably work but the vehicle’s heading will be a bit unstable. the issue is just that the rotational force from motors 1 and 4 are different to motors 2 and 3. That will lead to the heading becoming a bit unstable when the vehicle is moving around. So for example when the vehicle first starts moving the vehicle’ heading might also change for a moment before it the yaw controller corrects it.

1 Like

Maybe I can try that until vectored thrusters will be implemented maybe someday …

Can you recommend a cheap hardware platform suitable for rover?

@labomat,

We have some reference frames on the wiki here: https://ardupilot.org/rover/docs/reference-frames.html

Others may have other suggestions though.