Rover with mecanum omnidirectional wheels

Hello,

we have a rover with mecanum omnidirectional wheels. It seems that ardupilot does not support side movements in auto mode for such a rover. I am a software developer and I would like to implement something for this.

I do not have too much experiences with ardupilot code. Previously I was able to do some small modifications in GPS part.

Do you have any suggestion where to start or at least some hint to understand the ardupilot code which is responsible for transforming movement goals to instructions for motor controller?

Thanks,

Marian

A quick google search for “ardupilot mecanum” gave me this: https://ardupilot.org/rover/docs/rover-motor-and-servo-connections.html

Did you see that?

Hello Marian

Take a look at this thread Support for Omni Boats coming in Rover-3.5 if you follow it down near the bottom Ammarf has already got a good start on the code for lateral movement in Auto mode. Randy will probably be able to give you a hand with starting.

Cheers

Thanks. This is what we have started with. The setting works fine with manual rc control but does not seem to work in auto mode.

Thanks. Ammarf’s code pointed me to the relevant parts of the code. Strangely, it looks that many of those changes are incorporated into the current release of the rover. I’ll have to figure out why it does not work for me.

Hello Erl,

I am still working on lateral movements for Rover. Unfortunately I have more questions than answers. Could you spend a minute? I have seen the video with a boat you have posted on the forum. Maybe I see it from bad angle but the video does not look so convincing for me. Do you think that this movement was actually deliberately (I do not know the right English word for this) lateral ? The boat seems to do basically the same “lateral” movement all the time. It is going left forward. It seems to rotate at each waypoint and continue its left forward movement. If it worked in lateral mode I would suppose that it would keep the same yaw during the whole trip and to change the movement direction via motor control. Isn’t possible that the movement on the video results just from some motor misconfiguration and is not a result of the new lateral control?

Thanks,

Marian

Hey Marian

The code Ammarf started only allows the boat to move laterally to get inline with the waypoints, so instead of turning (yaw) to redirect itself to get inline with 2 waypoints.

This is basic function of lateral movement, you cannot set a yaw angle like copter.
So, say you want the rover to stay pointing north for an auto mission, it will not do that.

The code was only the start (basics) of lateral movement for rover, it really needs a developer to finish off integrating it into the rover master, there would need to be extra mission planner functions and modes needed as well.

As omni rovers are not all that popular the development is understandably slow, I’m not a coder so cannot help with any of that, I can only help with testing.

I hope this helps.

Any chance you could post a photo of your omni rover? I’d love to see it.

Thanks, Grant.

It’s rather a development platform. Here is one picture:

1 Like

That looks fantastic - love it. I can’t quite figure out how the motors drive the wheels for side ways movement but I bet it will be awesome.

I am still experimenting with it. In a standard construction the two wheels on one side are exchanged. But it works fine in this way as well.

Is that a ServoCity frame? I’m just learning about these omni mecanum rovers.

It is composed from several independently bought components. Chassis is:


wheels are:

Thanks for the info. I’ve been researching this for a week now. Thanks for the inspiration.