Mobile robotics python
This repository holds the codebase for maritime robotics and intelligent mobile robotics. The software has been designed as a set of modular classes to enable interoperability between different robot and sensor types.
How to remotely connect to your MR kits
- Install RealVNC viewer in your laptop or machine your are going to use to remotely login to the kit.
- Connect your laptop to a wifi network called "oplab-net". If you are working in a lab session with teachers, we will bring a wireless router that is configured. If you are working on your own, you can use your mobile phone to create a "hotspot". Configure it with a network name "oplab-net" and no password. Your raspberry will connect to this network if available. Make sure you connect your laptop to this wifi.
- Turn on your raspberry, either via the battery or via the mains plug.
- Open RealVNC viewer and setup a new connection to the hostname "sess6072-X.local", where "X" is your kit number (1 to 6).
- When prompted for a username and password, use "robot" and "qwerty" respectively.
How to run
In a console, run the following command to print the help.
mobile_robotics_python -h
You should see the following output:
● ● Ocean Perception
● ▲ University of Southampton
Copyright (C) 2022 University of Southampton
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to
redistribute it.
usage: mobile_robotics_python [-h] [-c CONFIGURATION] [--upload] [--connect] [-v]
Base code for mobile robotics
options:
-h, --help show this help message and exit
-c CONFIGURATION, --configuration CONFIGURATION
Configuration file
--upload Upload current code to the robot
--connect Connect to the robot
-v, --verbose Set the verbosity level
The program requires you to provide a configuration file, which are by default stored at src/mobile_robotics_python/configuration
.
- For mobile robotics, use the file
pitop_robot.yaml
. - For maritime robotics, use the file
mrbuild.yaml
.
We recommend you to copy the file to you home directory and edit it as you require.
To start the program with your configuration file, you will need to run the following command in the robot rasbpberry pi
mobile_robotics_python -c path/to/configuration/file.yaml
What should I modify to implement a new algorithm?
- To implement a new localisation driver: use the templates in
src/mobile_robotics_python/localisation_solutions
such asextended_kalman_filter.py
,particle_filter.py
orslam.py
. - To implement a new navigation driver: use the template in
src/mobile_robotics_python/navigation_solutions
namedline_of_sight.py
. - To modify the main robot behaviour: modify the
Robot
class in the filesrc/mobile_robotics_python/robot.py
.
How to install
Note: this software is already installed in your kits. You do not need to install it again.
git clone git@github.com:ocean-perception/mobile_robotics_python.git
cd mobile_robotics_python
pip install -U --user -e .