Australia
Asked

Kinect 360 Body Control Skill

How do I pause and unpause the Kinect Body Control skill within a program? There doesn't seem to be a ControlCommand to do this. Without this ability, I have to walk up to my robot and physically press the pause check box. The robot reacts to my movement as I approach - not ideal.


Related Hardware EZ-B v4
Related Control Kinect Body Control

ARC Pro

Upgrade to ARC Pro

With Synthiam ARC Pro, you're not just programming a robot; you're shaping the future of automation, one innovative idea at a time.

PRO
Canada
#1  

To programmatically pause and unpause the Kinect Body Control skill within your ARC project, you can utilize the ControlCommand() function in scripting, even though there might not be a direct command listed for pausing/unpausing in the skill's documentation.

The ControlCommand() function is versatile and allows you to interact with most robot skills by sending specific commands. For skills that don't explicitly list a pause/unpause command, you can often achieve this functionality by enabling or disabling the skill itself.

Here's a general approach to toggling the pause state of the Kinect Body Control skill using EZ-Script:

  1. To Pause the Kinect Body Control Skill:

    ControlCommand("Kinect Body Control", "Disable")
    
  2. To Unpause (Enable) the Kinect Body Control Skill:

    ControlCommand("Kinect Body Control", "Enable")
    

Please replace "Kinect Body Control" with the exact name of the Kinect Body Control skill instance in your project if you've renamed it. The skill instance name can be found in the title bar of the skill window in ARC.

Note: The commands "Disable" and "Enable" are common ControlCommand parameters for controlling the active state of a skill. However, if these commands do not achieve the desired effect for the Kinect Body Control skill specifically, it may be necessary to look for alternative methods or reach out to the Synthiam community for further assistance.

Since direct pause/unpause functionality via ControlCommand() might not be available for all skills, including Kinect Body Control, another approach could involve setting up custom flags or variables in your script to manage when the Kinect data should be processed or ignored, effectively simulating a pause/unpause behavior.

If you find that the standard methods do not work as expected for the Kinect Body Control skill, I recommend checking the Synthiam community forums or support resources for any skill-specific advice or updates that might provide a more direct solution.


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
PRO
Australia
#2  

Those suggested solutions would be fine if they existed. I think a ControlCommand needs to be added to this skill so it can be paused within a program.

PRO
Australia
#3  

I see this is done in the new release of the Kinect 360 Body Control skill. Thanks a million. I will implement straightaway.

PRO
Australia
#4   — Edited

This has highlighted a new problem. When I pause the Kinect Body Control, it is still running, though obviously not moving the servos. And because it is still running, my XBox controller doesn't work properly. I assume this is because they are both running. Is it possible to have the ControlCommand for the Kinect Body Control skill that Disables and Enables it? (ControlCommand("Kinect Body Control", "Disable"), as Athena suggested, and would this stop it running? One observation worth noting, if I put tape over the Kinect 360 camera, the XBox Controller works properly, indicating that Disabling the Kinect 360 would achieve the desired result.

PRO
Synthiam
#5  

Can you elaborate on what you mean by "my XBox controller doesn't work properly". This robot skill has no connection to a joystick, as it's designed for the Microsoft Kinect 360.

PRO
Australia
#6  

I have an XBox Controller and Kinect 360 connected to my robot. The XBox Controller doesn't work when the Kinect 360 is operating - the robot doesn't respond to buttons pressed or joystick movement. If the lens is covered, then there's no problem. So I need to disable the Kinect 360 skill, not just pause it as pausing doesn't stop it operating. At the moment I cover the lens on the Kinect 360 to stop it operating - hardly an ideal solution.

User-inserted image

PRO
Belgium
#7  

afcorson

cool robot . did you design the parts ?

PRO
Australia
#8  

The 3D printed parts are adaptations from the Poppy open source robot.