This creates a floating frame with caption below For best results, attach .jpg or .png which has been resized about right
On this page... (hide)
Updated regularly during summer 2018 to keep track of my discoveries.
Today Sam and Tony showed me their research and progress, which were quite exciting.
- Sam was working on a teleoperated needle manipulator for real-time image-guided procedures in an MRI. He showed me several projects he had been working on towards this goal. One approach was using a rolling-diaphragm hydrostatic system to transmit force, but the downside was the diaphragm was too short to offer enough manoeuvring space for practical operations. To solve this, Sam tried glass-syringe which enabled him to exert a force along a curve, and also gave more room to operate. The latter approach also had less friction so that the operator could feel the response from the other end better.
- He started with different directions to solve the problem and worked on smaller projects to resolve issues that were raised during his research. For example, for the active approach which needs the motor to be compatible with MRI machine, he has to use a pneumatic motor.
- Tony also introduced me to the Gecko adhesive he was working on. It was quite intricate to machine, caste, assemble and CNC, but the application was impressive. The non-sticky flat adhesive relied on van der Waals force to provide pure sheer force to adhere to a surface. They will use it on a robotic gripper.
- Today I tried to set up Crazyflie client on my Mac so that I can control it. I first installed Virtual Box so that CFC could run in a virtual machine there. I also installed FTDI driver so that my computer could recognize Crazyflie. Then, I connected the video PA and game controller to my computer and also turned the Crazyflie device itself on. However, when I ran the client inside the VM, the radio PA didn't get recognized and I thus couldn't talk to the Crazyflie through the computer.
- Mark and Stefanie helped me a lot today solving various problems that came up with setting up. We first thought that the radio PA was broke since the connection between the board and its USB port looked fragile. We then tried some other PAs on Stefanie's computer, and some of them worked. Mark also gave me another Mac running Linux to try to install VM again, but it also didn't work. He also suggested other methods that we could use to communicate with Crazyflie. I then tried to another way to install CFC, which is through its source code. I tried that and it finally worked, and I could control the Crazyflie with my computer.
- During a day of setting up software, Tony showed me how he cast gecko adhesive. He took the mould and poured two-part silicone into it. The silicone had been vacuumed to remove bubbles so that the resulting film would be thin and smooth. The adhesive would attach to a layer of fibreglass, which had been put on top of the mold. After overnight curing, Tony would put the mold in water to separate the product.
- We started the day with a lab meeting, where Mark introduced to us an artificial crocodile a lab at EPFL made. He then compared it to the force control of a Stickybot, which simulated a gecko. After the meeting, we spent the majority of the afternoon cleaning up the lab. I chose a cabinet where all the mechanical parts like screws, fasteners, and springs were stored. Frances helped me with organizing all the parts and labelling the boxes. I realized that experience did help a lot in a task like this, as evidenced in that Tony could tell the size of a metric at first glance. We thus also recruited him to help us.
- Today we first had the SURI meeting where we talked about the final poster session where we were going to present our research at the end of the summer. Then back to the lab, Mark gathered Stephanie, Will, Matt, and I to start planning a new project where a drone could perch on vertical surfaces like a wall or tree trunk and branches, and potentially also the ceiling.
- Will showed me our inventory of drones including Parrot Mambo, BeBop, Bebop2, Swing, AR2, etc. We tried to come up with the criteria for a drone that would fit our project. It couldn't be too large, otherwise, it would be hazardous to have it smashing into the wall. It couldn't be too small, like the Crazyflie, either. This is because the drone needs to carry sensing elements that would enable various applications. Also, smaller drones tended to be unstable, as we have seen with Crazyflie.
- We also talked a bit more about the mechanical part and transmitting signals, where Stephanie and Will were skilled at after ME218.
- Today is mostly spent laying out the roadmap for the project. We first considered the weight and size budget for the drone including the sensors and batteries. The number finally came to be between 200-500 grams. We laid out other requirements for the quadrotor as well. We also examined vertical vs. horizontal grasping on the surface and the mechanism for perching. We were planning to do a 3D layout of the whole thing. We also talked about where sensing could come in the structure, including a laser for range sensing, and optical flow for stabilization.
- We decided that the project could be divided into three parts that could be carried out in parallel. First is the platform part, where we were going to figure out the communication and the controllability of the quadrotor. Then, there's the sensing part, where we may use an Arduino program to communicate with the quadrotor. Lastly, the most complicated gripper part. We need to do a 3D layout to find the constraints and also get material build and test it. Eventually, we are going to integrate the communication and physical parts, and write a paper!
- We also discussed some application ideas for this flying and perching robot, which might include environmental ones like humidity and air quality testing, and also surface roughness measurements.
- On our way to and from Portola Redwoods, I overheard the conversations between some PhD students, namely Tony and Wilson, about their qualification exam. I also heard discussions on robotic conferences, publishing papers, other labs, etc. It was quite fun to learn about the life of a PhD student, the dynamics in a lab, and various career paths people consider to take after graduation.
- Mark also asked us to each jot down some goals for this summer. I found that contrary to what I thought, many people were actually working on several projects at the same time. I also learned that one's thesis was coming up with an overarching theme of all the noteworthy projects that one had done, and also a story to tell about it.
- Today I explored Paparazzi, a UAV simulation platform that allows you to build a flight plan under various conditions. I'm trying to virtually play with the drone while we are waiting for its battery to arrive.
- We have another meeting with Will, Stephanie, Matt, and another SURI student Ryan, talking about the gripping part, the leg, etc., as well as the expectations from my end.
- Today we did another cleaning of the upper cabinets and the electronics. Knowledge of identifying resistance from the strips on the resistors got put into practice!
- I got started with learning ROS, and the ROS package that people put up to control the Bebop, bebop-autonomy. Since our Bebop 2 can't run until next Thursday, I'm also starting with Sphinx, a simulator just for Parrot drones. I'm looking to resolve some technical difficulties that arise.
- I did some more research on ROS, and also shadowed Tony for a bit. He was making some water-soluble gel to use as backing for the gecko adhesive. Even though he looked like he knew his stuff really well, I learned that it was his first time doing that, and he had to ask Arual about how to carry it out. I felt that research as a PhD student was like exploring an almost-unknown territory, and you have to be open to experimentation and lots of failures, and also most importantly, learn from them.
- I met with Stephanie today to get into details on all of the communications going on with Bebop. This link that Mark shared with us guided us through installing quadrotor workspace on Linux. I followed the guide but got stuck with the node graph step. I'm going to follow up tomorrow.
- Stephanie also showed me the gripper she was prototyping. She also put down the mapping for communication between the devices down for me
- We had lab meeting in the morning where Mark showed us all the great things happening in Switzerland.
- We flew Bebop2 for the first time using my phone as a controller. It generated strong wings when taking off or even when hovering. It also drifted a bit when we didn't take controls, but definitely better than Crazyflie. We flew it in the small conference room in the lab but it moved really fast and also in a kind of unexpected way. When we tried to land the drone, it made contact with a box on the ground, and the battery dropped out. I felt it would be much safer to fly it outdoor.
- I then tried to control the drone with a computer by first trying to connect Bebop's WiFi through the Linux MacBook. However, I found that connecting to WiFi on a Linux system wasn't as obvious as it sounds. I went through lots of posts and tutorials teaching us how to connect to WiFi using the command line, but none of them really worked.
- Then Stephanie and I remembered that we still had another Linux computer, and we found that the connection part was such a breeze on that Dell, just like with any other normal computer. However, the problem was that when I saw the Ubuntu version on the Dell was 14, I thought it was too old, and began to upgrade it to 16. I then realized that 14 could still support ROS Indigo, which should satisfy our needs. I thus quit the installation process and carried on with ROS but it didn't work. Since I couldn't really tell whether the problem was from the tutorial or because I started but didn't finish the Ubuntu upgrade. I eventually decided to go with Ubuntu 16 and upgraded the computer, but the original Indigo onboard was no longer supported, and I had to install ROS Kinetic.
- Things didn't settle so easily. The system seemed that it didn't want me to install Kinetic. I'm figuring this out right now.
- Today I came in and found the Dell computer with Linux was completely dead(oops...). Neither the recovery mode or the normal mode could save it. I'm planning to get a bootable USB drive to reinstall Linux on it.
- In all despair, I found that the Mac running Linux could magically connect to Bebop's WiFi! However it was quite unreliable, sometimes showing the selection like in the picture but sometimes doesn't. I had to restart the computer to have it working. I then started working on that system and tried to run Bebop_autonomy but there was some errors when I wanted to launch.