My friend and I are currently working on building a robot which incorporates a lot of DC motors, as well as sensors and 3d mapping of surroundings.
What the robot is going to use is
- DC motors with torque output of 50lbs+, voltage is 12VDC, Quantity: 10
- Sensors are rotary encoders and gyroscopes (as many as the motor)
- 3d mapping (not sure how, as of now)
- Hydraulic Cylinder, Rotary and linear actuators.
So, right now the question comes down to, what kind of processors/ controllers can we use for the robot? We want a processors and controllers that are fast and is capable to meet our requirements. Currently, we are looking at PIC microcontrollers (still didn't decide or rather can't find the correct one) and Intel atom motherboards. If you have any information onto what we can do, please help. Thank you.
With this number of
With this number of actuators and sensors, you are going to have a hard time controlling all the parts. I am assuming that the reason for all the encoders is to do regulation on all the motors, and just this can take up a lot of resources. So as 6677, I would recommend multiple µC controllers, maybe one for each 2 or 3 motors with encoders. My personnally favorite at the moment is the Atmega32, but a STM32F100 is also a good choice, because it has a much higher clk frequence (24MHz i think), and then a RPi as the main board doing the 3d mapping.
Another option could be to use a FPGA for the actuators and sensor, because programmed the right way it can run way faster then any µC, due to it being only logic components, and then something else for the 3d mapping. The FPGA could e.g. be a Cyclone II and requires the knowledge of vhdl or verilog
Hackaday posted about an FPGA shield for arduino.
http://hackaday.com/2014/03/05/a-low-cost-arduino-fpga-shield/
Thanks
Thank you for the insight, I was totally unfamiliar with FPGA, it was really helpful.
I’m curious why you need an
I’m curious why you need an encoder and a gyro for each DC motor. Maybe it is something a stepper motor can replace.
For such a large project,
For such a large project, one suggestion is to take a look at ROS. That has 3d simulators, a number of out of the box algorithms including A* etc. Maybe make a relatively recent pc laptop use Linux with ROS then connect via I2C or other similar protocol to a number of smaller micro boards (PICs, Arduinos, whatever) to deal with the more fiddly bits like encoders etc.
You would have plenty of calculation power for the IK bi-pedal piece, computer vision etc.
Regards,
Bill