Student project proposals

Student project proposals

Projects may be conducted in groups or individually, and may be modified to suit the students interest, skill and time.

All projects here are aimed at developing the robot body of the Cyborg, built on top of the fully autonomous Pioneer LX base. The robot will roam the hallways of Glassgården, as a campus maskot displaying biological neural network activity thorugh its LED head. The biological activity is obtained via a 60-electrode neural recording device: the MEA2100. We hope through these projects to finalize our robot. The cuurent version looks like this.

Robot Operating System (ROS)

This project utilizes ROS (Robot Operating System) and will be relevant in all the projects below. ROS is one of the most widely used robotic development frameworks, with a very large online community. Learning ROS is great to have in your toolset and CV. If you know C++, Python or Lisp, you should be up and running with ROS in short time.

ROS-based state-machine

The state-machine is the robots main mode of operation. It specifies the robots autonomous behaviours such as:

  • Navigation: where and when to go places
  • Sounds effects
  • LED visualizations

The state-machine is already quite well developed and states are sett based on an emotional system. Improvements need to be made in order to get everything up and running such that the robot can operate autonomously in Glassgården.


1. Control, navigation and state-machine

This project entails working with the Pioneer LX robot and the ROS based system. Tasks will include:

  • Port proprietary navigation to the ROS navigation stack
  • Create a top level controller that sets and switches robot modes of operation:
    • only navigation
    • behaviour without navigation
    • manual operation
    • state-machine
  • Work with project 2 on the state-machine

The project may also entail some embedded/hardware work such maintaining the onboard mode selector.

Keywords: ROS, Python/C++, shell scripts, state-machine, navigation, SLAM, embedded, electronics

2. Behaviour: LED, sound and state-machine

The goal of this project is to give the robot personality. The project entails:

  • Work on the LED dome
    • Software: ROS python node and Arduino code
    • Hardware: ESP32 controller, power supply, ws2812b LED strips
  • Work on the ROS audio node
  • Work with project 1 on the state-machine

Some possible LED dome animations:

  • Visualization of biological neural network: live-stream and csv file
  • Face animations
  • Emergency and construction work lighting
  • Text
  • Random activity
  • Strobe and pulse

Some inspiration: FamiLamp, 16x16x16 LED cube, 10x10x10 LED cube, 500 LED box

Keywords: ROS, Python/C++, embedded, LED, electronics

3. Remote GUI interface

Create a remote GUI interface that allows the operator to monitor and control the robot, The projects entails:

  • Develop a GUI such as a web app or using ROS-RQT
  • Create a GUI client ROS node that serves as an interface between the ROS-based system and the GUI.
  • Work with project 1 on setting up communication between the GUI client ROS node with the controller node described in project 1.
  • Optional: a database to store and plot historical data from the robot.

Some suggested GUI features:

  • Monitoring
    • View operating state: state-machine, manual operation, stopped...'
    • View status information: battery charge, motor status... (optional: plot historical data)
    • View where the robot is in the map
  • Commands
    • Ability to change the operating mode
    • Ability to change state in the state-machine
    • Send robot to location
  • Manual operation:
    • Ability to view live video feed
    • Ability to control the robot using keyboard input
    • Use onboard microphone and speakers for two-way communication

Keywords: GUI, ROS, web app, database, Azure

4. Robot vision

Currently discontinued

Work on the robots object/person detector software using the YOLO neural network framework. This software detects humans in the camera images and sends reletive coordinates to the ROS system. This allows the robot to seek out people to interact with. If the student has experience with 3D SLAM, this can be incorporated alongside the navigational abilites of the the Pioneer LX.

Student Contact

PhD student Martinius Knudsen      
Coordinator robotics


Martinius Knudsen