Skip to content

ATR-Lab/GRA_workshop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ATR

GRA_workshop

Status License


this is an open source for GRA workshop

📝 About

This repository contains information and files relavent to the Grand River Academy's visit to the ATR Lab. ATR is a research laboratory focused on immersive robotics.

🏁 Project

Below is an overview of the project requirements and a simple digram for wire IMU and two Servo into arduino board : wires

Arduino Project

!!Hot Glue Can Sovle EVERYTHING!!

  1. pan-tilt movement with IMU:

    1. Hardware requirment: Arduino, Wires, Breadboard, 3D Print Holder, Servo Motor(SG90), MPU6050
    2. Software: Arduino IDE
    3. Wire: Using Circuit IO to wire
    4. Implemention:
      Use Arduino native example code Servo -> Sweep for servo control;
      Download IMU library from i2cdevlib, and copy I2Cdev and MPU6050 folder into Arduino -> Library folder. relaunch arduino IDE and use example code MPU6050_DMP6 for IMU control
    5. Note:
      base on different roll, pitch, yaw value on IMU, map the value to different motor, and control them based on the value change on IMU.

    If you want to combine ROS with your project, you can jump to ROS Project from here

  2. camera feedback with montion detection:
    Ignore OLED part if you dont have one.

    1. Hardware requirment: Arduino, Wires, Breadboard, 3D Print Holder, Servo Motor(SG90), MPU6050, camera, OLED screen.
    2. Software: Arduino IDE
    3. wire: Using Circuit IO to wire
    4. Implemention:
      Go to Arduino IDER and click on Sketch -> Include Library -> Manage Libraries. Search for adafruit ssd1306 and adafruit gfx. install them. relaunch arduino IDE, and use example code Adafruit SSD1306 -> ssd1306_128x32_i2c for start.
      use native camera software you have on your PC to access camera feed. (basic)
      use python to write a OpenCV code to access camera (advance)
    5. Note:
      You can find basic of OLED on PPT folder.
      draw a face on OLED: use Pixilart Website to draw face. use different face drawing in the loop to animate the emotion.
      base on the angle change per second (for example: if the data gap between each second is bigger than 40 degree in yaw, that means the person is saying "No", then you can make the OLED face turn to an angry emotion) in roll, pitch, yaw (as noding the head, shake the head), to change the face emotion on OLED.
      use human mannequin to attach IMU and simulate human move.
  3. Arm control
    The concept will be the same as head control, you will need to add more motors and add one more IMUs to simulate the montion for each joints

    1. Note:
      find and 3d print a 3d servo arm model (you can come to ATR Lab with the model you find, we can print it for you)
      if you dont want to do 3D print, you can use cardboard to make an holder yourself, or HOT GLUE them into each other.
      link IMU together, and look into example code on how to read date for two IMU
      you can use something like Wooden Human Mannequin to attach your IMU for easy programming purpose.
  4. Upper body control
    this would bring the project into next level, a combination of all above work.

    1. Note:
      find and 3d print full humaiod robot (you can come to ATR Lab with the model you find, we can print it for you)
      link multi-IMU
      use multi-motor driver to control multiple motors

ROS Project

ROS Project part 1 and 2 is base on the Arduino Project part 1. and ROS Project part 3 is base on the Arduino Project part 2.

  1. read IMU data and servo control with terminal
    1. Note:
      go through ros arduino tutorial
      look into example ros_lib -> pub_sub and ServoControl
  2. Remote control
    Sperate IMU and motors into two arduino
    1. Note:
      use one arduino for sending IMU data through ROS, and another for receive data and control motor
  3. Camera view
    1. Note
      Look into OpenCV with ROS and ROS image view for receive image view through ROS

🎉 Resources

Arduino: Ardiono IDE
Ardiono Tutorials
Ardiono Basic (Video)
Servo Motor Example
IMU Example
Circuit IO (Arduino Wire Simulator)
Thinkercad (Arduino Wire Simulator)
Shopping: Arduino Parts (Amazon)
Shopping: Arduino Parts (Micro Center Local Store)
Ubuntu: Ubuntu Download
Ubuntu Install (hard drive)
Ubuntu Install (Virtual Machine on Windows)
(What is Virtual Machine)
Ubuntu Install (Bash-Subsystem on Windows)
Ubuntu Tutorial
Command Line Tutorial
ROS: ROS Kinetic Install (Ubuntu 16)
ROS Melodic Install (Ubuntu 18)ROS Introduction
ROS Tutorials
Free 3D printting: 3D Printting Model Resource Link
Simple Robot Arms Model
General: Python Tutorial

🚀 Contact

Please feel free to contact [email protected] if you need any questions, or you can always drop by the lab between 12 am-5 pm.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published