Skip to content

Latest commit

 

History

History
76 lines (48 loc) · 3.74 KB

README.md

File metadata and controls

76 lines (48 loc) · 3.74 KB

Foundations of Robotics Lab Notebooks

Binder Open In Colab Open in Visual Studio Code

These Python Jupyter notebooks are designed for academic teaching laboratories in robotics, using Gazebo for simulation up to physical deployment on robotic platforms. The students are not expected to install or deploy the required ROS workspace on their personal computer, but rather use lab resources at the university. The laboratories were designed at École de technologie supérieure, in Montréal, Canada, and adapted for the University of Canberra. Robotic platforms are available for the students to test their algorithms along with shared laptop stations.

Prerequisites

The notebooks are designed to be used with a ROS workspace that contains the following packages:

Projects

Installation

ROS

The software requires ROS to be installed to use the rospy libraries. Follow the instructions for ROS Noetic on the official website.

Virtual Environment

Setting up a python virtual environment for can be useful in some development situations. Run the following command in a terminal at the top level of this git repository.

# create virtual environment
python3 -m venv .venv

# linux
source .venv/bin/activate

pip install -r requirements.txt

Running the code

The code is provided as Jupyter notebooks. In a terminal at the top level of this git repository, run the following.

source .venv/bin/activate

# start a jupyter notebook server
jupyter lab --ip=0.0.0.0 --port=8888
# open a web browser to the address provided in the terminal
# for example: http://localhost:8888/lab?token=...

# or run a voila server for the UI only version
voila . --port=8866

Contributing

Contributions are welcome. Please read the contributing guidelines for more information.

Found an Issue?

Fork Open Issue

Fork the repository, make a pull request or open an issue. Contributions are welcome.

Experimental Software Disclaimer

The contents of this source is provided in an experimental state and does not guarantee safe or correct operation.

The contents of this source is subject to change, without prior notice. Any available APIs are to be considered unstable and are not guaranteed to be complete and / or functional.