PDA

View Full Version : [Question(s)] Goal torque on MX28-T protocol 2.0 & benefits of protocol 2 over 1?



jj16883
10-12-2018, 03:05 AM
Hi,

I am controlling 4 MX28-T actuators currently using protocol 1 but I am considering using protocol 2.0. Protocol 1 has the set max torque (goal torque) register and I wanted to know if there was an equivalent on protocol 2.0? The only thing I can think of is reading the load and changing the velocity to keep the load at a desired value.

I was also wondering what the specific benefits of using protocol 2.0 over 1 are?

Thanks in advance!

Jasper

jwatte
10-17-2018, 01:18 PM
Protocol 2 allows for control of more parameters of servos that support them.
Protocol 2 allows for "virtual mappings" of registers so if you frequently update a number of registers together, you can map them to a contiguous area which you can write in a single transaction.
Protocol 2 has a more robust 16-bit CRC instead of 8-bit checksum.
There are also a few other usability improvements over protocol 1 that escape me at the moment.

I should think that all parameters supported under protocol 1 are also supported under protocol 2? What documentation are you using where it seems like they don't support max torque?

KurtEck
10-17-2018, 05:51 PM
With questions like this, I often suggest that you ask them on the Robotis Forum: http://en.robotis.com/service/forum.php

I assume you are looking at their control table: http://emanual.robotis.com/docs/en/dxl/mx/mx-28-2/#control-table
versus the Protocol 1: http://emanual.robotis.com/docs/en/dxl/mx/mx-28/#max-torque

Also protocol 2 gives you some other capabilities, like the ability to do Sync Read commands, where you only send out one packet, and each of the servos in your list will send you back a packet. Likewise for Bulk Read and Write, except in this case you can specify a different set of registers for each servo (must be continuous).

But it goes without saying, that if your servo speaks Protocol 2, than you must use a library that understands Protocol 2...

jwatte
10-18-2018, 02:17 PM
I'm of the impression that the MX servos, with modern firmware, can speak both? The protocols are such that the servo can reliably tell whether you're trying to speak v1 or v2.
Or do you need to load different firmwares for different protocol versions?

KurtEck
10-18-2018, 03:35 PM
What I have seen and believe is if your servo is configured for Protocol 2, you must speak protocol 2.

That is for example if I use some XL430-w250 like servos, and have one lets say ID #1.

It will not respond to a ping of #1 on protocol 1... only on Protocol 2...

Forgot to mention, another difference between protocol 1 and 2 is the PING message. On protocol 2 it returns some data about the servo. You can also use the broadcast ID and all of the servos in turn will respond....

But if you have updated firmware, that speaks Protocol 2, you can configure the servo to speak protocol. 1.
http://emanual.robotis.com/docs/en/dxl/mx/mx-28-2/#protocol-version

What I don't remember about how Protocol 2 servos work when configured to use Protocol 1. Obviously you can not access any of the registers >= 256 as the address field is only a byte in length.

But not sure about things like: What register do you set to for goal_position and what size is this register.
This is do you use the protocol 1 address (30 length 2) for this, or do you use address 116 length 4? ...

jj16883
10-22-2018, 04:10 AM
It does seem like protocol 2 may speed things up for me.

I update the Torque limit/goal torque register on protocol 1.0 which is register 34. I can't seem to find a register that does the same thing on protocol 2.0. I was wondering if I'm wrong about this?

I know that the goal torque on protocol 1.0 isn't massively accurate but it's proven pretty useful.

gaiajoypop
12-25-2018, 09:32 PM
It does seem like protocol 2 may speed things up for me.

I update the Torque limit/goal torque register on protocol 1.0 which is register 34. I can't seem to find a register that does the same thing on protocol 2.0. I was wondering if I'm wrong about this?

I know that the goal torque on protocol 1.0 isn't massively accurate but it's proven pretty useful.

I hope the following information is useful to you.
If you need more details, i recommed to ask ROBOTIS.

1. Register mapping
A)Notation : Left for MX-28 => Right for MX-28(2.0)
2. Max torque(address 14, 2byte) => PWM Limit(address 36, 2byte)
3. Torque Limit(address 34, 2byte) => Goal PWM(address 100, 2byte)