PDA

View Full Version : [Project] DIY FSR Feet for the HR-OS1



r3n33
11-11-2015, 02:41 PM
For the robot to have the ability to sense the ground sounded like a great idea and having FSRs on the feet was not a new concept. Before creating my own I checked google to see what may already exist and found a little bit of information about the official feet made by Robotis. The page and videos are a bit dated, the product is listed as not available, and the price was $450. Not to mention the performance demonstrated in the linked video left a lot to be desired.


http://www.youtube.com/watch?v=28IJenaGTgM

A little more scrolling revealed some specifications about their design. Mainly how they configured the register table was what I was interested in but it was also nice to see the X,Y layout their code was expecting to readings to correlate with.

http://support.robotis.com/en/product/darwin-op/references/reference/hardware_specifications/electronics/optional_components/fsr.htm

At this point, perfect, we can make our own. To prevent the possibility of having a robot without working feet I ordered some extra brackets from Trossen.

http://www.trossenrobotics.com/bioloid-metal-f5-bracket
http://www.trossenrobotics.com/bioloid-metal-f12-foot

You’ll also require eight FSRs ( 4 for each foot ) and the size I found easiest to install on these feet are the small 0.2” size.

http://www.trossenrobotics.com/store/p/6492-2-Inch-Force-Sensing-Resistor-FSR.aspx

You’ll also need a MCU to sample these sensors, interpret the data, and respond to dynamixel packets. In recent discovery I found the Adafruit Trinket Pro in the 5V 16MHz configuration to work well for just this sort of thing. I’m willing to bet there are other MCU options out there but this one is small, handles voltage regulation, and doesn’t cost much. I was a little worried about the 16 clocks per bit on the DXL bus but so far so good.

https://www.adafruit.com/products/2000

Now I had intentions of making an assembly guide but for the sake of getting at least part of this information out there I’m going to show pictures of the current prototype.


626862696270


You can see each FSR is routed through the slits in the F12 foot and each has a pull down resistor. Instead of routing 4 resistors over the board to the GND pin I used some of the spare GPIO and set their state to LOW. To connect to the dynamixel bus I made my own connector or you can salvage a spare if you have one. Power goes to the BAT+ pin, ground to ground, and data to TX and RX which are to be tied together.

In order to install one of the FSRs the F5 bracket will need to move off center OR what I ended up doing was printing a 1.5mm spacer to go between the F5 and F12 parts which allows the FSR to route underneath. When adding this printed spacer the M2x6 screws holding F5 and F12 will need to be switched for M2x8 to accommodate for the extra space.

6271 6272

The last part required for these feet to work are the soles. The sole cannot attach with pressure or the FSRs wouldn’t work so I designed some 3D printed clip ons to replace the original delrin parts. They keep the FSRs covered and help distribute force but do not maintain pressure when the foot leaves the ground.

6273

Once everything is connected you’ll need firmware programmed on the Trinket. This part was not made available by Robotis but not to worry we have a link to the register table, the hardware prepared, and a little bit of smarts to perform weighted averaging and some data smoothing. Thanks to KurtE, Eric, and myself you'll soon be able download our implementation on GitHub.

[TODO: host online]

From here you’ll want to use the Arduino software to write the project to the Trinket Pro then you can begin setting up the configuration of the left and right feet.

[TODO: instructions]

Right Foot ID 111
Left Foot ID 112

Now you can connect the feet to your robot and test the FSR tutorial found in the ‘fsr’ branch of my forked copy of the framework.

[TODO: Update my master branch of framework and fork off FSR code]

Temporary Information: https://github.com/r3n33/HROS1-Framework/commit/daaad418a79c6980dc4d41516c792113ccffa5ef

So this post is a work in progress but now we have a good place to discuss the development of FSR feet.

tician
11-11-2015, 03:45 PM
The AX-12/18 use ATmega88 at 16MHz, the CM-5/510/700 use ATmega128/256 at 16MHz, and the arbotix-m use ATmeg644p at 16MHz, so should have no issues with a 16MHz Trinket Pro. The only reason the FSR feet of the DARwIn-OP use 72MHz STM32 is to ensure compatibility with the higher speed dynamixel buss possible with the MX-series servos. All of those 16MHz AVR are technically capable of the 2Mbps buss speed, but the Robotis firmware always disable the USART U2Xn bit for a 16x clock divider (maxes at 1Mbps with 16MHz clock) instead of 8x (maxes at 2Mbps with 16MHz clock).

I had attempted to make an arduino-compatible pcb (http://forums.trossenrobotics.com/showthread.php?5444-On-Regret&p=51661#post51661) to fit entirely within the plastic foot of the Bioloid kits with center mounted bracket, but it did not work out partly because I apparently slightly messed up some of the dimensions and I never bothered getting a revised board because of the general uselessness of the data acquired from the HUV Foot Pressure Sensor boards and Robotis DARwIn-OP FSR feet. Might try again sometime in the future with multiple pcb trace sensing areas (like my MW boards) instead of FSRs to make the active area of the sensors flush with the contact surface of the foot instead of slightly recessed by the rubber spacer in the FSRs.

KurtEck
11-11-2015, 06:50 PM
Looks great.

FYI - The trinkets are fun to play with! Can not wait to try this out!

LloydF
11-16-2015, 08:16 PM
Me too. I am having difficulties getting my orders out of Trossen all of a sudden, normal get something back in a day or so bu t this has bee a week, and nothing is back ordered so, are there any outer sources for FSR sensors?

tician
11-16-2015, 08:30 PM
Adafruit, sparkfun, robotshop, digkey, etc. If nothing shows up when searching them for 'fsr', then you can try searching for their manufacturer: 'Interlink Electronics'. Digikey prices can be a bit higher for small quantities since you only get to the sub-$6/unit when ordering 25 or more at a time.

KurtEck
11-16-2015, 09:21 PM
I today I received my order from Sparkfun with 8 of them :veryhappy:

sonel
11-17-2015, 03:57 AM
Thanks r3n33 for starting this thread. I'm waiting for the delivery of the FSRs. Had to order the small ones about a week ago from US (I live in UK) and hopefully by the end of this week will be here. I got them on eBay from mechasolution14. I also found a supplier here in UK (proto-pic) that had the 0.5'' in stock and were shipped yesterday. I guess those will come today or tomorrow. I will see which of the the two models works better.

In respect to the controller I actually settled for the Arduino-Pro-Mini which is essentially the same as the Trinket except the USB (which sincerely is a gimmick considering how is wired). The big advantage is that for the price of one Trinket I got 5 (!) of these Arduino-Pro-Minis plus a FTDI-USB adapter and cable! They are also smaller (shorter) which is an advantage in that cramped space in the foot. The main disadvantage is that, since I will have to share the RX/TX between the Dynamixel and the FTDI, I will need to put a jumper to connect RX to TX (similar to Arbotix-M) - the jumper will have to go off when programming the chip.
6284
I was planning to put it on a larger stripboard that will have holes matching the the ones in the foot and where I can place the Dynamixel connector, the sensors' resistors and the sensors connectors. It will be narrow enough that will fit flat next to the F5 bracket.

For the feet I also noticed that the the mounting of the F5 bracket obstructs one of the cutout for the FSR so a standoff between them is needed. I was thinking just to put some washers.

For the soles I was thinking to have some semi-cutout circles around the sensors - so that they can flex, and either have they slightly raised (with some domes) or stick some rubber feet. I'll probably need to put a picture once I make a prototype to show that better.

One of the serious improvements that would make the FSR useful for the robot is to change the firmware of the main controller so that the information is continually used in the main loop to evaluate if the robot is in balance and apply corrections. The mistake made in Darwin is that this was implemented in the Linux level; because the information passes through 2 loops between the sensors and the main Linux controller a lot of time is wasted and there is very little chance meaningful decisions can be taken. Implementing it in the Arbotix will be better - ultimately our reflexes are coming from the spine (and that's our Arbotix) and not the brain!

This brings us to an interesting subject - has anyone come up with the convenient way to update the Arbotix-Pro firmware without the need to take it out from the robot (that is a lot of screws to take out!) and stick the JTAG adapter? Robotis had a firmware loader program that allowed updating the controller firmware from the main Linux computer, but that was because they had a boot-loader that supported that. As I've seen until now I don't think the Arbotix-Pro has any boot-loader.

LloydF
11-17-2015, 07:46 AM
Thank you, I order some from RobotShope this morning and there already in the mail, dang.:cool:
I'll cancel out my Trossen order since it has not even mailed yet:genmad:.

KurtEck
11-17-2015, 08:46 AM
In respect to the controller I actually settled for the Arduino-Pro-Mini which is essentially the same as the Trinket except the USB (which sincerely is a gimmick considering how is wired). The big advantage is that for the price of one Trinket I got 5 (!) of these Arduino-Pro-Minis plus a FTDI-USB adapter and cable! They are also smaller (shorter) which is an advantage in that cramped space in the foot. The main disadvantage is that, since I will have to share the RX/TX between the Dynamixel and the FTDI, I will need to put a jumper to connect RX to TX (similar to Arbotix-M) - the jumper will have to go off when programming the chip.

I also through about the Arduino Pro mini, but actually the USB gimmick works enough, that I can simply plug in the USB, hit the button and then upload the program, without having to change the board, which is nice...

Price, where did you get such a great deal?
If I look at Sparkfun: https://www.sparkfun.com/products/11113 The price is $9.95 and FTDI Cable: https://www.sparkfun.com/products/9718 $17.95. Note Adafruit has same price for the Arduino...

For Trinket Pro 5v: http://www.adafruit.com/products/2000 $9.95


This brings us to an interesting subject - has anyone come up with the convenient way to update the Arbotix-Pro firmware without the need to take it out from the robot (that is a lot of screws to take out!) and stick the JTAG adapter? Robotis had a firmware loader program that allowed updating the controller firmware from the main Linux computer, but that was because they had a boot-loader that supported that. As I've seen until now I don't think the Arbotix-Pro has any boot-loader.

I have been told that there is no boot loader. You need to buy the Programmer and adapter to update the firmware in the Arbotix Pro. Also the instructions for building the firmware looks like they only have the instructions to do so on a Linux machine...

LloydF
11-17-2015, 03:42 PM
Well, heck the FSR's are on back order , so It is time to Learn more about Trinket:wink:.

sonel
11-18-2015, 09:13 AM
Price, where did you get such a great deal?


Got them on eBay (in UK): http://www.ebay.co.uk/itm/161805079939

Frankly, I just got them at the weekend and I haven't yet tested them properly to make sure everything is ok. But I don't think there are any problems.

Alex.

KurtEck
11-18-2015, 10:16 AM
Thanks,

Yes looks like there are a bunch of clones made in China of the Arduino Pro mini as well as some with the Atmega32u4 for quite cheap
Maybe have to try some.

Mike.
11-18-2015, 12:55 PM
After reading your thread I started looking at the Edison MCU. It shares memory with the onboard Atom I think you could use this to read the FSR's in the feet and then you would not even need the mini's. You would need to run four wires down each leg. {-edit-} I have not worked with FSR's before, but I read that they are not very precise and the manufacturing tolerances are pretty wide. I think it is not important to know how much the robot weighs, but where the center of pressure is. You can do this as follows. Connect one lead of the FR (front right) and BL sensor in together in series and one lead of the FL and BR sensors together in series forming an X (axis with 45 deg offset). Wire the remaining leads of the FR and FL sensors together and connect to 5V excitation (first wire up the leg). Connect the remaining leads of the BR and BL sensors to together and connect to ground (second wire up the leg). Connect the center connection point of each axis to analog ADC inputs on the MCU (other two wires up the leg). With even pressure on the sensors, calibrate electronically for foot center of pressure.

No pressure on foot - both ADC inputs high-z (floating - may need a pull up/down at analog ADC input).
Even pressure on foot - both analog ADC inputs near 2.5V
Front pressure on foot - both ADC's between 2.5V and 5V
Rear pressure on foot - both ADC's between 0V and 2.5V
Left pressure on foot - one ADC low (0V-2.5V), other ADC high (2.5V-5V)
Right pressure on foot - one ADC high (2.5V-5V), one ADC low (0V-2.5V)

I think the FSR's go open when there is no pressure, this may cause an issue. I would need to think through it more. Really what you end up with is an analog X-Y axis that is rotated by 45 degrees with respect to the foot. Care would need to be taken with the 5V excitation to ensure that it could drive the low impedance load (200 ohms? - 2S2P).

I would be curious to know if anyone actually tries this. If not, I might try to get some FSR's sent to the house and give it a go.

KurtEck
11-18-2015, 03:31 PM
Hi Mike,

I don't believe the Edison comes with any Analog to digital converters. The Arduino version of the board has some built in. Also it has been awhile since I tried out the Edison with the Atom, but at that time the IO performance of the Atom was not impressive... Hopefully soon they will have a new release.

Note: you could try to attach an AtoD converter, such as: https://www.sparkfun.com/products/13327 onto the Edison, but each of these only gives you I believe 4 Analog inputs, so you would need to mount two of these. To use these you would probably need to run probably at least six wires down each leg (maybe 5) (4 inputs, +5v and ground). Note you can probably do similar things for the Raspberry PI, by hooking up an external AtoD converter, as described in: https://learn.adafruit.com/reading-a-analog-in-and-controlling-audio-volume-with-the-raspberry-pi/overview. Currently I am using an Odroid C1 on mine, which I believe has 2 AtoD pins on it.

A nice thing about r3n33s approach is you don't need to run any wires down to the feet. You simply plug ones of these boards into the AX chain at the feet and read the values in over the AX buss.

Soon, I may build up another simple circuit like I did for the LEDs to make it easier to hook up.

Will be fun!

Mike.
11-18-2015, 10:52 PM
Hmm, I had looked up Intel's page over lunch, it looks like they accidentally swapped the photo's and I just read the specs based upon the photo:
http://www.intel.com/content/www/us/en/do-it-yourself/edison.html#kits

You are right, no ADC's on the mini-breakout. I didn't realize r3n33 was going to use the existing bus, pretty neat!

LloydF
11-23-2015, 07:51 AM
The trinkets are fun, small arduino's in a sense. Any advice on you FSR feet, I think I have all the parts together and printed up, I'd love
to incorporate these into my robot or help if I can. I might need a little better hook up advise/pictures but Woot!:cool:

KurtEck
11-23-2015, 12:07 PM
I don't have the parts yet, but plan to add them to mine as well.

I have been doing a little hacking of another HAT for an Trinket Pro to handle this. Currently the 3d model looks sort of like:
6299

The part toward the bottom, which I don't have 3d model for yet, is for an 6 pin inline bused resistor network, which I have setup for 10K going to ground. I also currently have it setup to be able to have multiple AX connectors, but may not be necessary as this is at the end of the chain...

So may play with the ability to add a neopixel for the fun of it instead :). Also I have in it an extra voltage divider connected up to AX buss so can have it respond to current voltage (optional). Diode shown on top is actually probably not needed (actually by default I have it shorted out beneath it)...

My assumption for hooking up the FSRs is that each one goes in as a voltage divider, with +5v going to one pin of the FSR, the Other wire connects up to an Analog pin on the processor as well to a 10K resistor where the other pin of the resistor connects to ground.

Kurt

LloydF
11-24-2015, 02:04 PM
:wink: Got my FSR's today. Going to start the foot assembly, them are 10k resistors right?6300

r3n33
11-25-2015, 11:38 AM
:wink: Got my FSR's today. Going to start the foot assembly, them are 10k resistors right?6300

Looking great. Yes I do believe they were 10k but I'll have to double check. I suppose we'll have to work on getting you the FSR firmware sooner than later.

KurtEck
11-25-2015, 12:14 PM
Yes, probably need to finish debugging the firmware. Was waiting until I had feet parts to work on it, hopefully soon.

Also I may play with a larger version of the board I showed above that hopefully could position inside the foot and have it setup where you could then probably solder the FSRs directly to the board. or optionally some form of connectors...

KurtEck
11-25-2015, 08:10 PM
YWas waiting until I had feet parts to work on it, hopefully soon.
Printer arrived :D

So my very first prints (after test cube), was to print the foot parts.
6303
I don't think they look too bad for my first printed parts

drachels
11-26-2015, 12:02 PM
I don't think they look too bad for my first printed parts

I think they look pretty good too, for a first actual usable print out of the box, without any fine tuning of your settings.

r3n33
11-26-2015, 12:40 PM
Printer arrived :D

So my very first prints (after test cube), was to print the foot parts.
6303
I don't think they look too bad for my first printed parts

You didn't end up with a blob of indistinguishable plastic! :veryhappy: Congratulations! And you printed one of my models? Awww ;)

KurtEck
11-26-2015, 12:57 PM
Actually printing another one right now ;)
6304

But this one is taking awhile. Cura estimated 6h 12m print time.

Need to play around some more to understand all of the settings, that may impact how long it takes... But that is a different topic.

Zenta
11-26-2015, 03:14 PM
Congratz with a 3D printer Kurt!
Looks like fun!

sonel
11-27-2015, 05:16 AM
But this one is taking awhile. Cura estimated 6h 12m print time.

Say good-bye to good night sleep! You'll be hooked watching the extruder.

Are you printing in PLA? You should switch to ABS for the robot parts - it's true that PLA is way easier to print, but I found it to be unsuitable for robots where high torques / forces and big hits from falls would usually break very fast the PLA parts.

sonel
11-27-2015, 05:52 AM
It's great to see that so many people are progressing with this topic!

I wanted to share my progress and I hope over the weekend I might be able to finish most of it.

63076308

I'm using the larger 0.5'' sensors. I have bought both the small and the larger ones and I tested them on the breadboard with the Arduino and frankly I find the larger sensors give better reading. Because of that I had to replace the foot bracket (the aluminium one) with a 3D printed one - which is fine because the cutouts for the FSR are anyway obstructed by the large U servo bracket.

I use an Arduino Mini Pro (cheap Chinese clone) and I have also included an 74LVC2G241 that is in this prototype soldered on a SSOC-DIP adapter. Everything is on a strip board that also includes the 4 resistors (10K indeed) and 4 x 0.1'' screw terminals where the sensors' are conected (as you can see in the picture nothing is soldered yet to the strip board - I want to make sure that the alignment and the screw holes are fine first).

You can see in the first picture that I use 4 self adhesive 0.5'' rubber feet that match perfectly the FSR sensors and also will produce some nice grip for the foot. They come out of the foot sole just about 1.5mm.

I have to make some adjustments - change the position of some screws and add a few more to increase the strength of the assembly.

In terms of firmware I'm curious to see Kurt's code, although I have already started to work on a generic DynamixelSlave framework that can be used to implement Dynamixel devices using an Arduino. I'm using ardyno library from Adrien Descamps (you can install it from the Arduino environment) extended with a DynamixelSlave class that will use the very elegant DynamixelInterface and implement the EEPROM functionalities as well as the basic communication functions. Particular devices (like the FSR here) will subclass DynamixelSlave and add the particular processing and communication specific for that device. I'll probably send a pull request to Adrien and hopefully he can publish the changes in the Arduino library.

I'm thinking of expanding the registry from Robotis with a few more things:
- some calibration variables in EEPROM; this would help improve significantly the accuracy of the measurements as the production tolerances for the FSR is very large and the particular physical implementation could affect the results
- a variable for the frequency of reading the FSR values
- a set of average measurement - most likely for the centre, including a D (differential) calculation that can be used directly to evaluate possible unstable situations

KurtEck
11-27-2015, 08:22 AM
Nice looking. I like your perf board setup. I was/am actually looking to maybe do a circuit board similar to that, although so far using the same hardware setup like r3n33 has.

As for the software: It is over 95+% Renee's and Eric's code! What I have done is to hopefully make the diode she was using not necessary in their version of the library, plus then I did some other editing to it. I then played with their library and made my own version of the led hand code that uses Adafruit neopixels. I also then updated their FSR code to compile with my changes to the library code.

What I still want to do is help debug that there may be an issue with running multiple of them without using the diode. Hopefully soon she will be happy enough with the code to release a first release of it.

Edit: Was playing some with layout using connectors (liked the idea versus soldering to them). Currently the 3d looks like:
6309
Still using resistor network, may be more temped in this case to use individual resistors. Also currently this size still needs spacer under bracket to get one FSR through, could expand board to go under bracket to make room, but then would need left versus right.

r3n33
11-30-2015, 12:23 PM
It's great to see that so many people are progressing with this topic!

I wanted to share my progress and I hope over the weekend I might be able to finish most of it.

63076308



Another great start. At some point it might be nice to see how the readings from the bigger FSRs compare to the 0.2" size. I agree with the calibration registers and had started implementing the same thing but am not recalling how close to complete I was.

I'm also curious about how well the stick on pads will work. You'll certainly get some decent traction and direct pressure on each FSR :)


As for the software: It is over 95+% Renee's and Eric's code! What I have done is to hopefully make the diode she was using not necessary in their version of the library, plus then I did some other editing to it. I then played with their library and made my own version of the led hand code that uses Adafruit neopixels. I also then updated their FSR code to compile with my changes to the library code.

What I still want to do is help debug that there may be an issue with running multiple of them without using the diode. Hopefully soon she will be happy enough with the code to release a first release of it.

Edit: Was playing some with layout using connectors (liked the idea versus soldering to them). Currently the 3d looks like:
6309


I have no objections to putting the code on github in it's current state so it can be shared.. or if you'd like to host it on your account Kurt that is perfectly OK too. That wax Alex and others can contribute or take from an alternate implementation.

I like both the perf board and carrier PCB designs because they can be securely attached to the foot plus eliminate the need to solder/wire each FSR.

KurtEck
12-02-2015, 09:27 AM
I have no objections to putting the code on github in it's current state so it can be shared.. or if you'd like to host it on your account Kurt that is perfectly OK too. That wax Alex and others can contribute or take from an alternate implementation.

I like both the perf board and carrier PCB designs because they can be securely attached to the foot plus eliminate the need to solder/wire each FSR.
Thanks Renee - I went ahead and pushed our (mostly your) stuff up to github as a new library DynamixelDevice (https://github.com/KurtE/DynamixelDevice/)
You should have write access to this project.

I have it setup as a library, where all of the code is in the header file. I then have three example sketches under it, with your LED hands, FSR Feet, and my Neopixel version of the LEDs...

Also yesterday, I went ahead and ordered a set of FSR boards from OSHPark (3 boards $14.25). The boards may not be perfect, but hopefully will work. I made them such that there are two AX servo connectors as well as 2 Neopixels, such that I don't expect to fully populate them, but you can assemble them for both left and right feet with lets say an AX connector toward the back and an Led toward the front of both boards... Also in theory I should be able to use either a Pro trinket or an Arduino pro mini...

6332

I updated my Teensy board github project (https://github.com/KurtE/Teensy3.1-Breakout-Boards) with this board, including the zip file I uploaded to OSHPark.
The boards were already sent out by them to fabrication. Hopefully they will work!

r3n33
12-02-2015, 02:13 PM
Sounds great Kurt.. Though I can't take most of the credit since it's a group project. Without all our efforts we wouldn't be where we are today.

I'm really excited to hear about your FSR PCBs. If they work out I'd love to put in an order with OSHPark.

KurtEck
12-17-2015, 04:13 PM
My order came back from OSHPark, so I have started to assemble...

So far one foot is mostly assembled:
6366
The first one I assembled using an Arduino Pro Mini (5v), as my design that allows me to use a Pro Trinket was not very good for allowing me to plug in the USB cable. On the 2nd one, I will play a little and see if using some small standoffs would help that, or may stick with the Arduino Pros... Using the FTDI cable is not the end of the world in either case...

I printed a 1mm thick spacer to go under the sensor board as to not have it potentially short out. But this is putting some stress on the one FSR that is under the bracket. I might reduce this to .5mm and see how well it prints, or ...

I have not tested the FSRs yet, the only thing I have tested is to run the neopixel strand test and the one neopixel is working...

r3n33
12-19-2015, 02:05 PM
Impressive job getting all those parts aligned and installed. Can't wait to find out more!

KurtEck
12-21-2015, 10:10 AM
Thanks, so far everything is getting back into one piece. I still need to go through and finish up my hacks on your firmware. Like I am adding in the ability to set the neopixel in the same way you were setting the RGB Leds of your hands. In both cases I moved the actual Register IDs to higher numbers as to not be in the same range as the FSR numbers or some of the standard servo values, which at times I may monitor...

Hardware wise, they went in pretty well. If I were to make a V.2 of these, I might move around a few connectors or the like to make it so that if I wanted to use the Trinket pro, I would have a clear shot to plug in USB cable... Also would maybe make it such that I could use an Arduino Pro micro (Atmega32u4) as well... But so far I have no need... In case anyone wishes to take a look the zip file I sent off to oshpark to fabricate are up on github (https://github.com/KurtE/Teensy3.1-Breakout-Boards/blob/master/Trinket%20-%20NeoPixel/Trinket-fsr-001ex.zip)

As I mention, I need to get back to testing this. But figure I need to get my HROS1 back into one piece. The feet are mounted, Still need to figure out how I want to attach LED hands, which I will defer to some new ideas. But I would like to mount my Chappie head.
Was having a hard time figuring out how to get the head on. as the head did not want to go over the brackets in the neck and I don't want to try to force the opening at the bottom to try to make it work. Looking into some more I now pretty sure the Head Mount 3 bracket changed from what I have. Will talk more about it on the 3d models thread...

Hopefully later today or tomorrow will have it back in one piece!

LloydF
01-03-2016, 06:27 AM
Hum, I have no code for the triket pro , so I'll wait until someone gets a finished unit or I try to program this little tool myself. I have the arduino IDE running blink on it so it works OK.

KurtEck
01-03-2016, 09:33 AM
Sorry, I have been taking my time getting my HROS1 back into one piece and I keep getting distracted with other things.

Example: I built a small chest plate that houses an 8 Neopixel stick, which also holds a Teensy 3.2 to control it. I have been using this as a learning experiment and have now made maybe 5 versions of it, as I figure out other things that I needed to do to make room. Example I had a working version, until I finally tried plugging a power cord into ODroid, and also maybe wanted to plug something into the USB3 connector. So I bumped the chest piece out by 5mm. Also wanted to make provisions, so I could plug in USB without disassembly... It took me awhile to figure out how to stretch out pieces of a design in Fusion 360...
6390
In addition to this, I figured I needed new cables, so I ordered some 1 ft USB cables, some with right angles, plus a new power cable again with right angle, such that things could tuck in better. Also new USB hub which was supposed to be small (was not), so will scrounge for another one. Need 4 USB connections (wifi, bt, Arbotix Pro, camera) and XU4 has 3...

:o Now back to topic.

As you might guess, I have not tried out all of the bits and pieces yet: I think most of the parts are already up on the web, they probably still need debugging, and I want to play some with own twists on them.

Arduino FSR Feet github code (https://github.com/KurtE/DynamixelDevice): Under Examples is FSR Feet, like wise my neopixel servo code, and a version of Renee's LED hand...

FSR Code to run on HROS1 (https://github.com/r3n33/HROS1-Framework/tree/experimentation): I believe a version of the code is up on Renee's Github fork of the framework in the experimentation branch. I believe some pieces of this may be in the main project (Interbotix), but I am pretty sure not all of it. Example under tutorial, she has a folder called FSR and the Interbotix version does not.

I hopefully will get all of the pieces in place soon, but would not be surprised if I get distracted again. May want to build a foot cover to make sure processor pins don't short out to leg, or may want to build one of the Teensy boards, that I had Seedstudio fabricate, or maybe print some more new parts after Trossen publishes them ;)
...

LloydF
01-04-2016, 05:54 AM
Yea, all of the above. You have been so busy and productive. I want to say I am proud of you and renee. I have no Idea how you work so well together but :veryhappy: Yea!!, and thanks!! P.S. Nice Lighting.
The FSR Feet are the next thing I wish to get up and running.

KurtEck
01-07-2016, 12:41 PM
Hi again and Happy New Year to everyone...

Sorry, that I have been going a bit slowly with some of this.

I have had a few minor hardware issues (of my own making...).

Things like, while I was trying to get something else to work, my thumb was on the USB cable going into the Arbotix Pro, and I tore the USB connector off the board :(
6392
I am using a right angle connector USB connector instead of the 4 wire Molex connector as with my Odroid XU4, the little connector that was using to adapt to 4 wire molex connector won't fit. If I could find the one I came with it where the molex as on the other side it might work like a champ... One of these days I need to organize everything in my office. Luckily I purchased a spare Arbotix Pro, which I am planning to use with an ODroid or the like when I convert my PhantomX hexapod to MK3, so swapped that one in. When I finished putting it back together, the Odroid would not boot. Took apart again and it worked? So just finished putting those pieces back in and it boots.

Next up, so simple updates to my Raspberry Pi project which I use to test servos and the like. Need to adapt on this one to use ttyUSB0 instead of ttyACM0. Will probably setup to handle both, or can simply set a symbolic link for /dev/ttyDXL, which my code will use automatically...

But still somewhat concerned about the foot board may short out depending on ankle angle:
6393

So may try doing quick and dirty 3d cover for it, before I short things out.

Again hope everyone had a great holiday season!

KurtEck
01-13-2016, 04:17 PM
Another quick update to myself ;)

Was having issues with talking to one of the feet, so doing it now stand alone with C1, USB2AX, Powered hub... Still would not talk. Tried to reprogram the Atmega and it would not work. So the cheap Arduino Pro mini clone (http://www.amazon.com/gp/product/B0179YGKX0?psc=1&redirect=true&ref_=oh_aui_detailpage_o07_s01) I purchased up on Amazon (while waiting for the one made by Sparkfun), died. Actually looking at the item again on Amazon, I am not really sure what processor it had in it... I cut the board off of my foot board, and soldered in a new Pro Trinket and that part is up and running again. Still don't have this foot back on to HROS1 yet...

I have been playing around some now with the FSR Foot code and have my Raspberry Pi project AXTest program with a command to cycle printing out the FSR values when they change. Also trying to figure out why sometimes even with USB2AX, reads from the boards fail. The data looks proper over the AX Buss, so maybe timing coming back. I updated my Raspberry Pi code up on github with the current stuff. Thinking of hacking up the FSR Foot sketch code now to set the neopixel color depending on pressures. Maybe with foot down no color, foot up maybe white, and maybe some colors depending on if the pressure shows more left to right or up to back...

This afternoon I thought I would again try it stand alone but use the Arbotix Pro instead of USB2AX. Although I unfortionatly ripped the mini USB connector off, I figured I would just hook it up using the molex connector to the Odroid C1+... Nothing.... :(
Decided to take a look at how the board is laid out, so I opened up the Eagle BRD file, and here shows the USB area on the board.
6395

Guess what happens if the USB Pads come off the board? Suggestions if you come out with new rev of board. Don't route the USB Molex connector that has through holes through the USB connector pads, especially if your USB connector does not have through hole mounting pads... Hopefully I can figure out a way to patch the wires...

Pengatom
10-13-2016, 01:33 PM
I was thinking of posting a question of how the status of this project has come today, but now I also have to ask if you figured out a way to fix the Arbotix Pro board, as I just tore of the usb connector on my board as well...

This usb connector is a very week link! I barely touched it and it came straight off, pulling part of the pcb with it.

KurtEck
10-13-2016, 05:00 PM
I was thinking of posting a question of how the status of this project has come today, but now I also have to ask if you figured out a way to fix the Arbotix Pro board, as I just tore of the usb connector on my board as well...

This usb connector is a very week link! I barely touched it and it came straight off, pulling part of the pcb with it.
Yes and no - I replaced the board :(

As I mentioned on mine, when the connector came off it took the etch associated with the other USB connector as well, so the USB part was toast. However if you have one of the newer boards (ones that were not part of the initial pre-order), then there is an option, to control the Arbotix-Pro using some of the IO pins that are associated with a USART. I made my own version of firmware that I could download using the JTAG connector. The problem with doing this with the pre-order ones was they did not install the jtag connector. There is a hole pattern for it, but the holes are too small for normal IO pins to solder in. I believe the Arbotix Pro github project had an eagle design for an adapter you could make to allow JTAG... But since I had a working one, I threw away the bad one.

I have also built my own boards using Teensy processors, which I would also prefer to use than the Arbotix Pro.

Also I am sad to say I have not done much with my HR-OS1 in many many months, probably close to a year. I have been sort of waiting until to see if/when Trossen was actively working with it. I keep checking some of the different github projects and PrintSandbox and things have been real real quiet!

Good luck

MousKitos
06-29-2017, 01:27 PM
Nice project


I'm at work for few weeks ( Tour De France ) but when I come back, I think I will do this nice add-ons.


But I have one question coming , how you manage the serial command ( on hard part and software ) the transmitt and receive on one wire ?
To be compatible with dynamixel protocol...

How do you link the wire Tx and RX ? To be compatible with Dynamixel protocol...
Just one sort-circuit between both, or do you add something else, maybe you manage in the software ?

KurtEck
06-29-2017, 06:41 PM
Yes - it is wired up to use one wire. The method for how I do it depends on the processor.

That is if I am using an AVR processor like the Arbotix-m or Arduino Pro mini or Pro trinket - then we simply jumper TX and RX to each other and then connect up to DXL. Note, would probably put a resistor inline to help to protect it. The software handles when to enable the TX or RX pin to make it work

When I use Teensy boards to do this, I use the half duplex support of the processor, so I only have to hook up the TX pin, and then the software controls the direction of the half duplex

Software: I was using code that is my github project: https://github.com/KurtE/DynamixelDevice

Note: I have not looked at any of this for probably well over a year now.

r3n33
07-03-2017, 11:21 AM
It's been awhile since I've messed with the FSR feet as well. I was using a Trinket for communication on the DXL bus and had a diode between TX and RX. Pretty sure there was some software logic involved as well.

Kurt does a nice job improving development and getting things packaged. His DynamixelDevice repo is probably a good place to start.

MousKitos
07-03-2017, 04:13 PM
Trinket Pro, nice option, thanks R3n33 :wink:

KurtEck
07-03-2017, 05:52 PM
FYI - I made circuit boards for feet and Neopixels for both teensy and trinket. Example Trinket LED
7064

They are up in my github (kurte) Teensy3.1-Breakout-boards project...