ethanlefebv / s4h2021-scarus Goto Github PK
View Code? Open in Web Editor NEWSCARA-like robot picking and placing nuts using computer vision
License: Apache License 2.0
SCARA-like robot picking and placing nuts using computer vision
License: Apache License 2.0
Will follow the instructions on https://github.com/pjreddie/darknet
and other tutorials
The Raspberry Pi needs to be able to send a type and coordinate of a nut to the OpenCR.
Preparation for the presentation in front of the group and the teaching team to explain team's advancement on the robot and what's left to do.
Everybody is presenting a portion of the PowerPoint, so he needs to do his PowerPoint slides.
Client needs to be able to read and understand the functions used in the computer vision pipeline.
Faut 2 moteurs 350W (XM430-W350) et un moteur 250W (XL430-W250), la quincaillerie pour les monter serait pas pire aussi
As discussed with the team, ROS2 might be overkill for this project (even if learning ROS2 would probably be worth it in the long run). Now that ROS2 was installed and tested, I will write a short Python script that will communicate with an Arduino board to test the Serial communication.
The OpenCR board is planned to be used instead of an Arduino Mega but I don't have yet access to it, so the demo will be done with an Arduino. The code should still run fine on an OpenCR. This will eventually be tested.
The model outputs 2 tensors with all the possible boxes and their class probability. Need to transform them in a list with only the position and the class.
client : need to be able to run inference on the model so we need to transfer it to a .tflite model.
Le solenoid devra être monté sur le bras du robot, celui-ci risque d'être un solenoid
As done in the S3 project, we could use JSON files as a way to communicate. We should however explore other alternatives.
Dérivation des fonctions du sytème et entrer les valeurs dans la matrice
The client need to understand how the computer vision pipeline works
Optimization of the Matlab function calculating the Jacobian matrix of the robot's dynamics
Entre chaque joints, les membrures devront être monté solidement, être rigide, démontable et léger
I can use the sample code written for the communication demo. The data sent from the OpenCR is still undefined but will probably be status information (eg. Picked up, placed, done, etc.)
we need to be able to intall all the package in one command for the RPI
CAD the pieces that protect the bearings that are supporting the rod that support the robot's frame.
There are two of these: one on the top of the support, the other at the bottom.
As we are only at the beginning of the project, this will definitely change as we go forward. We can start with a very simple description.
It would be wise to test ROS before really commiting to it.
I can use my sample code written for the communication demo. The goal of the functions is to send coordinates to the OpenCR.
PLA printing
Client : Need to have an image with a mark on where the nuts will be on the image and the class of the nut to make sure the model output is good.
Write a script on the raspberry pi for it to be able to take a picture with OpenCV and save the image for the future inference.
client : The image detection needs an image to do the detection
ROS is something that could be useful for this project. I will read more about it to find out whether it could really be used in this project.
CAD of a support, a wooden box, that can be assemble with the slide and that will support the robot by the motors. Holes are cut to indicate where to put the motors. It will also have premade holes on a false bottom to fix the OpenCR and Raspberry Pi and holes for the wires and plugs.
CAD of the assembly of the robot. This assembly is composed of 4 rods, 2 motors, 3 joints and the different supports needed.
Understand the chinese documentation, then make simple code we can reuse to control the position.
The Serial communication demo (#16) worked well between a Pi and an Arduino but it needs to be tested with an OpenCR since that's what will be used in the final robot.
The axle whos driven by the dynamixels, his purpore is to protect the motor of any axials moments
CAD of a joint's protection, in particular to protect the bearings inside the assembly.
There are two of these: one on the top of the joint, the other at the bottom.
Rewrite a comprehensive code that everyone can easily use
Assembly of the robot with the 3D printed pieces, the furnished motors and standard hardware.
CAD of motors' support between the rod and the bearings that support the load.
Avec MotionGenesis, créer le système physique du manipulateur
purchase of standard 608 bearings
ROS2 was successfully installed and tested with a template/tutorial. I will now write some sample code to test the communication and see how it will be achieved on the Pi and the OpenCR/Arduino.
If I have issues with ROS2, I will try with ROS1 instead.
Need to do a CAD of the slide to make sure we know how the whole robot and other elements will be placed.
Client : needs a normalized way the bring the nuts in the right place for the robot
-Find an aluminium supplier
-Buy some tubing, preferably 1/2"
-Fetch the aluminium for Tilec
Capable de faire rouler un code costum avec .tflite mais pas essayer avec un model convertie de darknets yoloV4.
Need to implement de inference with tensorflow lite to get the output of the model.
Les joints doivent être facilement fabricable chez moi et utiliser un max de matériel stock.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.