Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

RAIL INSPECTION WORKSPACE

A rail-bound AGV for track, cable, and tunnel inspection.

ROS2 C++ Docker Dev Containers License: MIT


Runs on rails, so it never needs path planning or steering - just speed control along a fixed line. GPS is used for position logging to the command center rather than navigation. The interesting work is perception: a thermal PTZ camera and a top-facing lidar do the actual inspecting.

Packages

Package Language Description
railis_sensors C++ Raw hardware I/O: F9P RTK GPS, NTRIP client, thermal PTZ camera. Lidar comes in via the livox_ros_driver2 submodule under extras/.
railis_description URDF TF tree between base_link and every sensor frame (GPS, lidar, thermal camera). Placeholder shapes/offsets until measured on the physical chassis.
railis_localization C++ EKF fusing gyro (from the lidar's onboard IMU), GPS, and wheel odometry - drift-corrected position, heading, and speed.
railis_controller C++ Slew-rate-limited, fuzzy-gain PID speed control.
railis_perception Python Thermal + lidar inspection nodes - currently skeletons (subscriptions wired up, detection logic TODO).
railis_bringup - Launch aggregator - brings up everything above with one command.

Dev environment - already set up

This repo ships a complete, ready-to-use ROS2 Humble dev environment in Docker - Ubuntu 22.04, full GUI over VNC (RViz2, rqt), SSH, and a tmux session, all wired together. Nothing to configure beyond .env.

VSCode users: .devcontainer/devcontainer.json is already configured (ROS, C++, Python extensions preinstalled) - just reopen the folder in a container after ./scripts/init.sh, no extra setup.

Terminal/tmux users: ./scripts/dev.sh covers the whole workflow (up, ssh, build, test, tmux) - no docker exec incantations to memorize.

./scripts/init.sh      # writes .env
./scripts/dev.sh up    # or up-linux on Linux
./scripts/dev.sh ssh   # lands in the workspace with ROS2 sourced

Full setup, all commands, and troubleshooting: docker/README.md

Quickstart

Once inside the container (either path above) with the workspace sourced:

git submodule update --init extras/livox_ros_driver2
cd extras/livox_ros_driver2 && cp package_ROS2.xml package.xml && cd -

colcon build --packages-skip livox_ros_driver2   # first pass, see note below
colcon build                                      # once Livox-SDK2 is installed
source install/setup.bash
ros2 launch railis_bringup bringup.launch.py

livox_ros_driver2 needs Livox-SDK2 installed system-wide before it builds - see its own README under extras/livox_ros_driver2/.

Each package's own README has its setup checklist (credentials, channel IDs, calibration) - start with railis_sensors/README.md.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages