07/28/2017 at 18:05 •
We have been thinking on the problems that the project has. It works, more or less, but it isn't pretty nice, so we want to improve it, changing some things that we think are wrong or, at least, are not so good as they could be.
We want to make Phoebe more robotic than it is, so we are going to give her some sensors and the capability of analyses them. That will be used for the trajectory generation software.
But, before we can do it, we have to turn up all the basic systems. These are the lists of things we will do with the project from now.
Things we have to do (fix):
- Re-building of the whole structure. Evaluating the possibility of doing it with thermoformed plastic, taking the old structure as mould model.
- Raspi-ESC electronic interface (3.3V logic to 5V logic). It seems it will be done by using a few transistors (bc535, b545, irfz44n) and not much more.
- Attachment of the components (Raspberry, batteries and other internal elements) to the structure with Velcro or some adhesive.
- Hermetic box for critical electronic components.
Things we want to do (improve):
- Accelerometer, water detector and other sensors have to be added for the control and automation of the system.
- Better control using the interfaced made. We are thinking on implementing a PID control in two pieces: linearising the exponential curve that models each propeller.
- Trajectory Generation. Thus, Phoebe could follow the way indicated from a computer.
- FPV improvement. It is desired to add two servos to the camera, so that it will be possible to turn it to the wanted direction.
Advices are appreciated !
06/12/2017 at 19:43 •
After doing the tests we do at High Engineering School of Seville, an issued occurred. The protection structure moved forward, so the adjusted distance to the propeller was reduced and it all crushed. You can see it in the video below.
The condition of the motor is so bad. The wires get twisted and forced, so that, now they have copper visible. We have fixed it, more or less:
We took out the insulation plastic, un-twisted the wires, added new thermo-retractable insulation and it is more or less well again.
Although the result seems to be good, we are going to leave it for secondary tests. We don`t trust it a lot, because it is a little tieso. We will check it later.
06/11/2017 at 21:35 •
The AdHoc script which you can find in github Phoebe-Adhoc, is valid for both computer and Raspberry sides. It detects itself what part is running it. This is done looking at the core, so you have to check if the code of your Raspberry is BCM2708 or BCM2709. If yours is not one of these, you have to add it in the lines 40 of ahon.sh (Adhoc on) and lines 31 of ahoff.sh (Adhoc off). It looks like..
grep 'BCM2708' /proc/cpuinfo && PI=true grep 'BCM2709' /proc/cpuinfo && PI=trueAdhoc will be explained better in the instructions, but the basic idea, if don-t know it, is a Internet connection based in nodes, without any router, so you can connect two computers directly using the wi-fi modules they have.
Once we turned on Adhoc, we first easily checked it with the command iwconfig. Others connections are turned off with our script, so the unique connection we had to pay attention was that. Is so important to check that, with iwconfig, a cell is shown in the adhoc connection. It means that almost everything is ok.
After one or two corrections in the script, we could make a ping check. So, it works !
Note. Adhoc connection is important because is what we use for both TCP and UDP connection. TCP for control, UDP for monitoring.
If you know about others ways or you think something can be done better, let me know !
06/11/2017 at 18:30 •
So we decided to 3D print the main structure of Phoebe, the hull with some pieces to line up, the motor support and two protection rings for the fans. The full print was around 60h of printing in 3 deferents machines, an ultimaker original for the fan cover and the line up pieces, other machine made in the fablab for some clips for the cover of the hull, and the hull was fully printed in the reliable P-minifab designed and build there.
The assembly of the 3D printed parts was made with two different welding technique, friction welding with a dremel tool and adding fused material with a 3D pen. The decision to use this techniques was simple, is better to fuse differents layers with the same plastic than adding glue from other material.
At the end in order to ensure the protection from the fans and to cover the cavity of the hull we add a different fan cover that was laser cut from 5mm MDF.
We still have to add the resin and fiberglass for claiming impermeability, so we could do the water tests.
06/11/2017 at 17:35 •
The streaming has been done, for now, with the program ffmpeg, installed in the Raspberry and computer both parts. The installation way can be seen in the phoebe github, in the ffmpeg folder. One of the texts are the instruction. I will write another instructions more detailed later.
Once installed, you only have to configure the program to take the video data from your webcam and pass it in rtp protocol (that uses UDP protocol) to the destiny IP address, followed by ":" and the port to which you want to transmit.
This is the command I used:
ffmpeg -f v4l2 -framerate 60 -video_size 640x480 -i /dev/video0 -tune zerolatency -f rtp rtp://192.168.1.191:1234
The framerate have been put to the maximum since, with udp protocol, a lot of data is lost in the way, so you have to send as much as you can for receiving a decent quality image in the computer.
The IP address taken was the IP which the computer had with the AdHoc connection, that will be explained in the instructions later.
These are the results:
The latency is about half second. The quality is so low, so we have to improve it. More ways will be tested with the same or different programs (We accept suggestions !).
06/10/2017 at 17:04 •
Two weeks ago, we tried to turn on the motors, supplying them with a 10A 12V power source. The power it gave was not enough for both motors, so we had to try to test them one each time.
-ESC calibration fails several times with the Raspberry Pi 3b software generated PWM. We were using 10A Turnigy Speed controllers back that. Calibration is done by giving it the higher voltage value until it beeps, and then, turning it into the lower voltage value used (look a the SimonK archive for the calibration of the 20A ESC). The beep code depends on the ESC used, so be sure you are using the one of your ESC.
We could finally got it with the first one. The results can be watched here:
With the second one, there were several calibration problems. It seems to be due to the bad PWM generated by Raspberry Pi 3B software.
The speed controller thought we were trying to make him works rather than calibrating, so...
- 10A Turnigy ESCs seems to not be able to control the power of these motors. In the second video this fact is obvious. So it is necessary to change to 20A ESCs for managing enough intensity.