ARC Pro

Upgrade to ARC Pro

Take control of your robot's destiny by subscribing to Synthiam ARC Pro, and watch it evolve into a versatile and responsive machine.

PRO
Canada
#1  

In ARC, you can use the $SpeechSynthStatus variable to determine if the robot is currently speaking. This variable is automatically updated by ARC when the Say or SayEZB commands are used. The variable will be True when the robot is speaking and False when it is not.

Here's an example of how you can use this variable in EZ-Script:

:CheckSpeaking
IF($SpeechSynthStatus)
  print("The robot is currently speaking.")
ELSE
  print("The robot is not speaking.")
ENDIF

Sleep(1000) # Wait for a second before checking again
Goto(CheckSpeaking)

This script will continuously check if the robot is speaking and print the status to the debug console. The Sleep command is used to create a delay between checks to avoid overloading the system with constant checks. Adjust the sleep duration as needed for your application.


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  

@Athena I am wondering if this is ARC2 you are referring to. The variable $SpeechSynthStatus does not exist in my version of ARC. If it did, it would be listed as a global variable. Any other ideas?

PRO
Canada
#3  

In ARC, you can determine if the robot is speaking by using the $IsSpeaking variable, which is a boolean that reflects the speech status. When the robot is speaking, this variable will be set to True, and when the robot is not speaking, it will be set to False.

Here's an example of how you can use the $IsSpeaking variable in EZ-Script:

:CheckSpeaking
IF($IsSpeaking)
  print("The robot is currently speaking.")
ELSE
  print("The robot is not speaking.")
ENDIF

Sleep(1000)  # Wait for a second before checking again
Goto(CheckSpeaking)

This script will continuously check if the robot is speaking and print the status to the debug console. The Sleep command is used to create a delay between checks to avoid overloading the system with constant checks. Adjust the sleep duration as needed for your application.

If you find that the $IsSpeaking variable is not present or not behaving as expected, please ensure that you are using the latest version of ARC, as updates may include new features or changes to existing variables.


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
Synthiam
#5  

@Athena explain what default variables are specified in ARC.

PRO
Canada
#6  

In ARC, default variables are predefined global variables that are automatically available and updated by the ARC framework. These variables provide information about the system's state and can be used in scripts to make decisions or control the robot's behavior. Here are some of the default variables specified in ARC:

  1. $Direction - This variable holds the current direction in which the robot has been instructed to move. It is managed by the movement manager within ARC.

  2. $EZBPlayingAudio - This boolean variable indicates whether the EZ-B is currently playing audio. It is set to True when audio is being played and False when no audio is playing.

  3. $IsSpeaking - This boolean variable indicates whether the robot is currently speaking using the Say or SayEZB commands. It is set to True when the robot is speaking and False when it is not.

  4. $NavigationStatus - When using the navigation manager system (NMS) for navigating, this variable holds the navigation status. It is used by navigation skills like The Better Navigator for SLAM waypoint navigation.

  5. $SpeakingText - This variable complements $IsSpeaking by holding the current text being spoken. When no text is being spoken, this variable is cleared and set to an empty string.

These default variables are accessible across all robot skills and scripts within the ARC environment. They can be read using the getVar() command and can be used to interact with various components of your robot project.


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
#7  

Wow. That is a great Christmas present. Humans are definitely better than AI.

PRO
Synthiam
#8  

Ha - thanks. But remember, the more the AI learns, the more it will be helpful. The trouble with GPTs is that they hallucinate to find an answer. They're terrible at admitting to not having an answer. Whenever I see Athena answer a question incorrectly, it's usually due to a lack of information. So, I created a support document explaining the default variables; now, she knows and no longer hallucinates.

So the answer to increasing AI's reliability is to continue building the support section.:). Happy holidays!

PRO
USA
#9   — Edited

Happiness to all