Difference between revisions of "The Gibbot"
Nelson Rosa (talk | contribs) |
Nelson Rosa (talk | contribs) |
||
(15 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
⚫ | |||
Questions for the group: |
|||
⚫ | |||
Below is a list of projects. Each project will have a team lead responsible for keeping everyone on track. We also ask that everyone is constantly documenting their work and that they develop a test suite along with their deliverables. The tests should include operation under “normal” operation, bad operating conditions (how do you gracefully recover?), and really bad operating conditions (how will the system persist without your module? What are the redundancies in system?). |
Below is a list of projects. Each project will have a team lead responsible for keeping everyone on track. We also ask that everyone is constantly documenting their work and that they develop a test suite along with their deliverables. The tests should include operation under “normal” operation, bad operating conditions (how do you gracefully recover?), and really bad operating conditions (how will the system persist without your module? What are the redundancies in the system?). |
||
==Power Module== |
==Power Module== |
||
Build the charging station consisting of two metal pads, electrically isolated, with a smart charger on the back side of the wall |
Build the charging station consisting of two metal pads, electrically isolated, with a smart charger on the back side of the wall. The design challenge is in robustly delivering the power to the robot. A few ideas are: |
||
* the wall has telescoping power leads to reach the robot. |
* the wall has telescoping power leads to reach the robot. |
||
* the robot has two spring-loaded contacts (springs, ball bearings?) to slide along the wall and make contact with the pads. |
* the robot has two spring-loaded contacts (springs, ball bearings?) to slide along the wall and make contact with the pads. |
||
Line 15: | Line 14: | ||
==Robot Frame== |
==Robot Frame== |
||
We want to build a larger version of the Gibbot. The links should be between 12-18 inches long. Currently, everything is pretty cramped inside the robot and we will need more space if we want to lug around a higher capacity battery. We are considering using two 22.2 V, 1 lb Li-Po batteries that are 145 x 45 x 35 mm (5.71 x 1.77 x 1.38 in) that can supply up to 45 A continuous current. This project consists of three very important components: |
|||
* motor selection and modeling |
|||
motor |
|||
* frame design, especially passing power, data, and control signals across the two links |
|||
frame |
|||
* powering the magnets which have to be attached to the wall while the robot rotates about its pivot point; assume we are using electromagnets. |
|||
magnet |
|||
While you can assume that the robot will have some netting or soft landing material underneath it in the event of a fall, the frame should still be strong. The robot should be expected to tow up to 10 lbs, including its own frame. The rest of the weight will come from the batteries, motor, and electronics. With this load, the motor should be selected so that the robot can still swing uphill. Is it possible to design a clutch mechanism? For the winter term, we would like to see a base frame constructed with a motor and magnets fully operational. We would also like to see the motor have its own PCB module. The module should have an H-bridge, encoder and current sensing circuitry, and perform simple PID tracking of trajectories. |
|||
must play nice with other modules |
|||
Mechanical: Select a material that can withstand falls of ~15 ft of a 10 lb robot. Select a motor that will allow the robot go uphill with weight of frame + batteries + electronics. Ideally the motor would be backdrivable. Is it possible to design a clutch mechanism? The links should be between 12-18 inches. The frame will most likely undergo a minor revision in the spring term once all other components are finalized. For the winter term, a base frame should be constructed that can test the motor such that the robot is capable of moving uphill. We can add weights inside the frame to test the expected payload. |
|||
Electrical: A motor model + motor control PCB module should be built. The module should be able to sense current and perform simple PID tracking. |
|||
Deliverables: Rugged frame (with padding inside for components?) that can withstand falling from sheet. With one link clamped (can use a vice with a rod sticking out to attach frame), frame should be able to use its motor to reach heights above the pivot link. PCB motor module with h-bridge, encoder circuit, and current sensing. PIC32 should have FF and FB model running (should have motor constant, Coulomb + viscous friction model, etc.). |
|||
Milestone: Frame (being) built and motor modeled. Give PCB redesigner (see below) the inputs and outputs of module. |
|||
Side Projects: Can frame deploy parachute for soft landing? Can a clutch be added? Should we pursue pancake motors? Use two motors at joint, one on each link, but with shafts coupled so only one needs to be active. The other is a generator while inactive, can we reuse the power generated to recharge the batteries? |
|||
==Vision System== |
==Vision System== |
||
Line 39: | Line 28: | ||
<!-- Milestone: The receiver should be a function on the PIC that returns an (x, y) location using a unit of metric length. Camera should be chosen and calibrated. Give PCB redesigner (see below) the inputs and outputs of module. |
<!-- Milestone: The receiver should be a function on the PIC that returns an (x, y) location using a unit of metric length. Camera should be chosen and calibrated. Give PCB redesigner (see below) the inputs and outputs of module. |
||
Deliverables: For the camera, a Gibbot tracking algorithm as well as a calibrated lens for picking up the robot’s location. --> |
Deliverables: For the camera, a Gibbot tracking algorithm as well as a calibrated lens for picking up the robot’s location. --> |
||
⚫ | |||
Mechanical: For prototyping any size wall and material is fine. |
|||
Electrical: Wire up the LED sensors (1- or 2-inch spacing). For both run a calibration routine that can pick up the location of the robot. How large of a PCB can we order of the LED array? Build a PIC32 library that can take in the image and LED data and produce the robot’s location. The idea here is to build a prototype that is easy to scale up for spring term. |
|||
Deliverables: A mockup showing a gridded wall with an emitter/detector pair inside each grid pulsing its location (let’s call these guys the transmitters). Communications protocol should be a simple IR protocol (copy same one for TV remotes). Demo must show onboard Gibbot circuitry (the receiver) picking up the transmitter signal. Should also output data to PC via XBee. Must make sure that work can be scaled up to an 8ft. x 6 ft. wall. What are the power and component requirements as we scale up? |
|||
Milestone: Idea of artistic use for wall. small scale PCB circuitry showing receiver and transmitter talking to each other. The receiver should be a function on the PIC that returns an (x, y) location. Give PCB redesigner (see below) the inputs and outputs of module. |
|||
==Main PCB Design== |
==Main PCB Design== |
||
This project involves improving upon the existing PCB, for example, better connectors between components, moving the H-bridge onto the actual PCB board, and integration of modules from other groups. There are various important control and data signals running across the PCB, but the signals are not easily accessible. The redesign should include breaking out certain signals (e.g., sensors) for easy debugging on an oscilloscope. We also need a good characterization of the on-board sensors. How long can we rely on the sensors for tracking the robot before there is too much error accumulation. The PCB currently has a current sensor, position sensor, gyro, accelerometers, and an XBee onboard. Are these parts easy to maintain and replace? Are there better variants out there? We also want to record data to an external Flash card for data logging and send info back to PC through wireless. When transmitting to the PC, the user should have a way of (securely) controlling the robot remotely and querying it for useful information. |
This project involves improving upon the existing PCB, for example, better connectors between components, moving the H-bridge onto the actual PCB board, and integration of modules from other groups. There are various important control and data signals running across the PCB, but the signals are not easily accessible. The redesign should include breaking out certain signals (e.g., sensors) for easy debugging on an oscilloscope. We also need a good characterization of the on-board sensors. How long can we rely on the sensors for tracking the robot before there is too much error accumulation. The PCB currently has a current sensor, position sensor, gyro, accelerometers, and an XBee onboard. Are these parts easy to maintain and replace? Are there better variants out there? We also want to record data to an external Flash card for data logging and send info back to PC through wireless communication. When transmitting to the PC, the user should have a way of (securely) controlling the robot remotely and querying it for useful information. |
||
<!-- Deliverables: PCB should be able to interface with rotary sensors, gyros, and accelerometers. There should also be a data logger to external flash present, so we can record and playback sensor info for debugging. Designer needs to also make sure that PCB modules of other projects will fit into PCB design and that modules can be easily tested. Documented library of functions with example code on usage. Documentation should also include resolution of sensors and conversion from sensor units to real world units. |
<!-- Deliverables: PCB should be able to interface with rotary sensors, gyros, and accelerometers. There should also be a data logger to external flash present, so we can record and playback sensor info for debugging. Designer needs to also make sure that PCB modules of other projects will fit into PCB design and that modules can be easily tested. Documented library of functions with example code on usage. Documentation should also include resolution of sensors and conversion from sensor units to real world units. |
||
Milestone: PCB components, size, and locations should be finalized. Final sizes should be given to the Frame project. Additionally, module sizes of other projects should be given to the respective module designers. |
Milestone: PCB components, size, and locations should be finalized. Final sizes should be given to the Frame project. Additionally, module sizes of other projects should be given to the respective module designers. |
||
Line 61: | Line 41: | ||
<!-- ==Wheel Carriage (1 person)== |
<!-- ==Wheel Carriage (1 person)== |
||
Build wheel carriage prototype. If it works well think of integrating it into the gbot design for spring term. --> |
Build wheel carriage prototype. If it works well think of integrating it into the gbot design for spring term. --> |
||
==The (current) Gibbot== |
|||
We would like to get the Gibbot doing gymnastics on the wall. What can we actually do with the current version of the robot and how can we use what we know about it to guide the next iteration of the robot for the MSI? This project will require building a model of the current robot and identifying the limitations of the current design. |
|||
⚫ | |||
We need an alternative form of position sensing for the robot beyond a camera. An alternative that we believe would work is to wire LEDs (1- or 2-inches apart) on the steel sheet. The robot would then pick up a pulse-encoded signal from the LED telling the robot where it is. Constructing the smart wall isn't a problem, it's maintaining it. If we look at 2-inch spacing, then for a 48 sq. ft. wall we are looking at 1,728 LEDs. If one burns out, how will an MSI employee find the LED and replace it with ease? If this problem is intractable because of scaling, can you come up with a better design for a backup sensor that does not rely on conventional wireless communication? |
Latest revision as of 03:19, 16 January 2013
Question to the group: Where should we host the project? (Google Docs, Dropbox, GitHub, Google Code, SourceForge, etc.)
Below is a list of projects. Each project will have a team lead responsible for keeping everyone on track. We also ask that everyone is constantly documenting their work and that they develop a test suite along with their deliverables. The tests should include operation under “normal” operation, bad operating conditions (how do you gracefully recover?), and really bad operating conditions (how will the system persist without your module? What are the redundancies in the system?).
Power Module
Build the charging station consisting of two metal pads, electrically isolated, with a smart charger on the back side of the wall. The design challenge is in robustly delivering the power to the robot. A few ideas are:
- the wall has telescoping power leads to reach the robot.
- the robot has two spring-loaded contacts (springs, ball bearings?) to slide along the wall and make contact with the pads.
- add mechanical magnetic clamps to the two pads to be able to support the weight of the gibbot.
- inductive charging (replace batteries with supercapacitors?)
Robot Frame
We want to build a larger version of the Gibbot. The links should be between 12-18 inches long. Currently, everything is pretty cramped inside the robot and we will need more space if we want to lug around a higher capacity battery. We are considering using two 22.2 V, 1 lb Li-Po batteries that are 145 x 45 x 35 mm (5.71 x 1.77 x 1.38 in) that can supply up to 45 A continuous current. This project consists of three very important components:
- motor selection and modeling
- frame design, especially passing power, data, and control signals across the two links
- powering the magnets which have to be attached to the wall while the robot rotates about its pivot point; assume we are using electromagnets.
While you can assume that the robot will have some netting or soft landing material underneath it in the event of a fall, the frame should still be strong. The robot should be expected to tow up to 10 lbs, including its own frame. The rest of the weight will come from the batteries, motor, and electronics. With this load, the motor should be selected so that the robot can still swing uphill. Is it possible to design a clutch mechanism? For the winter term, we would like to see a base frame constructed with a motor and magnets fully operational. We would also like to see the motor have its own PCB module. The module should have an H-bridge, encoder and current sensing circuitry, and perform simple PID tracking of trajectories.
Vision System
Build a vision system that can track the robot at all times. Assuming a steel sheet that is about 6 ft x 8 ft, the camera needs to be calibrated so that it outputs real-world coordinates. The major components of this project are:
- calibration of a wide-angle lens, which can be fitted with a special color filter
- robust wireless communication (IR, XBee, other)
- robust tracking
The calibration of the camera will involve selecting a camera and calibrating it as well as purchasing a PC to read in and transmit the camera images. The wireless communication should be a reliable link between the camera and robot. The vision tracking software should contain a suite of algorithms to track the robot on the wall. What is the best design that includes as many redundancies as possible? While the camera is being selected the tracking and communicating can be done with a webcam as a stand-in.
Main PCB Design
This project involves improving upon the existing PCB, for example, better connectors between components, moving the H-bridge onto the actual PCB board, and integration of modules from other groups. There are various important control and data signals running across the PCB, but the signals are not easily accessible. The redesign should include breaking out certain signals (e.g., sensors) for easy debugging on an oscilloscope. We also need a good characterization of the on-board sensors. How long can we rely on the sensors for tracking the robot before there is too much error accumulation. The PCB currently has a current sensor, position sensor, gyro, accelerometers, and an XBee onboard. Are these parts easy to maintain and replace? Are there better variants out there? We also want to record data to an external Flash card for data logging and send info back to PC through wireless communication. When transmitting to the PC, the user should have a way of (securely) controlling the robot remotely and querying it for useful information.
Electropermanent magnets
Can we design and build a rotary magnet similar to what is in the current Gibbot, but with electropermanent (EP) magnets? It would have to consume under 16 W and have a holding force in the ballpark of 300 N for the magnet to be a worthwhile replacement to the electromagnet.
The (current) Gibbot
We would like to get the Gibbot doing gymnastics on the wall. What can we actually do with the current version of the robot and how can we use what we know about it to guide the next iteration of the robot for the MSI? This project will require building a model of the current robot and identifying the limitations of the current design.
Smart Wall
We need an alternative form of position sensing for the robot beyond a camera. An alternative that we believe would work is to wire LEDs (1- or 2-inches apart) on the steel sheet. The robot would then pick up a pulse-encoded signal from the LED telling the robot where it is. Constructing the smart wall isn't a problem, it's maintaining it. If we look at 2-inch spacing, then for a 48 sq. ft. wall we are looking at 1,728 LEDs. If one burns out, how will an MSI employee find the LED and replace it with ease? If this problem is intractable because of scaling, can you come up with a better design for a backup sensor that does not rely on conventional wireless communication?