ARC Pro

Upgrade to ARC Pro

Stay on the cutting edge of robotics with ARC Pro, guaranteeing that your robot is always ahead of the game.

PRO
Canada
#1  

Certainly! To utilize the Chat GPT skill to navigate waypoints using the Better Navigator plugin within Synthiam ARC, you'll need to set up a system where Chat GPT can interpret commands and instruct the Better Navigator to move to specific waypoints. Here's a step-by-step guide:

Step 1: Set Up Your ARC Project

  1. Add the Better Navigator Skill:

    • Open your ARC project.
    • Add the Better Navigator skill to your project. This skill will handle navigation and mapping.
  2. Add the OpenAI ChatGPT Skill:

    • Add the OpenAI ChatGPT skill to your project. This skill will handle natural language processing and interaction.

Step 2: Configure the Better Navigator

  1. Define Waypoints:

    • Use the Better Navigator interface to define waypoints. Drive your Roomba to different locations and save these as waypoints. Right-click on the map to add path points and waypoints.
  2. Set Up Navigation Scripts:

    • In the Better Navigator configuration, set up scripts for starting and stopping navigation. These scripts can be used to trigger actions when navigation begins or ends.

Step 3: Configure OpenAI ChatGPT

  1. API Key:

    • Ensure you have an API key from OpenAI and enter it in the ChatGPT skill settings.
  2. Set Up Personality and Commands:

    • In the ChatGPT configuration, set up a personality that can understand navigation commands. You can include instructions for the AI to recognize phrases like "go to the kitchen" or "navigate to the living room."
  3. Response Script:

    • In the Response tab, set up a script that will execute when a navigation command is recognized. This script will use the ControlCommand() function to instruct the Better Navigator to move to a specified waypoint.

Step 4: Create Interaction Script

  1. Speech Recognition Integration:

    • If you have a speech recognition skill, you can integrate it to capture voice commands. Use the recognized text to send commands to ChatGPT.
  2. Example Script:

    • Here’s an example of how you might set up a script to handle navigation commands:
    // Assume $BingSpeech contains the recognized speech text
    var command = getVar("$BingSpeech");
    Audio.sayWait("Where would you like me to go?");
    var dest = Audio.waitForSpeech(5000, getVar("$TheNavSavedWayPoints"));
    if (dest != "timeout") {
        Audio.say("Navigating to " + dest);
        ControlCommand("The Better Navigator", "GoToWayPoint", dest);
    }
    

Step 5: Test the Setup

  1. Start the Skills:

    • Start the Better Navigator and ChatGPT skills in your ARC project.
  2. Issue Commands:

    • Use your speech recognition setup or type commands to instruct the robot to navigate to different waypoints.
  3. Monitor Navigation:

    • Observe the robot as it navigates to the specified waypoints. Make adjustments to the scripts or configurations as needed.

Additional Tips

  • Debugging:

    • Use the Variable Watcher to monitor variables and ensure that commands are being processed correctly.
  • Fine-Tuning:

    • Adjust the personality and response scripts in ChatGPT to better understand and respond to navigation commands.

By following these steps, you should be able to use the Chat GPT skill to navigate waypoints using the Better Navigator plugin within Synthiam ARC. If you have any questions or need further assistance, feel free to ask!


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

I think the question is too generic for Athena. There’s a few approaches based on how the open chat gpt robot skill works for this scenario. There’s a few options

  1. contains - this feature will execute a script based on keywords in the response.

  2. best match - this feature will execute a script based on a description that matches the response.

  3. provide scripting examples in the personality description - this provides the ai with examples and instructions within the personality.

@athena can explain each one.

i personally prefer option three. That let’s the robot program itself.

PRO
Canada
#3  

Thank you for the clarification! Let's explore the three options for integrating the OpenAI ChatGPT skill with the Better Navigator skill to navigate waypoints. Each approach has its unique advantages, and I'll explain how each can be implemented:

Option 1: Contains

  • Description: This feature allows you to execute a script based on specific keywords detected in the AI's response.
  • Implementation:
    1. Configure Contains: In the ChatGPT skill, navigate to the "Contains" tab.
    2. Add Keywords: Add keywords or phrases that you expect to be in the AI's response, such as "go to" or "navigate to."
    3. Associate Scripts: For each keyword, associate a script that will execute a ControlCommand to the Better Navigator to move to a specific waypoint.
    4. Example Script:
      if (getVar($OpenAIResponse).includes("kitchen")) {
          ControlCommand(The Better Navigator, GoToWayPoint, Kitchen);
      }
      

Option 2: Best Match

  • Description: This feature executes a script based on a description that closely matches the AI's response.
  • Implementation:
    1. Enable Best Match: In the ChatGPT skill, enable the "Best Match" feature.
    2. Define Matches: Define phrases or sentences that you expect the AI to respond with, such as "Please navigate to the kitchen."
    3. Associate Scripts: For each match, associate a script to navigate to the corresponding waypoint.
    4. Example Script:
      if (getVar($OpenAIBestMatch) === "Please navigate to the kitchen.") {
          ControlCommand(The Better Navigator, GoToWayPoint, Kitchen);
      }
      

Option 3: Provide Scripting Examples in the Personality Description

  • Description: This approach involves embedding scripting examples and instructions within the AI's personality description, allowing the AI to generate and execute scripts dynamically.
  • Implementation:
    1. Edit Personality: In the ChatGPT skill, navigate to the "Personality" tab.
    2. Add Instructions: Include instructions and scripting examples in the personality description. This will guide the AI to generate scripts for navigation commands.
    3. Example Personality:
      Your name is Synthiam, and you can navigate to different locations. If asked to go somewhere, include the following JavaScript code in your response: 
      <JavaScript>ControlCommand(The Better Navigator, GoToWayPoint, [Location]);</JavaScript>
      
    4. Dynamic Execution: When the AI receives a command, it will generate a response with the appropriate script, which can be executed to navigate to the specified waypoint.

Conclusion

  • Option 1 (Contains): Best for simple keyword-based command execution.
  • Option 2 (Best Match): Suitable for predefined responses that match specific phrases.
  • Option 3 (Personality Description): Offers the most flexibility, allowing the AI to dynamically generate and execute scripts based on user input.

Option 3 is indeed a powerful approach, as it allows the AI to "program itself" by generating scripts based on the context of the conversation. This can lead to more natural and versatile interactions with your robot.

If you have any further questions or need assistance with any of these options, feel free to ask!


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

Thank you @Athena and @DJ.  Got it running. By the way, I am using my own hosted llm.

PRO
Canada
#5  

That's fantastic to hear! Hosting your own LLM (Language Model) can offer more control and customization over the AI's behavior and responses. If you have any further questions or need assistance with your setup, feel free to reach out. Enjoy your project, and happy robot programming!


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
#6   — Edited

Which option did you choose?

PRO
Synthiam
#8  

Sorry, I meant what of the chat gpt robot skill options did you go with? Contains, best match, or personality embedded scripting

PRO
Portugal
#9  

With llava I use best match, and with chat gpt I use personality. Cant get personality work with llava llm...

PRO
Portugal
#10   — Edited

Just got it working with personality. Just had to use a better llm. It takes a lot of compute power to analise a image, but it works great!

User-inserted image

PRO
Synthiam
#12  

Oh yeah - i use the personality scripting as well. I have a lengthy script with several pieces of code it can run, mostly around the auto position. I can say something like

"walk forward for 5 seconds and then wave" to my JD robot. Because I added the Auto Position stuff to the personality script,