memristor / mep3

Memristor Eurobot Platform based on ROS 2
https://memristorrobotics.com
Apache License 2.0
32 stars 8 forks source link
behaviortree c cpp eurobot python ros ros-navigation rviz webots

mep3

Memristor Eurobot Platform based on ROS 2 image

Installation

Make sure you have ROS 2 Humble installed and follow the steps below:

# Source ROS 2
source /opt/ros/humble/local_setup.bash

# Create a workspace
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws
git clone git@github.com:memristor/mep3.git src/mep3
# On embedded device: touch src/mep3/mep3_simulation/COLCON_IGNORE

# Install dependencies
sudo apt install python3-vcstool
vcs import src < src/mep3/mep3.repos
rosdep update
rosdep install --from-paths src --ignore-src -r

# Build the packages
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo

# Source this workspace
source install/local_setup.bash

Please check alternative installation methods here.

Bringup

Start the ROS app on a physical robot or a simulation with multiple robots.

Physical

Start the ROS app on SBC (we support Raspberry Pi):

ros2 launch mep3_bringup robot_launch.py bt:=false color:=blue

Important parameters are:

Simulation

Start the simulation on a PC:

ros2 launch mep3_bringup simulation_launch.py

Important parameters are:

Demo

Teleoperation

ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r cmd_vel:=big/cmd_vel

(use i, j, l, and , keys move to the robot)

Visualization & navigation

ros2 launch mep3_bringup rviz_launch.py namespace:=big

(use 2D Goal Pose to navigate the robot)

Tips

Live strategies

To iterate quickly on behaviors you can load any strategy that contains live in the name. As soon as any of the files in the mep3_behavior/strategies directory is changed the behavior node will reload.

Webots world simulation

Testing