Project CH4RL13 - Update

Hi folks!

So here's finally an update to CH4RL13. It's post finalisation but nevertheless it will reflect the journey making CH4RL13. CH4RL13 was exhibited at Overlap Degree Show 2017 and had great visitor response. For the most part, CH4RL13 accomplished what it set out to be, however many things were modified. This is not to say that these changes are permanent, but they were necessary under the time frame and to an extent to make CH4RL13 a little more tangible in terms of its concept and how the public would perceive it. CH4RL13 will grow over time, just like me in this journey.

So to start with, here's CH4RL13 as it is right now:


Noticed anything different? Here's what has changed:

-It is now a wired piece. It is wired to a sensor vest, rather than the initial spandex suit idea. This was made so visitors could also experience CH4RL13.

-It gained a backpack. Having articulated limbs with multiple servos, meant that forces coupled with weight made CH4RL13 go power hungry. The backpack was an addition to add a secondary power supply. I hope in the future that this will house a high power battery.

- It gained an antenna on the right hand side of its head. That is a transmitter for the FPV headset that is installed on the sensor vest. Initially the antenna's location wasn't quite decided until recently.

-It has no tracks. It will in the future. This was for three reasons, (1) power requirements, (2) the required Arduino libraries were not compatible, at least not in this version (see below when we discuss code), (3) budget/time.

-It looks more "muscular". That is because more powerful servos had to be installed and therefore its arms had to be made sturdier. 

-Black claws. The original transparent claws were bad quality and broke. Also, they would add nothing aesthetically to CH4RL13, in fact, would look out of place.

-USB port. You can't see it in this picture, but it gained a USB port in the back of the head. This will help CH4RL13 grow.


Why the changes?

We hit a few snags. The required Arduino libraries, VirtualWire and Servo are not compatible as they call for the same timer. It was then decided to use VirtualWire and the Adafruit PWM Servo hat with its library, however, this in itself presented issues. When sending multiple instructions from the sensor vest, it would literally go beserk. The alternative was to use the RadioHead Library, which is still on the cards, but for the time frame of this project's submission, it wasn't viable. 

Here's some video that shows CH4RL13 working at the time it was submitted but also to give context to what will be discussed next:







Here's a production stage video, of CH4RL13 using the RF modules with
smoothing algorithm. Note the smoothness of movement in comparison to the previous videos.



In the last video, CH4RL13 had barely any servos connected. It had the arm ones connected to the Adafruit Servo Hat and rather small ones at that. At that point, so far so good. However, as you connected more servos to the hat, behaviour became more erratic and when sending multiple instructions to the hat, it would become worse. Upon research and discussion with colleagues, this was in part due to the nature of PWM (Pulse Width Modulation). Of course, this had to change, however, the code for the Transmitter Arduino and the Receiver Arduino, was functional, albeit unfinished due to the above. 
The Adafruit Hat was what seemed the most practical solution for the incompatibilities of the VirtualWire and Servo libraries, but it turned out not to be viable. Other solutions were using the RadioHead library, but time constraints did not allow for it or using the ServoTimer2 library and add an extra arduino, as this library only supports up to 8 Servos per arduino and upon experimentation it was also found that some basic servo instructions were simply not featured as in the Servo.h library.

However, I still find that it may be useful for some to have the unfinished RF code posted here. It was based on code posted on here , an Instructable by Rustie0125. It uses a data struct to send all received sensor values over radio to the receiver arduino, to which I added a smoothing algorithm based on an Arduino smoothing example. I have some other ideas for applications with it, which will be other feature projects. It may be useful for you for other purposes.

The transmitters used were 433Mhz, but at a later stage changed to 315Mhz ones, to avoid interference with other home RF appliances (such as home thermometers and some home security devices). The difference in short, is in range, but you still get quite usable long range with either.

As for the sensor vest, it was by and large a problem solving exercise involving a little spring physics. The sensors had to have minimal movement while affecting the data sent significantly. Flex/bend sensors are easy to get out of calibration, hence a minimal movement solution was needed.
The majority of sensors are home made, using Velostat sandwiched between copper tape with a flexible but sturdy backing that returns to shape, using plastics. A few sensors ended up being off the shelf as during testing some sensors broke and time was an necessity. Nevertheless, for a found materials homemade vest it works reasonably well, however, I would like to make it more adjustable not just physically/mechanically (videos below).




Interaction during testing


Originally, the vest was to use a couple of gyros for some movements such as head movements and arm movements such as the swinging of the arms, however I found them quite difficult to work with. I could pull out the raw data, but making it into anything usable was a little more complex and once again, time was paramount. So, we arrived at the flex sensor solution for all movements.  The video footage you get in the headset is relayed to it via an FPV transmitter, that was soldered to the RPi Zero's TV-Out pins. You don't get HD video but you get good enough video. The stills (see below) that CH4RL13 took were good, but I found that the lens of the PiR camera came a little off focus at some point (as well as needing some exposure adjustment for consistent sharp photos), however it gave good enough video relay for users to see their surroundings and themselves through CH4RL13's eyes.













 A set of stills through CH4RL13's eyes


CH4RL13 was exhibited at the Overlap Degree Show 2017 and had great response from visitors and conceptually it worked very well (more detail on the concepts behind CH4RL13 here).

Of course, CH4RL13 as both a piece of technology and a piece of art is a constant work of improvement, however I am pleased. Of course, as I grow in my journey as a coder CH4RL13 is also going to grow and is a project close to my heart.

To end this post for now, here's a video of how CH4RL13 turned out, with a little of his journey into becoming.


As such, stay tuned for more updates and the life of CH4RL13!



Until next time,

Luis




Comments

Popular Posts