Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Navigate to WARG’s copy of the repository: https://github.com/UWARG/autonomy-bootcamp-2023

  2. At the top, click Pull requests.

  3. To the right, click the green New pull request button.

  4. Under Compare changes, click the “compare across forks” link.

  5. The 3rd from the left: Click the head repository dropdown and select your repository (you can search for your username).

  6. The 4th from the left: Click the compare dropdown and select the branch you want to submit.

    1. Do not open more than 1 pull request! The branch you select should contain (or eventually contain) all tasks which will be reviewed.

    2. Once you have an open PR, you can keep updating the same branch as you get feedback. You do not need to open another PR.

  7. Click on the green Create pull request button.

  8. Once you have an open PR and are ready for review, go to your Discord bootcamp thread and send this message: @Autonomy Lead My PR for the bootcamp is ready: [link to your PR on GitHub] . The @Autonomy Lead ping is bright pink.

  9. The Autonomy Leads and/or bootcamp maintainers will review your PR (a message will be sent on Discord, and the comments will be on GitHub).

  10. Read the feedback and go back to development. If any of the feedback is unclear or confusing, don’t hesitate to ask for clarification (make sure to send a message on Discord as well for visibility (e.g. I 'm not sure what you meant about [topic] on line [n]asked some questions as replies on GitHub ).

Tasks

Hi WARG Bootcamper,

Welcome to the team. I've taken the liberty of compiling some starter tasks to get you up to speed. They should be pretty easy to complete. Feel free to reach out if you have any questions.

Brian S. Smith, Ph.D.
Senior Manager, Software Development
AutoBots

...

Note

Hints:

  • You can use the debugger and set breakpoints to see the object and its attibutes returned by predict() .

  • A confidence threshold value of 0.7 works. Other values are also acceptable as long as it’s not too low or high.

  • Think about what you’re returning. Is it safe to assume that the code that will end up using your returned values has a check for None ? After all, the method signature promises to return a list of BoundingBox , not a list of BoundingBox | None .

Task 2: Running the simulator

...

Note

Hints:

  • Set Ultralytics verbosity to false (from task 1) to avoid getting spammed with detections.

    • The Ultralytics documentation for the predict() method lacks this as it is slightly outdated.

Task 3: Making the drone move to and land at a waypoint

...

Once your code is implemented, the simulator should exit after the drone lands, which should take less than 60 seconds. The difference between the coordinates of the drone position and waypoint under the text file in log/ should be less than 0.1 . You can also confirm with the screenshot.

Note

Hints:

  • You do not need to use landing_pad_locations in this task.

  • You can use the drone report’s destination to see if your relative command is correct.

  • Ideally, the drone will report Halted at the beginning of the simulation and when it reaches the waypoint. The rest of the time, it will report something that isn’t Halted.

    • So you’ll have to find a way to know the difference between Halted at initial position and Halted at the waypoint.

...