Discussed individual initial approaches and brainstormed
Week 2
Decided on a mobile robot approach
Determined initial bill of materials and ordered some necessary parts
Mechanical: Anthony started working on CAD drawings of mobile base and a 5 DOF arm
Electrical: Taylor started looking at what controllers will be needed and how to integrate the Raspberry Pi, Arduino controllers, and sensors together
Software: Branden started working on setting up the Pi w/ a camera and openCV
First team presentation for TAs
First iteration of the mobile base. View of the main compartment that will house the electronics and power supply.
Week 3
3D printed second iteration of the mobile base and integrated the drive motors, electronics, and power supply
Started navigation testing w/ LIDAR and other sensors for position feedback
Tested edge detector with openCV and Pi camera; further development is underway
Printed a few iterations of the manipulator arm; major improvements are needed
Built a temporary table mount for future arm testing
Started developing a MATLAB simulation for arm
Second iteration of the mobile base.
Week 4
Tested image comparison with openCV and Pi camera
Problem with edge detection difference images providing a lot of noise; moving away from edge detection as a primary method of block detection
Normal image comparison provided quality difference image
Further development on correctly identifying blocks and tracking block removal is underway
Mobile base design
Instead of 3D printing the bottom of the base with the rest of the enclosure, we decided to just print the vertical walls together and close the base from top and bottom with acrylic plates
5 DOF arm design
Printed and built the first iteration
Formulating inverse kinematic equations
Implement inverse kinematics in MATLAB simulation
Week 5
OpenCV
Developing method of block detection and recognition using; obtains outline and location of missing block within the image
Beginning stages of developing backup method for tower vision
Mechanical Design
CAD drawing for the final version of the robot is nearly finished (photos below)
Will begin to build the final version of 5 DOF arm this week
Derived inverse position kinematics for 5 DOF arm
Implemented inverse kinematics in MATLAB simulation (snapshot below)
Mobile base
Holding off on building the mobile base for now while preliminary tests are underway
Implemented A* and path smoothing
Implemented trajectory following controller
Implemented particle filter
Ported everything over to C++. Noticed order of magnitude speed up.
Created C# command GUI for TCP communication to help with debugging.
Challenges
Even spreading out processing over 4 cores in python was a little too slow so we had to make the move over to C++.
C++ executable is segfaulting... somewhere in the 5 threads... and can't find it with the debugger.
Implement STOMP for trajectory planning in joint space for 5 DOF arm
Incorporate inverse orientation kinematics for wrist
Week 6
Computer Vision
Developed two possible strategies to implement block recognition and tower mapping updates
Mechanical Design
Overall CAD drawings are done
Looking to re-design the end effector
Back-up plan will involve designing a two-finger gripper
Mobile Base
CAD drawings are pretty much done and parts are ready to print/cut
Manipulator
Latest iteration is sufficient for now; any adjustments will be discovered once preliminary bench test have been performed this week
Challenges
Design a compliant end effector to mount the suction cup nozzle; possibility look into getting a bellow (accordion) suction cup
Programming the robot arm; discovering limitations with dynamixel servos
Week 7
Computer Vision
Developed image comparison method for continuous tower mapping
Potentially looking into using webcam rather than Raspicam for vision
Mechanical Design
Cut all acrylic plates; fits look good
Printed half of the body...will print the second half later this week
Manipulator
Modified the arm base for more stability; track and ball bearings (refer to Manipulator sub page)
Prototyping end effector mounts for new bellow-shaped (accordion) vacuum cup (shown below)
Challenges
Tuning camera parameters to establish consistency; looking into providing external light source for consistent lighting conditions
Making sure the vacuum tube doesn't kink in any configuration the arm assumes
Week 8
Mechanical Design
Whole body has been printed
Mobile base is fully assembled
All electrical/processors have been transferred from the prototype body to the final body
Getting a new power switch with 3-inputs (off/on/charge)
Manipulator
Modified the arm base for more stability
Changing the current joint 2 motor with a larger and stronger motor
Computer Vision
Completed image comparison with initial testing
Set up commution method between central Pi and Computer Vision Pi (sent image)
Working to set up turn base procedure and computer vision integration
Challenges
Isolate vibration from the vacuum pump
Fine-tuning once the mobile base and manipulator are combined
Picking strategy
Week 9
Seeding competition: Thursday, June 1st, 2017
Manipulator
Due to power issues, we switched to a two-finger gripper end effector and removed the vacuum pump from the robot
Two-finger gripper was based off a parallel gripper design w/ spikes on the fingertips
Fully assembled...but the servo burned out today (05/30/17) so we reconfigured the two-finger to mount a stronger servo.
Mobile Base
Installed battery
Fully assembled
Computer Vision
Final computer vision program written; just working on setup parameters (tower orientation and camera position) and comparison images
GPIO pins setup for turn signal
State Machine
Compiled and ready for testing/fine tuning
Challenges
Avoid breaking or frying anything on the robot
Picked two blocks in a row so we have earned our final grade!