Coder Social home page Coder Social logo

eshjordan / mobile-robotics-fyp Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 31 KB

ROS 2 Colcon workspace for use in modelling and testing coverage problems with distributed, lazy agents with event-driven communication.

License: GNU General Public License v3.0

Shell 65.31% Dockerfile 34.69%

mobile-robotics-fyp's Introduction

mobile-robotics-fyp

ROS 2 Colcon workspace for use in modelling and testing coverage problems with distributed, lazy agents with event-driven communication.

Preferred Development Workflow

Step 1 - Install Docker. Step 2 - Use VS Code's Dev Containers feature to automatically setup the development environment. If not already installed, add the extension ms-vscode-remote.remote-containers. When prompted, open the workspace in the container, and you will be good to go.

Installation

Install ROS 2 Rolling Ridley on Ubuntu 24.04

https://docs.ros.org/en/rolling/Installation/Ubuntu-Install-Debians.html

locale
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
locale

sudo apt install software-properties-common
sudo add-apt-repository universe

sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

sudo apt update && sudo apt install ros-dev-tools

sudo apt update
sudo apt upgrade

sudo apt install ros-rolling-desktop-full

echo "source /opt/ros/rolling/setup.bash" >> ~/.bashrc
source ~/.bashrc

Install Webots

https://www.cyberbotics.com/doc/guide/installing-webots

glxinfo | grep OpenGL # Check the output contains "NVIDIA", "AMD", or "Intel", otherwise install the appropriate hardware accelerated driver

# Check if compiz is running, disabling it can significantly improve Webots rendering performance
ps -A | grep compiz

# If it is, disable compiz desktop effects (somehow using unity-tweak-tool)
sudo apt install unity-tweak-tool unity-lens-applications unity-lens-files
unity-tweak-tool

# Get the Webots keyring and add the repository to the sources list
sudo mkdir -p /etc/apt/keyrings
cd /etc/apt/keyrings
sudo wget -q https://cyberbotics.com/Cyberbotics.asc

echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/Cyberbotics.asc] https://cyberbotics.com/debian binary-amd64/" | sudo tee /etc/apt/sources.list.d/Cyberbotics.list
sudo apt update

# Install Webots
sudo apt install webots

Webots ROS 2 Interface

https://docs.ros.org/en/rolling/Tutorials/Advanced/Simulators/Webots/Installation-Ubuntu.html

sudo apt install ros-rolling-webots-ros2

Workspace Setup

Install clangd for formatting and linting, and all dependencies of the packages in the workspace

sudo apt update && sudo apt install clangd-16 clang-tidy-16 clang-format-16
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src -r -y

Testing

https://cyberbotics.com/doc/guide/epuck?version=R2023a

Use either e-puck2.wbt or e-puck2_server.wbt as the world file

  • e-puck2.wbt: "simple example of collision avoidance behavior using a Braitenberg based controller. This is done using the distance sensors of the e-puck."
  • e-puck2_server.wbt: "robot running a controller that implements a TCP/IP server emulating the e-puck2 Wi-Fi protocol. Allows users to test the behavior of the simulated e-puck2 robot with the TCP/IP Advance Sercom protocol commands."

mobile-robotics-fyp's People

Contributors

eshjordan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.