Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

SIAR V2 - ROS 2 Humble Architecture

Autonomous navigation, sensor integration, and hardware control stack for the SIAR 6WD skid-steering mobile robot. This architecture was designed and developed during a 6-month robotics engineering internship at IDMind (Lisbon) as part of the Polytech Lyon curriculum.

Overview

This repository contains the complete ROS 2 (Humble) migration and feature integration for the SIAR robot. The architecture handles robust outdoor autonomous navigation, ensuring strict hardware safety, high-precision localization, and multi-sensor perception.

Hardware & Network Configuration

  • Robot IP Address: 192.168.2.158 (Ethernet).
  • Camera Array (Astra): The robot features 6 depth cameras. Orientation is based on facing the front of the robot (the front-right camera corresponds to the user's right).
    • Front Left: SN 17122430714 | Front Mid: SN 17122831255 | Front Right: SN 17030710023.
    • Back Left: SN 17122830006 | Back Mid: SN 17122830911 | Back Right: SN 17122430299.

Workspace Packages (src/)

The workspace is divided into the following ROS 2 packages:

  • astra_multicamera: Launch files and configurations for synchronizing the 6-camera array.
  • foxglove-sdk: Integration SDK for real-time telemetry and visualization via Foxglove Studio.
  • idmind_motors: ROS 2 drivers for the Motors Board.
  • idmind_msgs: Custom ROS 2 messages and services definitions.
  • idmind_navigation: ROS 2 control nodes for for navigation and odometry.
  • idmind_sensors: ROS 2 drivers for the internal Sensors Board.
  • idmind_serial2: Auxiliary package for serial communication with embedded devices.
  • idmind_siar: Main bringup package containing system-wide launch files.
  • idmind_teleop: ROS 2 package for the F710 controller, handling manual override via twist_mux.
  • ros2_astra_camera: Base ROS 2 hardware drivers for the Orbbec Astra cameras.
  • siar_description: URDF, Xacro files, and 3D meshes for the robot's TF tree and Gazebo simulation.
  • siar_imu: ROS 2 drivers for the SIAR IMU.
  • siar_perception: Pointcloud and vision processing nodes for obstacle detection.
  • unicore-um982-ros2-driver: Custom C++ parser and serial driver for the RTK GNSS module.
  • ydlidar_ros2: 2D LiDAR drivers.

Quick Start & Initialization

By default, the robot launches its software stack at boot using a systemd service. To perform manual launches or development, you must first stop and disable the service:

sudo systemctl stop siar_robot.service
sudo systemctl disable siar_robot.service

1. Launching the Real Robot

source ~/ros2_ws/install/setup.bash
ros2 launch foxglove_bridge foxglove_bridge_launch.xml port:=8765
ros2 launch idmind_siar siar.launch.py
ros2 launch ydlidar ydlidar_launch.py
ros2 launch astra_multicamera siar_cameras.launch.py

2. Gazebo Simulation

export GAZEBO_MODEL_PATH=/home/siar/ros2_ws/src/idmind_navigation/models
gazebo --verbose ~/ros2_ws/src/idmind_navigation/maps/corridor.world -s libgazebo_ros_init.so -s libgazebo_ros_factory.so
ros2 run robot_state_publisher robot_state_publisher --ros-args -p robot_description:="$(cat ~/ros2_ws/src/siar_description/urdf/siar.urdf)" -p use_sim_time:=true
ros2 run gazebo_ros spawn_entity.py -entity siar -file ~/ros2_ws/src/siar_description/urdf/siar.urdf -x 0.0 -y 0.0 -z 0.1
ros2 launch idmind_navigation nav2_bringup.launch.py use_sim_time:=true

Outdoor Mapping & SLAM Workflow

Due to computing constraints, outdoor mapping is performed by recording a rosbag and running SLAM offline.

1. Record data outdoors:

ros2 bag record -o scan_exterieur /scan /imu/data /tf /tf_static

2. Playback and generate map (Offline):

ros2 launch foxglove_bridge foxglove_bridge_launch.xml port:=8765
ros2 launch idmind_siar siar_cartographer.launch.py use_sim_time:=true
ros2 bag play scan_exterieur --clock --topics /scan /imu/data /tf_static

3. Save the map:

ros2 run nav2_map_server map_saver_cli -f ma_carte_finale

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages