ROS2 System Architecture Design for an Open-Field Autonomous Driving Platform (Jetson Orin Nano 8GB)

Job ID: 39953019

Budget: $750 – $1,500 USD

We are developing an open-field autonomous driving platform based on the reComputer J3011B (Jetson Orin Nano 8GB).
The ultrasonic sensor modules have already been developed, and board fabrication and assembly will be handled internally.
This request focuses on the ROS2 layer design, including system architecture, motor control structure, and example code proposals.

Key Requirements
• Centralized control architecture with Jetson as the main controller
• Primary communication via Wi-Fi, with LTE fallback in areas of poor connectivity
• Flexible node design capable of dynamically weighting GPS, IMU, ultrasonic, and CAN data for sensor fusion
• Motor and steering control via CAN-based actuators — define interfaces for speed and steering commands

Deliverables

System Architecture Document – Block diagram and data flow including Jetson, GPS, IMU, ultrasonic sensors, motor/steering control, and CAN interfaces

ROS2 Package & Node Definitions – Topic/service/action mapping among sensor input, fusion, control command generation, motor control, and state monitoring nodes

Communication & QoS Design – Wi-Fi/LTE switching logic and QoS profiles optimized for real-time control

Sample Code – rclcpp-based driver stubs and example publishers/subscribers using sensor_msgs, nav_msgs, can_msgs, and ackermann_msgs, including launch files

Test Scenarios – rosbag recording/playback, RViz visualization, and latency measurement for command–CAN–response pipeline

Environment & Notes
• Target: ROS2 Humble (Ubuntu 22.04), but other LTS recommendations are welcome
• Consideration of multi-threaded execution and Lifecycle Node usage
• Deliverables preferred as a Git repository
• Implementation tips and common pitfalls from real-world ROS integration experience are highly appreciated