JetPackJoyRide
|
This ROS2-based system runs on a Jetson Nano and processes camera input to detect lane markings and control vehicle motion accordingly. The system consists of multiple nodes that handle image capture, lane detection, motion control, and visualization.
camera
)Function: Captures image frames and publishes them.
/image_raw
(sensor_msgs::Image)classic_vision
)Function: Processes raw images to detect lane markings using OpenCV.
/image_raw
(sensor_msgs::Image)/lane_position
(custom message)low_canny_threshold
/ high_canny_treshold
: Edge detection parametershough_transform_params
: Line detection parametersmax_detected_lines
max_line_gap
mine_line_length
rho
classic_vision
)Function: Processes raw images to detect lane markings using TensorRT.
/image_raw
(sensor_msgs::Image)/lane_position
(custom message)image_publisher
)Function: Auxiliary node for testing image data flow.
/debug_image
(sensor_msgs::Image)image_name
: image from assets folderlane_msgs
)Function: Defines custom message types for lane detection data.
LanePosition.msg
: Lane position relative to vehiclelane_visualization
)Function: Publishes visual representation of lane_position.
/lane_position
(custom message)/processed_img
(sensor_msgs::Image)motion_control
)Function: Computes steering commands based on lane position.
/lane_position
(custom message)/cmd_vel
(geometry_msgs::Twist)base_speed
: base speed of vehiclelookahead_index
: distance (in buckets) to the reference pointkp
, ki
, kd
: proportional, integral and derivative gain.