My most important job was to finally have the exact list of component we will need. Therefore I chose a lot of them with the help of Alexis but I need to make some tests on the led and on some connectors to really finalize this task, that should occur before Wednesday.
I also wanted to start the PCB schematics, but I didn’t have the time, therefore I will do it before Wednesday.
Finally, I worked a lot on the algorithms and on Simulink. I started alone on Thursday when I discovered that with a lot of efforts, we could compile an easy Simulink project for a cortex-M4.
Then with Benjamin, we worked on the algorithms on Saturday. That was a really tough and obscure job as we didn’t have any data to process… But Laurent finally gave us some records. Therefore, we tried some algorithms on them. The bad news is that we discovered that their algorithms don’t work, that we won’t be able to split the ECG and EMG signals so easily… The good news is that we are know capable to filter the EMG.
To conclude this week, I wrote a python script to format MatLab data in a text file that Benjamin can read with a C program that can count the number of heart cycles.
The really bad news is that I wanted to create a script that would test automatically the Simulink and C programs on a database. And that is when I discovered that we won’t use Simulink conversion to C for our embedded system… It’s a total mess, we were not really expecting some clean code, we knew that we would have some issues regarding inputs and outputs. But not that the whole processing chain would be in one big function that weighs 18Mo…
So for next week Benjamin and I will need to find a way to create a C processing chain and I will work on the schematics while Benoît and Alexandre will hopefully give us some real datas they finally succeeded to acquire.
Comming back soon!
We have started this week with a meeting with Laurent during which he gave us electrodes and his old signal processing chain.
I then spent a lot of time choosing the components we will put together to create our watching device. That was a rather difficult task, choosing an IMU, a LoRa and a BT chip, LEDs, a USB and a micro SD connectors and a buzzer over all the existing components. But after some feedback from Alexis and Samuel, I think we are quite done with that part of the project.
I also discovered Simulink with Benjamin. We had a small experience with Matlab, but had never used Simulink before, so that wasn’t really efficient…
Eventually I made a Python script to convert the output of the acquisition discovery card in Matlab input format (.mat) using Scipy and Numpy.
For next week I will have to start to design the PCB by connecting the different components together. I will also work with Benjamin on creating a complete test of the algorithms on Simulink.
That would be great if we could also work on how Simulink exports the signal processing chain to C, and how we will be able to integrate this C code in our project.
First of all, I want to give you some news about the plant I bought last saturday. It’s pretty nice and would have been perfectly tailored for our project except for one detail. Indeed, unfortunately, it moves its leaves alone: from horizontal during the day, they go vertical for the night. This video shows it very well. So this plant will remain in my living room and we will have to find another one for our project. Maybe another Calathea or a banana tree (provided we manage to find one in Paris or nearby).
On a more technical point of view, this week has been dedicated to the choice of the components, because nothing else can be done before. I’ve searched an appropriate capacitive proximity sensor and found 3 possible ones. Alexis helped us to do the final choice by quickly eliminating the 2 first, because of the sensor design needed. So, we’ll use one from TI (FDC2214). In order to check that it can do the job, we ordered an evaluation board with this component. We received it Friday morning and I tested it Friday evening. The result is quite impressive, even if I haven’t done any tuning yet (see the image on the right)!!
For the ligthning, I called 2 companies (MidlightSun & Luxeri) to ask them about what they can propose us. Midlight Sun is too expensive but Luxeri isn’t. So we’ll order diffusing optic fiber. We don’t know what diameter to choose as they have from 0.25 to 2mm. If possible, we’ll order a sample of 1mm and one of 2mm of diameter to test which one is the most suitable. In order to illuminate them, we have to find a proper RGB LED, but we have no idea of the required power. I’ve found this one and this one which seem rather powerful. A test will be needed to choose.
For the other components, we’ve chosen:
- for moving the leaves, we’ll use Flexinol (also called muscle wire), a wire that shortens when heated.
- for communication, a Wi-Fi module (Zentri AMW007)
- a portable speaker (many exists, so we’ll take the easiest to find nearby)
- an audio codec (TLV320), found by Tanguy
Next week work:
- test different sensor shapes for the capacitive sensor and tune the settings
- order samples to test (optic fiber and LEDs)
- select a processor
- decide if we add BT (or BLE)
- select a battery (if possible, because it depends a lot on the LEDs we’ll choose)
- start the PCB design
We are exploring several solutions to locate the robots on the dance floor :
- camera filming and real time object tracking with openCV
- relative location with 3 modules at 3 corners of the dance floor : each robot would have a Decawave chip
- the two solutions combined
Of course, if the solution is expensive it could limit our number of robots.
We discussed about communication between the robots and the main server, we found chips regrouping radio and location solutions and we almost decided to use a nRF24L01+ from Nordic mainly because of the costs.
About the MCU we thought about taking the STM32F030K6T6TR
We also discuss with Sam and Alexis about all our first choices for the battery, the motors… we are moving forward 🙂 but we still have work, we want to maintain the cost low to produce as many robots as we can.
That’s all for this week. We hope to finish this part before the end of the week.