Skip to content

yeonsoo98/railload_robot

Repository files navigation

RailAMR

RailAMR 개발

  • 궤도를 자율 주행하는 로봇으로 작업자의 안전 관리와 작업 지원을 통한 작업자 안전 강화, 철도 시설 검층 장치 부착을 통한 자동점검 기능 수행 목표

    • YOLOv5와 Depth Camera를 통한 사람 추종 주행 & 안전 주행
    • 작업자가 손쉽게 운용할 수 있도록 키보드 & 조이스틱 주행
    • 안전한 주행 테스트를 위한 Gazebo 시뮬레이션 환경 개발
    • 자율 주행을 위한 SLAM & Naviagition 기능 탑재
  • RailAMR

  • RailAMR System Architecture
  • RailAMR Configuration diagram

기능 정리

  • Modbus (RS485) 통신 연결 ( 모터드라이버 < - > 잿슨 오린 )
    • driving.py (로봇의 통신을 담당하는 코드 - 로봇을 작동시킬시, 항상 켜져있어야 함)
ros2 run railload_robot_bringup driving.py
  • Keyboard & Joystick 제어 기능
    • keyboard_comand.py (블루투스 및 USB로 연결된 키보드로 조종 가능)
ros2 run railload_robot_bringup keyboard_command.py
  • keyboard_command.py: motor_speed_control (해당 키를 누르면 해당 rpm 속도로 이동)
    • q : 300 rpm
    • w : 500 rpm
    • e : 700 rpm
    • r : 1000 rpm
    • z : - 1000 rpm
    • s : 0 rpm (Stop)
  • joystick_command.py (블루투스로 연결된 조이스틱으로 조종 가능)
ros2 run railload_robot_bringup joystick_command.py
  • Joystick control
    • ros2 run joy joy_node (조이스틱 블루투스 연결)
    • ros2 launch railload_robot_bringup joystick_command.py (조이스틱 실행)
    • driving.py (로봇 통신 연결)
    • Code start / Joystick - Push R1 & Wheel (조이스틱 R1키를 동시에 누르기)
  • Person Tracker (사람 추종 및 안전 주행 기능)
    • YOLOv5 기반의 사람 추종

      • Depth Camera를 통한 사람과의 거리 측정
      • ( 1.5 m < Distance ) => Stop
      • ( 1.5 m > Distance ) => Go
      • 사람의 안전거리를 (1.5m) 파악하여 자율 주행
      • autostart를 통해 잭슨 오린 실행시 자동으로 시작
    • yolo.launch.py

ros2 launch railload_robot_bringup yolo.launch.py
  • tracker.py
ros2 run railload_robot_bringup tracker.py
  • Person Tracker

        - use depth camera (realsense2) to check object distance
        - person distance < 1.5 m   -> robot stop 
        - person distance > 1.5 m   -> robot go 
        - restict / camera performance - 10 m
        - closet distance 
        - count people
        - motor delay (with timer)
    
  • robot.launch.py (yolo + tracker 동시 실행하는 코드)
ros2 launch railload_robot_bringup robot.launch.py
  • 로봇 센서 데이터 및 운용 정보 모니터링 화면
  • 로봇 주행 기능
  • Robot Simulation
    • 기존 로봇 제어 코드로 제어 가능

    • description 확인 가능

    • body , wheel xacro file로 구성

    • ROS2 기반 Velodyne-VLP 16 LiDAR 연동

    • gazebo & rqt & rviz2

    • display.launch.py (gazebo + rviz2 동시 실행)

ros2 launch railload_robot_description display.launch.py
  • gazebo.launch.py (gazebo 실행)
ros2 launch railload_robot_description gazebo.launch.py
  • Lidar.py (velodyne vlp-16 lidar 실행)
ros2 run railload_robot_description Lidar.py
  • Gazebo & Rviz2 실행
  • LiDAR & GPS 센서 데이터 수집

추가 기능

  • 세부적인 rpm 설정하기 & 제어하기
ros2 run railload_robot_description rpm_calculate.py

RailAMR 동영상 (다운로드 확인 가능)

RailAMR Driving with sensor data

RailAMR Tracker Driving

RailAMR Safety Driving

RailAMR Video

Motor Control Video 1

Motor Control Video 2

  • Hardware settings
    • SBC ( Nvidia Jetson Orin )

  • Motor

  • Motor Drive

  • Joystick

  • Velodyne VLP-16 & Intel Realsense Depth Camera
  • Driving Environment
  • TBD ...RailAMR

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages