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 the 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 whos current version looks like this.
Robot Operating System (ROS)
This project utilizes ROS (Robot Operating System), and working with ROS is relevant in several of the below projects. 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 faily quickly.
This project entails working with the Pioneer LX robot and the ROS based state-machine. The state-machine is already well developed, the task now is to get everything up and running so the robot can operate autonomously in Glassgården. This project aims to finish this work into our final product. The modules of the state-machine are:
- Navigation (using the ros-ARNL library from MobileRobots)
- Sounds and music
- LED visualization
The project also entails working with the onboard Arduino mode selector which enables choose the operation mode of the robot (state-machine, manual operation etc.).
Keywords: ROS, Python/C++, Linux scripts, state-machine, embedded, electronics
LED head animation
In this project you will work on the robots LED head/dome which displays animations on the robot such as
- Visualization of biological neural network data from a csv file
- Visualization of biological neural network from a live-streaming server
- Face animations
- Red/blue emergency lights
- Random activity
- Anything else you want to implement
The LED module should communicate with the ROS state-machine described above.
- ws2812b LED strips (791 LEDs)
- ESP32 controller (Arduino compatible)
- Power supply
- remap (Golang) server converting raw electrode data from the MEA server (MEAME2) into spike buckets
- visualizer (Python + Arduino) that reads spike data from the remap server or a standalone csv file and converts into LED visualizations. Also supports simple animations.
Remote GUI interface
Create a remote GUI interface that allows the operator to monitor and control the robot through ROS-RQT or a web browser interface. Desired features:
- Ability to view where in the map the robot is
- Ability to view operating state: running state.machine, manual operation, stopped etc.
- Ability to change this operating state
- Ability to view which state-machine state it is in
- Ability to change state-machine state
- Video feed and control
- Ability to view live video feed
- Ability to manually control the robot using live video feed and keyboard
- Use onboard microphone and speakers for two-way communication
- Monitor battery state and other information
Keywords: client-server, GUI, camera
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.