Git Product home page Git Product logo

romi2023's Introduction

Romi Trajectory

Description

This Repository is a modified version of the incredible work that @zhiquanyeo created to help us all learn how to use trajectories. Without him, we would be at a bit of a loss. You can access his repository directly.

Note that all the constants used here assume that characterization has been done using meters as units. Additionally, all coordinates/distances are specified in inches, and output to meters using the Units.inchesToMeters() method.

Additional Hardware Required

None

Additional Hardware Optional

Perhaps the next step to extend this further would be to add a sensor or vision and get a trajectory to a desired point on the field.

Additional Configuration Required

  • Ensure that the gyro has been calibrated using the web UI
  • For best results, you should run a characterization on your Romi using the tool in Zhiquanyeo's Git. since there might be slight variations between Romis (due to assembly, mechanical difference, etc)

Additional Code Setup

We have created a few handy convenience features that allow you to easily imput and test waypoints.

  • AddWaypoints() Create a new list(or modify the existing one) of waypoints and starting and ending poses.
  • PlotTrajectory() Command While not needing much editing, this command allows you to visualize the trajectory using the Field2d() class. You can use it to fine-tune your wyapoints and starting and ending poses. It is set as an option for the Autonomous selcetor in RobotContainer(). You can access it by using shuffleboard, or the Sendable Chooser in Glass or the Simulator Window.
  • FindNewTrajectoryRuntime() Command Use the following smartdashboard entries to create a trajectory that you can move around the screen.
    • Start PoseX, Start PoseY, Start PoseAngle(in degrees) -- Makes up the start pose.
    • WaypointX, WaypointY -- Makes up the waypoint (you may modify the code to add more waypoints if you would like.)
    • End PoseX, End PoseY, End Pose Angle (in degrees) -- Makes up the ending pose.
  • FindRuntimeTrajectoryManyPoints() Command Use the following smartdashboard entries to create a trajectory that you can move around the screen.
    • Start PoseX, Start PoseY, Start PoseAngle(in degrees) -- Makes up the start pose.
    • Waypoint(*) -- Makes up the waypoint. If left as the default x, coordinate, this does nothing, but if you change it, it will add the new coordinate to the trajectory. They go in order. So, in theory, the first point will be the first, and so on.
    • End PoseX, End PoseY, End Pose Angle (in degrees) -- Makes up the ending pose.

romi2023's People

Contributors

techguru2530 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.