Skip to content

RoboticAgents/project4-turtlebot_evoarm

Repository files navigation

Project 4: Robot Manipulation or Mapping

Table of Contents

Summary

This project assignment invites you to work in a team to implement either an autonomous manipulation or autonomous mapping technique depending on a selected robot type. In this project, as was the case in the previous project, the class members will be split into two categories: 1) those working with Turtlebot 4 Lite, and 2) those working with EvoArm. In both cases the initial builds, configurations and set up has been already completed by the previous teams. In this project, each team will extend the functionality beyond the teleop operation of the robots. Specifically, if you are working with EvoArm, you will focus on developing a manipulation application of your choice using Python programming language. On the other hand, if you are working with Turtlebot 4 Lite, you will create autonomous mapping for a navigation task of your choice. Finally, teams will reflect on their experiences in writing in the file writing/report.md and demonstrate their developed applications in person. writing/report.md is a Markdown file that must adhere to the standards described in the Markdown Syntax Guide.

Team Assignments

View team assignments to see who you will be working with.

Instructions

Turtlebot 4 Lite

You can learn about the hardware specifications of this robot in the turtlebot4-hardware GitHub repository. Please also review the features of this robot on its website.

Step 1:

You should first get connected and drive the robot using remote control, teleop. Please follow the tutorial compiled by the previous teams. You can also use resources below. Please note that Turtlebot 4 does not include Bluetooth Controller.

Step 2:

Once the robot is up and running, you need to have it navigate in the environment. you need to come up with a navigation task and have your robot build a map of a relatively complex environment and have it navigate autonomously for a specific purpose or application. You can use the map of the previous team or follow Generating a map tutorial to create your own. Then follow Navigation tutorial or watch TurtleBot 4 | Mapping & Navigation with ROS 2 Navigation Stack Video to learn how to have the Turtlebot build a map and navigate in the environment given the map.

Other Resources:

EvoArm

You can learn more about this robot, what is included in the robotic kit, and the contact information for support by visiting evodyneacademy's website. Additionally, EvoArm Flyer has some helpful information.

Step 1:

You should first get connected and drive the robot using remote control on the web interface. Please follow the tutorial compiled by the previous teams. You can also refer to the instructions on the flyer that came with the robot to connect to it. You can either connect to the robot via hotspot or CompSci wifi.

To connect via hotspot:

  1. find the correct robot (EVOARMMINI302, EVOARMMINI324, or EVOARMMINI334) under your computer's networks;
  2. go to 10.10.0.1:9072 in your browser;
  3. use password evodyne2020 to log in

To connect via CompSci wifi:

  1. go to evoarm.evodyne.co;
  2. enter your robot's access id (the 9 digit number on the white sticker on the robot);
  3. use access code evodyne2020 to log in

Step 2:

Once the robot is up and running, you will need to select an autonomous robotic hand manipulation technique to implement for an application of your choice. Feel free to utilize resources provided in the kit. To find ideas you can also go to evoarm-apps, create an account, after after you are approved, you will find lots of information from the community, including sample code and information on how to use ROS and HTTP commands to control/program the arm.

Other Resources:

  • This robot has already been built but if you need to check various parts of the built process, check out evodyneacademy tutorials for all 16 steps of the build process. You will need to use password: bRtaos40sNd to access the tutorials.
  • For support, you may reach out to Evodyne Robotics Academy [email protected].

Project Demonstrations

At the beginning of the class session on Thursday, November 17th, each team will be given an opportunity to demonstrate their project. When the class session starts, teams will be given a few minutes to set up their demonstrations and get them running. Then, class members will participate in an interactive demonstration session, where everyone will be able to view each demonstration.

Assessment

The grade that a student receives on this assignment will have the following components.

  • GitHub Actions CI Build Status [up to 5%]:: For lab04 repository associated with this assignment students will receive a checkmark grade if their last before-the-deadline build passes.

  • Mastery of Verbal Explanation during the Demonstration [up to 15%]:: Since the ability to communicate technical details of a project is crucial to building successful software and hardware applications, a portion of students' lab grade will be determined based on the quality of the project demonstration.

  • Mastery of Technical Writing [up to 25%]:: Students will also receive a part of their grade when the responses to the writing prompts presented in the report.md reveal a proficiency of both writing skills and technical knowledge. To receive full points of this component, the submitted writing should have correct spelling, grammar, and punctuation in addition to following the rules of Markdown and providing complete and conceptually and technically accurate answers.

    • Please note that the "Check Spelling" GitHub Actions check may flag proper nouns or other real words if the dictionary it uses does not contain them. If your "Check Spelling" GitHub Actions check is failing due to a correctly spelled word being incorrectly flagged as "unknown" by CSpell, you will need to add the word to the list of words in .github/cspell.json.
  • Mastery of Technical Knowledge and Skills [up to 55%]: Students will receive a portion of their assignment grade when their project design and implementation reveals that they have mastered all of the technical knowledge and skills developed during the completion of this project. Any written programs must be inside src/ directory. As a part of this grade, the instructor will assess aspects of the project including, but not limited to, the appropriate design of the robot task, the completeness and correctness of the implemented software, effectiveness of experiments, and the use of effective source code comments and Git commit messages.

  • Continuous Progress [up to 40% deducted points]: To ensure equal team effort and timely troubleshooting, students may lose up to 40% of points from their final deliverable for not demonstrating continuous team effort on this project. Each activity not submitted by the stated deadline in the Timeline section by ALL team members will result in -10% unless the effected team member or the whole team (if the entire team was effected) can demonstrate circumstances beyond their control (e.g., illness, hardware challenges unsolvable in time, etc.).

All grades for this project will be reported through a student's gradebook GitHub repository.

GatorGrade

You can check the baseline writing and commit requirements of this project by running department's assignment checking gatorgrade tool To use gatorgrade, you first need to make sure you have Python installed. If not, please see:

Then, you need to install gatorgrade:

  • First, install pipx
  • Then, install gatorgrade with pipx install gatorgrade

Finally, you can run gatorgrade:

gatorgrade --config config/gatorgrade.yml

Assistance

If you are having trouble completing any part of this project, then please talk with the course instructor during the laboratory session. Alternatively, you may ask questions in the Discord channel for this course. Finally, you can schedule a meeting during the course instructor's office hours.

About

Starter files for project 4 in CMPSC 311

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published