Arduino shield combines smart servos and plug-in sensors
Arduino shield combines smart servos and plug-in sensors
Control smart servos and interface with Grove and RobotGeek plug-in sensors with the DynamixShield for the Arduino Due.
Control smart servos and interface with Grove and RobotGeek plug-in sensors with the DynamixShield for the Arduino Due. Read more
About this project
What is the DynamixShield?
The DynamixShield is an electronics board that fits onto an Arduino Due microcontroller to give you the ability to control Dynamixel smart servos and regular servos, while also providing numerous Grove and RobotGeek connectors. Grove and RobotGeek are hardware frameworks for modular sensors and actuators. There are tons of off-the-shelf modules for these two frameworks that can be plugged into the shield with a single cable. This includes everything from GPS sensors, RFID scanners, and LCD displays that are plug-and-play ready for use with the shield. This makes it very easy to build your robots by combining modules and servos.
What was the motivation for this shield?
Building robots is hard! You have to know a lot about a variety of different hardware systems, understand how to program them, and how to integrate all the parts together so it works as intended. Most of the work I do involves the use of smart servos. There are a few boards out there that let you control smart servos, but I really needed to use the newer, more powerful 32-bit Arduinos for my robots. When I started this project there was nothing on the market that would work with the newer systems and provide the control I needed.
It was also important that I be able to quickly and easily use existing sensor modules. Why re-invent the wheel? It's so much easier to plug in a single cable and have an XBee wireless system ready to go, or integrate in a GPS module. What I really needed was a shield that combined these capabilities. So the idea behind the DynamixShield was born. It solves these issues, and makes it much easier to build robots in a modular fashion.
An issue I encountered while working with the newer Arduinos is that they are 3.3V systems, and are not 5V tolerant. So you cannot just plug sensors or actuators into them like you could with the older Arduino Uno or Mega, because it would fry your board. So if I wanted to use those more powerful processors I would also need a way to make it work with existing 5V systems.The DynamixShield solves this problem by using high speed, bi-directional level shifters for a number of the Due's signal lines. This allows it to convert between 3.3 and 5 volts.
The shield has a jumper that lets you power the Vin of the Arduino from your shield. This means you can power the shield, motors, and Arduino from a single battery cable if you want. The shield even comes with re-settable PTC fuses to help prevent damage to your board in case there is an accident and you try to draw too much power. Since the DynamixShield uses stackable headers, the regular Arduino Due signal connectors are still available for use, including the SPI lines.
It also has circuitry for converting one of Arduino's regular serial lines into the half-duplex protocol required to communicate with Dynamixel smart servos. Each smart servo connection has a jumper that lets you control whether it is powered from the shield, or from an independent supply on a hub. While the DynamixShield is capable of supporting large current draws, and has been tested with 21 Dynamixel servos, the jumpers are a really cool feature that gives you the option of distributing the power supply for your servos among several hubs instead.
In addition, it has numerous Grove connectors, and standard 3-pin headers for regular servos and RobotGeek modules. Here is a complete list of its features:
- 4 Dynamixel servo connectors.
- A jumper for each Dynamixel connector to power it from the shield or an independent supply.
- 7 Digital Grove connectors (14 total signal lines, 2 per Grove connection).
- 6 of the Digital lines can be used for pulse-width modulation (PWM) to control regular servos.
- 4 Analog Grove connectors (8 total signal lines).
- 2 Independent serial Grove connectors.
- 2 Independent I2C Grove connectors.
- 19 Digital 3-pin connectors.
- 12 of the digital 3-pin connectors are PWM for control of regular servos.
- A jumper to control the power source for PWM header lines.
- 12 Analog to digital 3-pin connectors.
- A jumper to route battery supply to Vin of Arduino.
- All of these digital lines, including serial and I2C, are level shifted to 5V.
This is a small video overview of the Dynamixel showing all of its features.
What can you do with the DynamixShield?
The sky is the limit, but here are a few things that I have done. I will be adding more videos demonstrating these features, and how to use them, during the Kickstarter campaign.
Control Dynamixel AX smart servos.
Synchronous control of Dynamixel smart servos.
Control Dynamixel XL smart servos.
Control a Phantom hexapod robot.
Build a probing robot with a gripper arm.
Check out this Instructable that shows how to build a 5 degree of freedom robot arm!
Build a 5 degree of freedom (DOF) robot arm with pressure feedback.
Control DC motors using a Grove H-Bridge module.
Control regular servos.
Play R2-D2 sounds using a Grove MP3 player.
Wireless serial communication between two Arduinos using a Grove XBee module.
Use RobotGeek modules.
How do I use it?
Using the Grove and RobotGeek modules is almost effortless. Simply plug the cable from your module into the shield and use the example sketch provided for that module by the manufacturer. That's all there is to it. I have provided several example sketches in the project repository.
To control smart servos you simply need to install the supplied library and use it to communicate with the servos. It provides methods for sending movement commands to any of the servos in your network, and for reading back important feedback information from them, such as their current position, velocity, load, and temperature. The library and sketches are available in the project repository. At the moment it works fully with AX and MX servos, but only has limited functionality for XL servos. I plan to refactor the library to work seamlessly with any of these servos as part of this Kickstarter if the XL cable stretch goal is reached. Please look through some of the videos listed above for more details on how to control the servos.
Check out all the places we have been featured!
We want the DynamixShield to be an ongoing project, and to do this we need strong feedback from the community. The best way to get this is to make the entire project Open Source. Once the Kickstarter has been completed, all hardware design and software files will be released as a Git repository to the public. The software libraries and examples are available now at https://github.com/NeuroRoboticTech/DynamixShield. So if you want to implement the DynamixShield software or hardware in your own project you can. This repository will include:
- DesignSpark board design and schematic files
- A Library for interfacing with AX, MX, and XL Dynamixel smart servos.
- Libraries for interfacing with Grove XBee sockets for remote control using the Commander joystick.
- A Library for controlling a Hexapod Robot using PyPose and Nuke.
- Example sketches showing how to use the DynamixShield to control smart servos, regular servos, and a variety of Grove and RobotGeek modules.
Why we need you!
I have now gone through several iterations of the DynamixShield to work out the kinks, and streamline the features. I originally ordered the bare boards from SeeedStudio and built them by hand. After some extensive research I chose a manufacturing company (OurPCB), and have been working with them to optimize the parts selection to reduce cost and part count. I recently had them produce a batch of bare boards and I assembled some shields by hand using the new parts to make sure everything fits and still works great. However, the only way you can economically produce electronics at the moment is to build it in bulk. So I need to have orders for at least 100 boards to be able to produce them at a competitive price. That is where I need your help. If you are excited about all of the cool features of this board and would love to have one then please support this project so we can get the first production run of the boards completed.
Here are the rewards that are available. Shipping is extra and will be $6 USD for shipping within the US, and $20 USD for shipping elsewhere in the world.
We have two stretch goals that are really cool.
$7,000: XL converter cable.
The Dynamixel XL is a much smaller smart servo than the other AX and MX versions. It also uses a newer communications protocol, and most importantly, it has a smaller cable connector. The underlying wiring is identical, but the connector itself is different. This means that you cannot simply plug-in an XL servo into the AX/MX connector that is on the DynamixShield. However, you can build a converter cable by hand and use the shield to control the XL servos. This is a bit of work though. To make things simpler I have been working with a major, global cable manufacturer to get estimates and test samples of a converter cable. Below are some images of the sample cables they produced. They work great and allow you to plug your XL servo directly into the DynamixShield and control it. If we can reach this stretch goal of $7000 then I will have these cables produced and include one cable for each reward that contains a DynamixShield. I will also re-factor the current DynamixSerial library to make it work fully with all three different servo types, AX, MX and XL.
$8,000: Modify PyPose and Nuke to work with the DynamixShield
The Nearly Universal Kinematics Engine (NUKE) is an easy to use PyPose tool that creates a customized Inverse Kinematics solution and gait engine for robots. It works for most popular configurations of quadrupeds and hexapods. PyPose is a python tool that captures poses and generates the Nuke code. Currently these tools only work with the Arbotix controller. If we can reach this stretch goal of $8,000 then I will modify these tools so they work with both the Arbotix and DynamixShield. These are very powerful tools, and having them support Dynamixshield will be a really awesome addition.
- 12/18/15 Kickstarter finishes.
- 12/21/15 Place order for first five, fully assembled production boards.
- 12/21/15 If the XL cable stretch goal was reached, then place the cable order and begin working on DynamixSerial modifications to support XL servos.
- 12/28/15 Place order for T-shirts.
- 01/12/16 Receive and test production boards.
- 01/12/16 Receive and test XL cables.
- 01/12/16 Post board design files on Github.
- 01/18/16 Receive T-shirts and begin shipping.
- 01/26/16 Order full production run of boards.
- 03/12/16 Receive production boards and begin testing.
- 03/23/16 Finish DynamixSerial modifications for XL servos.
- 04/08/16 Begin shipping of boards with XL cables.
- 04/30/16 Finish shipping boards.
Here is an overview of the budget for this project. We were concerned about setting the project goal too high, so we decided to cover some of the costs ourselves to make it more likely we could attain the funding. It will be important for us to try and reach the stretch goals if possible to recoup as much of that as possible.
Future Plans for the DynamixShield
My primary area of interest is building intelligent, adaptive robots by using what is known about how the brains of real animals work. To do this, I emulate the brains of insects using either deep neural networks (DNN), or more biologically realistic spiking neural networks (NN). These neural nets run in parallel on a GPU. I am focusing on getting this all running on the NVIDIA Jetson TK1 or TX1. The Jetson is a small, embedded computer with a powerful CUDA core that is perfect for vision processing and nerual networks. However, interfacing the Jetson with other robotic components is still a bit of a challenge. Producing the DynamixShield is my first step towards making it easy for anyone to build robots with the Jetson. I plan to combine the DynamixShield together with some interface circuitry to produce a new product called the Jetduino. This new board will fit over the Jetson and have Grove and RobotGeek connectors for interfacing directly to its GPIO lines, or you can use an Arduino Due and the integrated DynamixShield as a bridge between the rest of your robot and the massive CUDA processing available on the Jetson. First though, I need to get the DynamixShield out there and field tested!
I also have versions of the DynamixShield designed for the Arduino Mega and the newer Zero. However, before going any further with those I want to see what the demand is for this version. If you would be interested in either of these in the future then please let me know!
If you still have other questions, you can post a comment or send an email to me at: dcofer@NeuroRoboticTech.com I will answer you as soon as possible.
You can also keep up with the latest news by subscribing to my newsletter (http://neurorobotictech.com/Community/Newsletter), or by following on my twitter (@Neurobots), Facebook page, YouTube account, or my blog (http://neurorobotictech.com/Community/Blog)
NeuroRobotic Technologies is a company dedicated to developing intelligent machines to help make life a little easier for everyone. Here are the members of the team. Click the images below, or these links for complete Bios, including education and publications. David Cofer Bio, Stephanie Cofer Bio.
Savage electronics: This is where I found the schematics for the Dynamixel interface circuitry and the original DynamixSerial library.
Hackerspace: This is where I found some code for controlling the new XL-320 smart servo.
Cathy Ma at OurPCB: She has been incredibly helpful and patient while helping me get this board streamlined and ready for production.
Risks and challenges
Like any Kickstarter project, there are some key challenges and risks in developing our product. Some of these are:
ENGINEERING AND DESIGN
It’s unlikely that the first time you do something it turns out to be great. That’s why the DynamixShield has gone through a number of generations, and it’s only with this current one that we felt comfortable sharing it with the Kickstarter community. Several prototypes have been built and tested in a variety of different projects. The prototype boards were generated from the manufacturing company, and all that is needed is to give the go ahead to produce the first round of fully-assembled boards.
LOGISTICS IN PRODUCTION AND DELIVERY
A lot of Kickstarter campaigns find it difficult to get their hardware into mass production. This includes issues finding companies to help with manufacturing components. We think these issues are important, which is why we’ve created relationships with manufacturing companies to help with scaling our production. We have worked with their support staffs to streamline the design to reduce part counts, costs, and possible part backlogs.
Things can go wrong in any project. It takes determination to overcome issues and see it through to the end. If our planning fails or falters we will of course follow the best route and let you know exactly what's going on and how we're going to fix it. It's the only way to do business. We will do our best to ensure that you have a great product that you love to use at the end of this project.Learn about accountability on Kickstarter
Support this project
- (30 days)