|
mep3 repositorypython c cpp ros eurobot rviz behaviortree webots ros-navigation mep3_behavior mep3_bringup mep3_controllers mep3_hardware mep3_localization mep3_msgs mep3_navigation mep3_simulation |
Repository Summary
| Description | Memristor Eurobot Platform based on ROS 2 |
| Checkout URI | https://github.com/memristor/mep3.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-05-04 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | python c cpp ros eurobot rviz behaviortree webots ros-navigation |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mep3_behavior | 0.1.0 |
| mep3_bringup | 0.0.0 |
| mep3_controllers | 0.0.0 |
| mep3_hardware | 0.0.0 |
| mep3_localization | 0.0.0 |
| mep3_msgs | 0.0.0 |
| mep3_navigation | 0.1.0 |
| mep3_simulation | 0.0.0 |
README
mep3
Memristor Eurobot Platform based on ROS 2

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
⚠️ Recommended: 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:
-
namespace: Whether to load a configuration for a big or small robot (can bebigorsmall). -
color: Team color (can beblueorgreen). -
bt: Whether to run a behavior tree (can betrueorfalse). -
strategy: Name of the behavior tree you want run.
Simulation
Start the simulation on a PC:
ros2 launch mep3_bringup simulation_launch.py
Important parameters are:
-
color: Team color (can beblueorgreen). -
bt: Whether to run a behavior tree (can betrueorfalse). -
big_strategy: Name of the behavior tree you want run for the big robot. -
small_strategy: Name of the behavior tree you want run for the small robot.
Demo
Teleoperation
[!NOTE] Run simulation without behavior tree
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
- Open
mep3_simulation/webots_data/worlds/eurobot.wbtin Webots
webots ~/ros2_ws/src/mep3/mep3_simulation/webots_data/worlds/eurobot.wbt
- Stop simulation and set time to
00:00:00 - Save changes
- Commit all changes except for
Viewpoint
Testing
File truncated at 100 lines see the full file