Planned x Worked Hours:

Member Planned Hours Worked Hours
Gabriel 14 hours and 12 minutes 34 hours
Pedro 13 hours and 36 minutes 25 hours
Patrick 16 hours 46 hours
João 15 hours and 30 minutes 33 hours
Luiz 12 hours 23 hours
TOTAL 70 hours and 28 minutes 161 hours

Project Overview:

                                                                        Figure 1 - Project Overview

                                                                    Figure 1 - Project Overview

Full Integration Presentation

Below is a single, continuous step-by-step flow describing the full integrated operation of our project — from powering on the robot, through mapping and data upload, to a visually impaired user receiving turn-by-turn guidance on the mobile app.


System Power-Up and Preflight (Robot Side)

  1. Verify that all USB cables are connected to the Raspberry Pi, and turn the Pi switch ON.

  2. Turn the motor batteries ON.

  3. Boot sequence:

    1. Wait approximately 5 minutes for the robot to boot.

    2. Connect remotely from a host computer using SSH:

      ssh jp@rasp-inloco.local
      
  4. Place the robot at the desired starting location for mapping. You will need to recall this position later, so choose a recognizable spot, preferably near walls or objects that provide good visual features for SLAM to anchor the robot’s position accurately.

  5. Start the mapping phase using ROS commands, controlling the robot with keyboard_teleop.

    Terminal 1 - Launch system

    export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
    export FASTRTPS_DEFAULT_PROFILES_FILE=~/Documents/Oficina3/rasp-inloco/ros2_ws/fastdds_no_shm.xml
    cd ~/Documents/Oficina3/rasp-inloco/ros2_ws
    source install/setup.bash
    ros2 launch motor_teleop motor_control.launch.py use_imu:=t
    

    (Wait 10 seconds) Terminal 2 - Activate SLAM

    cd ~/Documents/Oficina3/rasp-inloco/ros2_ws && bash activate_slam.sh
    

    (Wait for SLAM activation to complete) Terminal 3 - Activate Twist Mux

    export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
    export FASTRTPS_DEFAULT_PROFILES_FILE=~/Documents/Oficina3/rasp-inloco/ros2_ws/fastdds_no_shm.xml
    cd ~/Documents/Oficina3/rasp-inloco/ros2_ws
    source install/setup.bash
    ros2 run twist_mux twist_mux --ros-args --params-file ./src/motor_teleop/config/twist_mux.yaml -r cmd_vel_out:=cmd_vel_rpm
    

    Terminal 4 - Keyboard Control

    Use this terminal to control the robot using the host keyboard arrow keys.

    export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
    export FASTRTPS_DEFAULT_PROFILES_FILE=~/Documents/Oficina3/rasp-inloco/ros2_ws/fastdds_no_shm.xml
    cd ~/Documents/Oficina3/rasp-inloco/ros2_ws
    source install/setup.bash
    ros2 run motor_teleop teleop_keyboard.py --ros-args -r cmd_vel:=/cmd_vel_teleop -p max_speed:=80
    
  6. Open Chrome and access the Foxglove web application.

  7. In Foxglove, connect to the robot’s IP address.

Obstacle Mapping Run

  1. Start the exploration:
  2. When the SLAM process is complete, press M to save the map locally in the Pi’s ~/maps folder.

Outputs: