VingVing Robot LogoVingVing Robot

Documentation v0.0.3

VingVing Robot Docs

Installation

Get VingVing Robot up and running in your FTC project

Prerequisites

  • FTC SDK - Latest version of the FIRST Tech Challenge SDK
  • Android Studio - For building and deploying your robot code
  • Java 8+ - Java Development Kit
  • Gradle - Build automation tool (included with Android Studio)

Method 1: Gradle (Recommended)

The easiest way to add VingVing Robot to your FTC project is via Gradle.

Step 1: Add Maven Repository

Open your project's root build.gradle file and add the VingVing Maven repository:

build.gradle
repositories {
    maven { url 'https://maven.vingving.jnx03.xyz/' }
    // ... other repositories
}

Step 2: Add Dependencies

In your TeamCode module's build.gradle file, add the VingVing Robot dependencies:

TeamCode/build.gradle
dependencies {
    implementation 'com.vingvingrobot:core:0.0.3'
    implementation 'com.vingvingrobot:ftc:0.0.3'

    // Optional: For dashboard integration
    implementation 'com.acmerobotics.dashboard:dashboard:0.4.12'

    // ... other dependencies
}

Step 3: Sync Gradle

Click "Sync Now" in Android Studio or run the following command:

./gradlew build

Method 2: Manual Installation

If you prefer to manually add the library files, follow these steps:

Step 1: Download Library

Download the latest VingVing Robot JAR files:

Step 2: Add to Project

Create a libs folder in your TeamCode module and copy the JAR files there:

TeamCode/
libs/
vingvingrobot-core-0.0.3.jar
vingvingrobot-ftc-0.0.3.jar

Step 3: Update build.gradle

TeamCode/build.gradle
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    // ... other dependencies
}

FTC Dashboard Integration (Optional)

VingVing Robot supports FTC Dashboard for real-time visualization and debugging.

Why use FTC Dashboard?

  • Visualize robot paths in real-time
  • Monitor robot pose and position
  • Adjust PID values on-the-fly
  • Debug autonomous routines

Installing FTC Dashboard

TeamCode/build.gradle
dependencies {
    implementation 'com.acmerobotics.dashboard:dashboard:0.4.12'
}

After installation, you can access the dashboard by connecting to your robot's WiFi and navigating to:http://192.168.43.1:8080/dash

Verify Installation

Create a simple test OpMode to verify the installation:

TestVingVing.java
package org.firstinspires.ftc.teamcode;

import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
import com.vingvingrobot.geometry.Pose;

@TeleOp(name = "VingVing Test")
public class TestVingVing extends LinearOpMode {
    @Override
    public void runOpMode() {
        telemetry.addData("Status", "VingVing Robot is installed!");

        // Create a simple pose to test the library
        Pose testPose = new Pose(0, 0, 0);
        telemetry.addData("Pose", testPose.toString());
        telemetry.update();

        waitForStart();

        while (opModeIsActive()) {
            telemetry.addData("Status", "Running");
            telemetry.update();
        }
    }
}

Expected Result:

If the OpMode runs successfully without errors, VingVing Robot is properly installed! You should see "VingVing Robot is installed!" in the telemetry.

Next Steps

Now that VingVing Robot is installed, you're ready to configure your robot!

Common Issues

Build fails with "Cannot resolve symbol"

This usually means the Maven repository wasn't added correctly.

  • Check that the Maven URL is correct in build.gradle
  • Try syncing Gradle again
  • Clean and rebuild the project
Version conflict with other libraries

Some libraries may conflict with VingVing Robot dependencies.

  • Check for duplicate dependencies in build.gradle
  • Use the latest compatible versions
  • Exclude conflicting transitive dependencies if needed
Dashboard not accessible

Make sure you're connected to the robot's WiFi network.

  • Verify you're connected to the robot WiFi (usually FTC-XXXX)
  • Check the IP address (192.168.43.1 or 192.168.49.1)
  • Make sure the robot control hub is powered on
  • Try clearing your browser cache