As most of you probably know, Combine has hosted several master thesis works during the last few years, e.g. the hexacopter and hexapod in Lund, the balancing cube in Gothenburg and the ROV in Linköping. For more info on these, and other, thesis works, go to www.combine.se/projects/. For the students, this is a great opportunity to use what they have learned during their studies to complete a highly challenging project, with the assistance of some of the best engineers in the field, while getting an insight into the working experience at Combine. For Combine, this is a chance to interact with talented students, and to test and introduce new concepts which our clients may benefit from. A real win-win situation! However, not only do we host master thesis works, we also collaborate with students in other projects. One such project is currently being conducted in Lund with students from the department for automatic control at LTH.
The project uses the hexapod as one of two independent robot systems. The other system is a small quadcopter, Parrot BEBOP2, equipped with a full hd camera. The main objective is to enable the quadcopter to land in uneven terrain. To achieve this, the quadcopter act as master, sending a landing position to the hexapod. The hexapod should move to the landing position and switch to balancing mode, making sure that the quadcopter has a horizontal platform when landing. This is a small-scale, but complex, project with many possible applications. If, for example, the hexapod was equipped with an inductive charging station, the robots could comprise a fully autonomous high range unit. The balancing of a landing platform could also be applied when landing a helicopter in rough conditions, or as a part of a reusable launch system, such as the SpaceX Falcon.
Within this project, the students face several challenges. For the quadcopter, these include position control and position estimation. The position control must take into account both altitude, to maintain a set altitude while flying and to land on the hexapod, and positioning in the horizontal plane, i.e. to reach the landing site where the hexapod is positioned. The position estimation algorithms must estimate the quadcopter position using only the onboard camera, in combination with reference markers in the room and on the hexapod, since no external measurement system is available (as is often the case). A simple pinhole camera model is straightforward enough to solve but since the quadcopter is free to rotate in yaw, pitch and roll directions, the complexity increases. When adding image noise and other disturbances to this, as well as timing requirements, it is evident that it will take much effort to develop efficient algorithms for the position estimation. For the hexapod, the main challenges are controlling the velocity, including direction, to reach the target position and efficient handling of the balancing mode once the target position has been reached. Finally, the communication between the robots must be solved in an efficient way.
The students are adopting the model based design (MBD) workflow, which I am sure will help them immensely. Despite initial delivery problems with the hardware, they are still making progress since they have been able to develop algorithms and testing them in MATLAB/Simulink, applying noise and filters to achieve good performance. Even when the hardware is available, the development will benefit from MBD. For example, testing experimental positioning algorithms in the quadcopter for the first time may prove to be an expensive and physically painful experience. Of course, the code is automatically generated, to reduce development time and to ensure code quality.
The project is not due until January next year and the plan is to revisit the project in another post. I for one am very excited to see the results!