Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

» Members: 893
» Latest member: Spyryt
» Forum threads: 601
» Forum posts: 3,191

Full Statistics

Control system

I am planning to use the Shadow MD control system for my droid.

I have started collecting parts.

[Image: attachment.php?aid=1133]

My understanding of the system is that you use Sony PS3 move navigation controllers as the input devices. These are paired to a USB bluetooth dongle on an Arduino Mega ADK board. This board then sends control signals via serial to the motor controllers and Marcduino servo controllers to control the droid.

Not sure if anyone has already modified the shadow system to send a signal that will be compatible with my ODrive foot motor controllers, or if I will have to do that coding myself. At their simplest the ODrives can work from simple servo control PWM signals. If worst comes to worst, I can receive the serial motor controller signal into another arduino and generate the PWM signals there.

I found a version of the shadow code that drives two motor controllers via servo signals. Unfortunately it is old and it doesn't look like it is Marcduino compatible.

I should be able to use this as example code for hacking the servo drive functionality into a more modern version of ShadowMD. Alternatively I go more complicated and try to hack the ODrive serial control into ShadowMD, but I don't think the arduino mega has enough serial ports for me to dedicate two to the foot motor controllers.

There are more customised versions of Shadow on github here:
Arduino Mega 2560 have 4 Serial ports that you can use, there is also the Software Serial library if you need more.

There are also other options, really comes down to how good your programming skills are.
All the Arduinos have the I2C bus and can act as either the master or a slave device.
You can there for use a single I2C on your Arduino Mega ADK to control multiple Arduino Nano's via I2C, each with a heap of IO including serial.

Just a suggestion.

I plan to use the I2C bus for a series of lidar based range sensors around the base and for each of the legs and possibly body servo controls.
The I2C bus can then easily run through the slip ring into the dome, only needs the SDA, SCL and the gnd, I can double up the Gnd and also the Power and run a local battery in the dome charged off the main batteries for dome power.
I can then use either multiple Arduinos Nanos, 16 channel servo controllers, or an Arduino Mega in the dome, all slaved off a Raspberry Pi3 located in the dome and connected to a camera in the radar sensor on the dome.

Of course I'm also planing to use a very different control software package based around MyRobotLab. :-)
Thumbs Up 
Ah, I think I found the right ShadowMD code to use for my arrangement, and it already written.

This looks like the normal ShadowMD expanded to support on board tank drive mixing and set to output two RC style PWM signals, one for each foot.

If I had my USB bluetooth dongle I could try it out. I see that people have trouble finding bluetooth dongles that work with the arduino mega. The Aircable XR3/XR4 are suggested for their long range, but there seem to be many reports of issues with them, and they are very expensive.
I have now ordered a sparkfun MP3 trigger board and all the parts needed to build 3 marcduino v1.5 boards. It is all starting to come together.
I am using the one from in my SHADOW-MD system.  It works great and I have had no issues.  I would recommend it.


(09-07-2018, 06:40 PM)Eebel Wrote: I am using the one from in my SHADOW-MD system.  It works great and I have had no issues.  I would recommend it.


I did see some other people saying they had success with that model, so I have ordered myself one (in addition to the one I ordered earlier and is on its way).
I have ordered the boards and components to build some DIY marcduino v1.5 boards.

For those who don't know these boards, they are used to easily control the servos, lights and sounds in an astromech build, they can be controlled via mobile phone, or via whatever other control system you will be using to drive your droid.

The most expensive bit was the three PCBs from Oshpark at around USD $20. The dome has the master and slave marcduino board, while the body has another slave master.

Event though I had most of the components I would need to build these already, I still ordered more in. It never hurts to have more on hand. All up, the components from Aliexpress came to around AUD $33. Most of those were in quantities enough to build dozens of the boards.

I have not ordered the wifi interface, as I will be controlling them via the ShadowMD system.
I put a master marcduino in the body. It’s controlled from the mega Anduin and has no connection to the other marcduinos...


(09-11-2018, 05:55 PM)Eebel Wrote: I put a master marcduino in the body.  It’s controlled from the mega Anduin and has no connection to the other marcduinos...

Good point. Corrected.

Forum Jump:

Users browsing this thread: 2 Guest(s)