From prototyping code to standalone running code using ROS

Finished: 2019-09-20

BSc assignment

At the Robotics and Mechatronics (RAM) group the main focus is on developing and researching robotics. Research is done in several area’s of robotics, for which prototypes are developed. These prototypes are used to validate a certain design. The setup of these prototypes is such that the of the embedded control computer is connected to a development station as this allows for easy testing. This means the prototype is not standalone and cannot be integrated in a larger robotic system. Software like 20-sim allows for easy prototyping of robotics. It allows for easy modelling of complex mechatronic systems and making controller designs. These models can then be used to generate c-code which can be run on hardware in order to quickly test the prototype software. But this required a development computer. Thus software has to be altered in order to make it able to run by itself and integrable in a larger robotic system.

In order to illustrate this, the goal of this project is to convert the generated prototyping code from 20-sim 4c to software which is standalone, using ROS (Robot operating system). For this, the Segways currently used in module 6 will be used. These Segways contain a Raspberry Pi which runs on a custom Linux-based operating system developed, using the Yocto project. The generated code from 20-sim 4c will have to be rebuild to a ROS node. A ROS node is part of the robot operating system which performs computations. ROS can command and control the Segway by itself without a development station. An external computer will only have to provide a few simple high-level commands. Also a second node will be added to drive the Segway automatic in order to illustrate the integration in a larger robotic system.