Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MH900 axis configuration won't work #177

Open
ted-miller opened this issue Oct 10, 2023 · 9 comments
Open

MH900 axis configuration won't work #177

ted-miller opened this issue Oct 10, 2023 · 9 comments
Labels
bug Something isn't working

Comments

@ted-miller
Copy link
Collaborator

ted-miller commented Oct 10, 2023

So I just discovered that the axis configuration on an MH900 is really weird, due to the extra-large power converters on the lower three axes.

============================================================
CONNECT(STO)                                        
        -- AXIS --  -- BRK --   -- CV  --           
    SV <123456789> <123456789> <123456789> ON_EN  OT
------------------------------------------------------------
R1 :#1 [456---123] [123456---] [111---234] ON_EN1 OT1   
============================================================
  1. The axis-order is not one that will be recognized by Ros_CtrlGroup_ConvertSequentialJointOrderToMotoJointOrder
  2. The MotoPlus API can't control the 9th axis in a single control group.

This could potentially be re-wired on the servo board to a supported configuration. But the local engineer in charge of MH900 wasn't immediately sure about the implications. More investigation would be required.


And while discussing this issue, it was mentioned that the GP4 also has a really weird axis configuration. I don't have details beyond "really weird".

@ted-miller ted-miller added the bug Something isn't working label Oct 10, 2023
@gavanderhoorn
Copy link
Collaborator

gavanderhoorn commented Oct 10, 2023

The MotoPlus API can't control the 9th axis in a single control group.

Should we not assert on this model until this has been fixed?

Just to prevent late user-facing errors?

And document the fact that model is unsupported.


Edit: same for GP4.

(I vaguely remember at least one user with a GP4, but can't find any reference to it, neither here nor in the beta1 repository. Perhaps MotoROS1?)


Edit 2: yes, ros-industrial/motoman#544 was posted by a user of motoman_driver (ie: MotoROS1) with a GP4.

@ted-miller
Copy link
Collaborator Author

I think that's a good idea. But we don't currently have true robot-model-detection. We just get the axis type (linear/rotational) and then make some assumptions based on number of axes.

Having said that, it's possible.

@ted-miller
Copy link
Collaborator Author

GP4:

I don't see anything weird here.
image

Perhaps due to the fact this is from MotoSim and not a real arm. But given that ros-industrial/motoman#544 got everything working, I'm guessing it's fine.

@ted-miller ted-miller changed the title MH900 (and possibly GP4) axis configuration won't work MH900 ~(and possibly GP4)~ axis configuration won't work Oct 10, 2023
@ted-miller ted-miller changed the title MH900 ~(and possibly GP4)~ axis configuration won't work MH900 ~~(and possibly GP4)~~ axis configuration won't work Oct 10, 2023
@ted-miller ted-miller changed the title MH900 ~~(and possibly GP4)~~ axis configuration won't work MH900 axis configuration won't work Oct 10, 2023
@gavanderhoorn
Copy link
Collaborator

But we don't currently have true robot-model-detection

any M+ APIs we could use?

@ted-miller
Copy link
Collaborator Author

Here's a couple HSES commands... I have to imagine there are M+ equivalents.

GetAxisConfiguration.pdf

SystemInformation.pdf

@ted-miller
Copy link
Collaborator Author

I suppose we could always just parse the PANELBOX.LOG file.
It's not ideal, but it wouldn't be too difficult.

@ted-miller
Copy link
Collaborator Author

Or we could invoke the HSES command. It's easy enough to hard-code a binary packet (as opposed to implementing an entire interface).

@gavanderhoorn
Copy link
Collaborator

Are we mostly worried about the active axis in the 9th slot, or about the unusual order?

@ted-miller
Copy link
Collaborator Author

Both equally.

We need to detect unusual order for the sake of Ros_CtrlGroup_ConvertSequentialJointOrderToMotoJointOrder. Otherwise we won't process an incoming trajectory properly.

We need to detect the 9th axis to raise a fatal alarm, since we can't control the U axis in that configuration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants