ros-industrial / motoman

ROS-Industrial Motoman support (http://wiki.ros.org/motoman)
145 stars 192 forks source link

MotoROS: add a (simple) ui on the TP #193

Open gavanderhoorn opened 6 years ago

gavanderhoorn commented 6 years ago

A discussion topic / enhancement request: the MotoROS side of the driver could include a UI shown on the TP that provides both access to settings as well as status information.

Some possible pieces of information / configuration options such a UI could provide (from https://github.com/ros-industrial/motoman/pull/191#issuecomment-359940450):

  1. (en|dis)abling velocity feedback (recent addition in #191)
  2. maybe enable/disable torque feedback
  3. display a diagnostic monitor screen
  4. display all the controller information that is calculated at startup (max speeds, pulse->radian, etc)
gavanderhoorn commented 6 years ago

Some more suggestions:

  1. MotoROS version info
  2. connection status: connected, disconnected, remote IP, etc
  3. how many connections to the State, Motion and IO servers are being serviced (and how many are still available), perhaps also nr of tasks running
  4. Motion groups detected vs controlled (could be part of 4 in the OP)
  5. message statistics:
    1. corrupt msgs (if ever)
    2. unknown msgs
    3. unhandled msgs (ie: IO msgs to state server)
    4. total nr of msgs (nr of trajectory msgs, etc)
  6. trajectory execution status: nr of traj msgs received since start of new trajectory, etc. We don't know how long trajectories are (they are streamed), so this would essentially be a running counter that gets reset upon reception of a new traj)
  7. Ros_MotionServer_IncMoveLoopStart queue status
  8. simple 'log viewer' (telnet output into multi-line text edit control)
  9. current joint states per group as MotoROS 'sees' them (ie: ROS joint order, to diagnose: start state deviated from current state problems)
gavanderhoorn commented 6 years ago

Things to potentially configure:

gavanderhoorn commented 6 years ago

@ted-miller: I just wrote down what I could think of. In no particular order.

Would there be anything that you feel should be looked at first?

ted-miller commented 6 years ago

I'll make some dummy screens sometime next week and post them to see what you think. These are the items I think should be addressed first, as they require less dramatic changes to the MotoPlus:

ted-miller commented 6 years ago

Do you guys have localized versions of ROS Industrial utilities in languages other than english? I'm wondering if these screens will ever be multi-lingual.

Given the limited screen space on the pendant, I need to plan extra carefully if I know the app will display other languages. (German and Mandarin are especially challenging.)

gavanderhoorn commented 6 years ago

Do you guys have localized versions of ROS Industrial utilities in languages other than english?

No, not at this time.

Focusing on English seems ok to me, but perhaps @shaun-edwards has some other input.

German and Mandarin are especially challenging

I can imagine. Are you doing those yourself as well?

gavanderhoorn commented 6 years ago

Curious/excited: :bellhop_bell: ? :)

ted-miller commented 6 years ago

Sorry, I haven't had much time to work on side-projects lately. Here's what I have so far. I'm still not sure the best way to display all the information listed above. Your feedback is welcomed.

20180302105254

ted-miller commented 6 years ago

Also, the center listview is scrollable. So, I can certainly add more status info to that list.

gavanderhoorn commented 6 years ago

Looks ok. I'm guessing this is a YRC1000 TP in the screenshot?

Aesthetically I'm not such a fan of centre alignment, perhaps all left aligned would be cleaner?

I'm still not sure the best way to display all the information listed above. Your feedback is welcomed.

Is the list the 'only' list we have? Or are the other tabs/buttons also available?

gavanderhoorn commented 6 years ago

Btw: no connection to the IO server isn't necessarily a problem, right? I guess the exclamation mark being in a green square means it's just a warning, but it looks like something should be done to correct it.

ted-miller commented 6 years ago

This is how it will look on any controller model. It's a custom Windows CE application that runs overtop the standard interface. In regards to what controls are available... I can do anything. Just think of it as a normal Windows app.

No, the I/O server is not required. I can certainly play with the icons/colors. I simply had the exclamation icon already made from another application.

gavanderhoorn commented 6 years ago

Just curious: have you had any more time to work on this @ted-miller? I'm liking the panel you've posted. It does seem like something that would be very useful for MotoROS users (not just ROS users).

ted-miller commented 6 years ago

No, I haven't touched this since March. It's still on my to-do list, but it's at the bottom of that list.

Please keep this issue open.

gavanderhoorn commented 4 years ago

@ted-miller: have you had any time to work on this? The mock-up you showed would make a very nice addition to MotoROS.

Right now status of the connection and other properties of the driver and ROS connection are invisible on the controller. Having a display like you showed in https://github.com/ros-industrial/motoman/issues/193#issuecomment-369964241 would be invaluable.

ted-miller commented 4 years ago

No, I haven't touched this. Honestly, the chances are low that it'll happen anytime soon.

However, if you want easy visibility of those signals, I could create a quick/easy I/F panel. Here's an example: if panel

For north/south America, the I/F Panel function should be enabled on every arm. I don't know if this function is enabled by default in other regions. Can you check your controller to see if this button exists on the bottom of your pendant screen?

gavanderhoorn commented 4 years ago

Honestly, the chances are low that it'll happen anytime soon.

Could someone else do this work? What would be needed?

However, if you want easy visibility of those signals, I could create a quick/easy I/F panel. Here's an example:

[..]

For north/south America, the I/F Panel function should be enabled on every arm. I don't know if this function is enabled by default in other regions. Can you check your controller to see if this button exists on the bottom of your pendant screen?

Yes, I have the I/F Panel button.

ted-miller commented 4 years ago

Could someone else do this work? What would be needed?

I'll check with Eric to see what he has going on. This project requires our Pendant SDK. Additionally, it requires a very specific version of Visual Studio that supports Windows CE.

gavanderhoorn commented 4 years ago

@ted-miller: would there be any way to (re)start this effort?

ted-miller commented 4 years ago

@EricMarcil: Is this something you could work on? I've got a skeleton app, but I basically abandoned it due to higher priorities. If you're also busy, I can check if someone else in the department is available.

ted-miller commented 4 years ago

@gavanderhoorn : I'll still offer up the I/F panel option. It far less aesthetically appealing. But, I could have that ready for you today.

EricMarcil commented 4 years ago

@ted-miller: I'm pretty busy recently but send me what you have, I'll try to look at it when I have a chance.

gavanderhoorn commented 4 years ago

@ted-miller wrote:

@gavanderhoorn : I'll still offer up the I/F panel option. It far less aesthetically appealing. But, I could have that ready for you today.

I don't have an immediate need myself.

But there have been a few questions about status and other runtime aspects of MotoROS which I felt could be captured/displayed by the UI being discussed here in this issue.

That's why I thought to ask whether we could restart this effort.

gavanderhoorn commented 3 years ago

Just making sure again this doesn't fall off everyone's radar again. :bell: :robot:

Personally I would really love to see this realised, as it's tremendously valuable to be able to ascertain the state of the connection from the TP instead of only having the ROS side's version of "the truth".

ted-miller commented 3 years ago

Realistically, the custom TP GUI is way off my radar. Though, I'm still willing to whip up an I/F Panel. It's better than nothing...