Skip to content

Cockpit buttons' state now updated + added service to monitor retrieve their value#122

Open
pucciland95 wants to merge 1 commit intoDoosanRobotics:masterfrom
pucciland95:master
Open

Cockpit buttons' state now updated + added service to monitor retrieve their value#122
pucciland95 wants to merge 1 commit intoDoosanRobotics:masterfrom
pucciland95:master

Conversation

@pucciland95
Copy link
Copy Markdown

Hi,

in our lab, we have a Doosan a0509s robot. I wanted to monitor the state of the buttons on the cockpit since it was handy to bind them to some actions during Teaching by Demonstration tasks (for example, close/open the gripper or start/stop Training recording).

Because of that, I changed the source code adding the possibility to retrieve from the API the button's status (before their values were not updated) and added a ROS service (/system/GetButtonsState) that monitors their status (you could also subscribe to the topic /robot_status to retrieve their values which, as I was saying, now is updated).

I hope this is will be useful to someone.

Niccolò

@vyasakash231
Copy link
Copy Markdown

vyasakash231 commented Oct 23, 2024

Hi.. @pucciland95, I tried this service and I think it will be helpful for data collection of gripper state but I'm getting False value when moving it manually also is there any way to perform free drive motion after switching to ROBOT_MODE_MANUAL without pressing the button on the body?

@pucciland95
Copy link
Copy Markdown
Author

Hi,

Regarding activating the Free Drive without touching the buttons, I honestly don't recall any functions that allow to do this. Check on the documentation, maybe you can find some useful function...

Regarding your first question: what do you mean with "False values"? Does the buttons states result as pressed (True) despite they are not?

Niccolo

@vyasakash231
Copy link
Copy Markdown

Screenshot from 2024-10-24 00-53-55
when, I'm trying to manually operate my robot, I'm getting only false values.

    check_button = rospy.ServiceProxy('/dsr01a0509/system/get_buttons_state', GetButtonsState)
    response = check_button()  # Call the service, no request data needed
    print(response.state)

@pucciland95
Copy link
Copy Markdown
Author

  1. are you actually pressing the buttons in the robot's cockpit?

  2. are you in manual mode? (To check it, just try to use free drive when the code is running). I don't know if you can monitor the state of the button when the robot is in automatic mode.

If it is not any of these I honestly don't recall what it could be. I don't work in the lab with the doosan robot anymore

@vyasakash231
Copy link
Copy Markdown

Sorry, actually my button values were not updating at that time; now I'm getting the correct value.
Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants