Home e-Manual

Dynamixel Servo for “Schottel” Type Marine Thruster

Hi,

I am currently designing/building a “Rotortug”-type marine robot. It is moved around by 3 “Schottel” type thrusters, which can be continuously rotated over a full 360+° degree range.

For manual mode, a standard R/C transmitter should be used to control the thrusters directly, like the thrusters in this video (between 0:45-1:15):

I am planning for Dynamixel servos (especially the XL430-250T) since they are advertised as being “multi-turn” capable, which sonds quite good, but I am looking more for a “endless-turn” type of capability. I have already connected ROS to the R/C receiver and can receive the stick positions.

I am actually looking through the SDK (I do my coding in C++) , but I am not sure if the “endless-turn” capability I need is already in there (it seems to be something like multi-turn, but no quite it).

Is it possible to use Dynamixel XL’s in this fashion?`

Thanks in advance, any help is appreciated…

Kai

Hello @WaldoPepper, thank you for your post and welcome to our Community Page. Based on your description I should be able to provide some clarification that can be of assistance:

The DYNAMIXEL XL430-W250-T supports an “endless turn” capability in a number of its operating modes. Velocity Control Mode is the most common “endless turn” mode where the DYNAMIXEL accepts a Goal Velocity command to define the speed at which to turn. In addition, PWM Control Mode also offers endless turn functionality, but changes the desired input parameter for the DYNAMIXEL to begin movement (PWM Control Mode uses “Goal PWM”).

It should be possible to operate the units in this way using the DYNAMIXEL SDK or ROS, however my personal experience with custom programming is limited. For additional assistance with this, allow me to refer to some of our other Community members. @Yogurt_Man and @willson, can you possibly share more information about using Velocity Control Mode with the DYNAMIXEL SDK in this application?

As @Andrew said that, you can use Velocity Mode if you are looking for the Endless Turn.

But literally this only controls velocity in motion. It may not reach certain position by given command merely using this mode. In this case, you could try PWM Control Mode, and build external controller for loop control (Such as gain controller). As DYNAMIXEL features information feedback via form of a packet (Networking with device), you could use this approach to reach certain position in regulating PWM (aka - a voltage control) in PWM Control Mode.

Hi @WaldoPepper

Thanks for the video link for more details. It really helps to fully understand what you are trying to accomplish.

For your specific application, using the Clear instruction will be the easiest way.
The Clear instruction basically resets the rotational count.

For example, when setting DYNAMIXEL to Extended Position Control mode, and let’s say that we set the Goal Position to 5000 which is 4096 (1 rotation) + 904 position.

If you send the Clear instruction while the DYNAMIXEL is in stationary(stopped) condition, it will clear the 1 rotation info and leaving the 904 value only for the Present Position.

Since the controller doesn’t seem rotating the thruster module all the time, you should be able to find a right timing to send this Clear instruction.

However, it is not recommended to clear the information when DYNAMIXEL is near the 0 or 4096 position as there could be a few fluctuation of the position value due to the external condition such as current of the water.

Thanks!

Thank you all for the replies and the thoughts and ideas you shared. In the meantime I got hold of a XL430-250T and I am on backorder for a U2D2 (and a OpenCM9, just in case :wink:

I prepared a ROS node for the thruster steering, which subscribes to a topic of Azimut/Thrust values coming from a stick of the R/C transmitter, so exactly like in the video above I will be able to “point” the truster in a direction and control the thrust it propelles into that direction as soon as the code connecting the Dynamixel works.

As soon as my controller arrives I will implemented the ideas you mentioned and let you know, how it went… :wink:

1 Like

@WaldoPepper
Must be amazing project,

Hope your project is going good.

If this is hobby project, I believe the ROBOTIS can share your content through their SNS.

You can contact contactus2@robotis.com

Good day,

…while waiting for the U2D2 I 3D-printed a test stand, to kill some waiting time :wink:

As soon as the controller arrives I will start testing, I will keep you updated.