Skip to content

Project #4: MicroROS Controlled Differential Drive Bot

Muhammad Luqman edited this page Dec 21, 2023 · 8 revisions

Issue Link #4

This projects runs on ESP32 using Platformio. We will drive our robot over WiFi usinf MicroROS interface

Requirments

Software

  • VScode
  • Platformfio extension
  • UBUNTU 22.04 LTS
  • ROS2 Humble

Hardware

Installations

  • Clone repository
    git clone -b running_projects https://github.com/Robotisim/mobile_robotics_ROS2.git
    
  • Open MicroROS_bot package in Vscode to intiate Platformio
  • ROS package managers install
    sudo apt-get install python-pip
    sudo pip install -U rosdep
    sudo rosdep init
    rosdep update
    sudo pip install -U rosinstall vcstools rospkg
    
  • MicroROS Agent into a ROS2 workspace and build
    git clone -b humble https://github.com/micro-ROS/micro_ros_setup
    colcon build --parallel-workers 2
    
  • Build Agent
    source install/setup.bash
    ros2 run micro_ros_setup create_agent_ws.sh
    ros2 run micro_ros_setup build_agent.sh
    
  • Upload MicroROS based code into MicroController by pressing "->" on PlatformIO
  • Start Agent Serial ( USB)
     ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/ttyUSB0
    
  • Start Agent Wifi
    • Start Agent
      ros2 run micro_ros_agent micro_ros_agent udp4 --port 8888
      

Learning Outcomes

  • MicroRos interface for ESP32
  • Robot Wireless Driving
  • Custom Libraries Integeration