Other robots from Synthiam community

Cardboardhacker's Emotions V1
Hey there! Here is my latest project. This time it's an emotion generating project. Through speech recognition...

DJ's Autonomous "Robocar"
Here's a robot that I built last year to follow the lanes of a small test track. This was built 24 hours before...

DJ's At Home With Jd
I took the evening off to chill at home with JD for my first time :). I tweaked many of the existing motions to be more...
Impressive work.
Regarding the prohibitive cost, ignore it... There's a lot of work, research, trial & failures so you more than anyone knows the right value.
The mortar and brick stores are facing enormous challenges, less foot traffic, online competition from pure online retailers (e. g. Amazon ) , no community shop spirit (support the local commerce), shoppers with less time for store shopping, etc etc. In other words and generally speaking the traditional retail is agonizing and dying, for most small and family businesses the mannequin cost seems high.
The retail major league e.g. department, high end destination stores the price is not the first factor and there's demand for unique & creative solutions, more robots and cool stuff.
Yes, Richard R, it is not ready. I will find the money, even if I have to rent them out for a while and pay for liability insurance. I might go to kickstarter as well. The poster I placed at the beginning of this article with the prices I have only shown to you guys. I'm glad I did because the feedback is really useful.
Serial communication is a very old, very well understood, and very stable protocol. Search google for i2c EMI or i2c interference, or i2c issues and you will find a lot of discussions about how it can be difficult to get right.
If you are working with electrical engineers, those issues can be overcome, but I wouldn't put MY money on the line using that protocol in something I planned on selling (using it for my own robots, where my tolerance for pain is higher is a different story).
Alan
this statement worries me:
First of all i'm not an electric engineer, and most people here provide their opinion based in user experience or based in other's opinion (Internet, EZ robots tutorials, posts etc)
Is a very high risk decision to decide whatever direction based in our opinions.
Common sense says "the correct solution is the one it works", but that is not so simple.
If you are building a solution/product to work with EZ-Robots hardware e.g. EZB Controller, ARC and you have doubts, and you want to be 99.9% sure the solution will work you will need to discuss that with EZ-Robots, probably an offline discussion, and get some kind of agreement about which path is the one will work for you with EZR hardware.
I've been in different forums PIC, Arduinos, Propellers, Raspberry and EZ-Robot, and each forum there are conflicting opinions.
One will say SPI is the best protocol, other will say is not.
The reason why SPI didn't worked for a specific micro-controller was an existent bug on the micro-controller plus some low level software limitations.
So most people on their forum (including the company evangelists) said SPI was not the best protocol, and brainwashed everyone.
Coming to EZB does not matter if SPI is best protocol, EZB does not support SPI, so people here (myself included) will endorse Serial, or I2C.
If you have a better experience with Serial versus I2C and you don't know why or is not simple to fix the issue, you will say Serial is the best and safest bet.
I'm not saying which one is better...
to make it simple we are all biased
Next post i'll give you my biased opinion.
1. PWM
2. PPM
3. UART
4. i2c (pronounced "eye squared see" not "eye two see")
5. Serial
6. SPI
7. RS-232
8. RS-485
9. TWI
10. USART
Lots of people say i2c is 'quirky' and problematic. DJ is successful and breathes this stuff and suggested UART. I've only dealt with PWM so I know nothing about all the others.
I found a video about some of them: https://www.youtube.com/watch?v=5y4NMzjLXus. This instructor uses the term 'interfaces' instead of 'protocols'. Also, he is impartial and seems to dislike i2c.
The EZB-V5 will probably have more ports if I choose something that doesn't exist on the V4 yet because DJ keeps adding stuff (and hopefully the gigantic power base won't exist any more).
1) PPM signal (single wire)
allows daisy chain some examples:
RC PPM Streams:
http://rcarduino.blogspot.com/2012/11/how-to-read-rc-receiver-ppm-stream.html
Hitec HMI Interface:
Extended Pulse mode to add position feedback and change settings
Bidirectional Serial Interface at 19200 bps
currently EZB only supports single servo PPM
2) Dynamixel Servos
http://support.robotis.com/en/product/dynamixel/dxl_mx_main.htm
Dynamixel servos use a half duplex serial communication using a trisate buffer is not a full duplex serial protocol.
2.1) Dynamixel servos AX family uses a single data pin.
EZB supports dynamixel servos
2.2) other dynamixel servos requires 2 pins (data+, data-) i believe the data- is a inverted data+ signal, allows longer cables, and error correction.
I'm not sure if EZB supports these.
3) Herkulex Servos
http://www.robotshop.com/en/herkulex-drs-0101-robot-servo.html
Similar to the Dynamixel, 4 pins and Full duplex UART (RX,TX)
if is a regular uart, you can connect to EZB and via plugin emulate a V-Port (DJ's Tip)
4) I2C Servo
Openservo specification is based in I2C protocol:
https://www.sparkfun.com/products/retired/9014
The board is retired, i think the reason is a niche product, you need to open your servo, take the board off, replace it etc. Is not so easy.
if a company like Sparkfun invested time and resources to build and sell, there is potential, but looking to the comments, you understand is not so easy to support, basically because there are so many servos in the market and some are good, other not.
They have the specs open.
My opinion:
i like I2C protocol, probably because it's so simple and allows multiple devices.
EZB + I2C:
based on my user experience, and others opinions EZB does not deal very well with I2C errors (bad wiring, protocol errors, invalid responses etc), and if the EZB gets stuck you need to unplug the power (reboot via browser does not work).
so if you want to avoid issues you have two options:
1) choose another communication method: Full duplex Serial, well endorsed by the EZB community.
2) add a micro-controller to handle low level I2C communications and the micro-controller communicates with EZB via Serial, and if does not work blame the I2C or the micro-controller code, or the wires except the EZB
BUT based in what i read so far, also sharing Richard concerns, i think is high risk move, design specific hardware when you don't have space/investment for errors.
I would first study the Dynamixel & Herkulex, although they are not cheap.
*** Disclaimer:
I'm not an electric engineer, neither professional roboticist. I only play with robots and hardware outside my work (Software Developer) and when my kids let me.
We will be using a magnetic encoder rather than a potentiometer for infinite rotation. The peak current may be around 10A per module because we might use dense rare earth magnet DC motors for extra speed and torque. I had I2C in mind because a robotics guy recommended it to me over PWM. The wiring for power will cater to 50-100A and run directly through the leggo-connected daisy chain of servos and any other connected modules, straight to the power supply so the EZB doesn't say, 'My battery is low' until the world ends. The data lines will run to the EZB or another board. I would like to use the EZB but I'll probably trust the mech. engineer at the end of the day. I sent him an email to say UART might be better. I've also just learned of TWI, USART, and RS-485. How many are there?
The terminology on the three videos I just watched was way over my head. Are 'protocol', 'interface' and 'peripheral bus' all the same thing?
Also, will we need to make our own circuit boards for the servos or can existing ones be bought easily? My mechanical engineer suggested making one but its more time and money. I figured they could be sourced easily enough?
Atmel AVR microcontoller chips are used in Dynamixel servos. That might answer the question of whether we need to create our own chips or simply source them. This video explaining UART is really good.
I think is a little of both, and depends on the perspective.
Interface is more related to the hardware or component side, if you don't know the protocol i would say the interface is one wire or two wires.
When you mention protocol implicit you will know how many wires you will need.
peripheral bus: means an external bus to connect devices
SPI (Serial Peripheral Interface)
the master controls the clock/speed
requires minimum 3 wires: Clock, MOSI, MISO
It's a single master multiple slave BUS
each slave device requires a slave select wire: 3 devices = (3+3), 8 devices = (3+8)
I2C (Inter-Integrated Circuit)
the clock is predefined:
requires 2 wires only: SLA, SDL
is multi-master, multi-slave BUS device
each device has an address.
Serial Communication:
the clock is predefined:
Full Duplex - 2 wires: TX + RX
Single direction: 1 wire (Tx->Rx)
Half Duplex - 1 wire (e.g. Dynamixel 1 Data pin)
Half Duplex - 2 wires (e.g. Dynamixel 2 Data pins - Differential Signaling)
RS485 Full Duplex - 4 wires (RX-2 TX-2)
RS485 Single Direction: 2 wires (TX->RX)
You will need to design your pcb and the circuit, building can be outsourced.
Don't minimize the work and the know how you will need to build your own servos.
You are very knowledgeable. I've watched a couple of scary too much information videos just now. One of them was about half duplex, but I needed pre-requisite knowledge so it was way over my head. At least Im beginning to recognise words. I also thought that 10A was really high draw for a servo but Ive discovered that its common for 12-24V servos when bearing a full load. The power supply and wiring will need to be massive to cater to all this current. My robomannequin uses only 15 servos but at 10A each, the power supply for this basic model would be 150A. I don't need that much power for a wrist or elbow so hopefully it would use a low current for light things. 24V at 10A would give you around 44N.m with low speed gearing. But considering weight bearing usages such as a human crane in a hospital, they need to be rated to lift 500kg. 44 N.m equals about 450 kg.cm torque. A full robot with legs might need 30 servos. 30 servos x 24V x10A = 7,200W power supply.
Even a 24V 200A 5000W power supply costs US$1100 before currency exchange, delivery and tax, they are large and heavy, and the electricity bill for switching on the robot could be very expensive for the user. I'm hoping it hardly ever needs to draw that much current unless its building a car or a house.
https://wholesaler.alibaba.com/product-detail/-PowerNex-Mean-Well-RST-5000_60490236130.html?spm=a2700.7724857.0.0.ipiidV
These specs on the Dynamixel Pros give me some perspective.
https://www.youtube.com/watch?v=rmqyOCefhGA
Due to compatibility with EZB and interchangeability with Dynamixel peripherals, I'm leaning towards UART at the moment. Even UART is complicated. PPM seems the simplest.
I never really got into all the different Interfaces, seems to be worth exploring!
@Zxen good luck with your project, seems to be a major thing building and marketing it! Hope you'll find the right peer group once it is ready to go!
That might be a good idea for a large robot anyway, basically set up each group of movements as independent subsystems, but does add to the project complexity.
Alan