Skip to content

DominikGithub/AGV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AGV

Lidar guided autonomous, mobile robot based on ROS.

Start

 $ catkin_make  
 $ source /devel/setup.bash  
 $ roslaunch raspi_ctrl raspi.launch  

Remote RVIZ client

export ROS_MASTER_URI=http://<ROBOT IP>:11311/
export ROS_IP=<REMOTE RVIZ CLIENT IP> 

see /rviz/setup_ros_env.sh

$ roslaunch raspi_ctrl rviz.launch

Manual keyboard control via Teleop twist keyboard

Lidar SLAM

ydlidar_screen

ROS TF

TF tree
rqt_graph

Setup

  • Ubuntu 18.04 for ARM
  • ROS Melodic
  • $ sudo ./ros_install.sh

Hardware

  • Raspberry Pi 3
  • L298N dual H-Bridge
  • Ydlidar X4
  • Adafruit PowerBoost 1000
  • LiPo 3.7V
  • 2x 9V battery

Motor wiring

H-Bridge Raspi GPIO Motors
IN1 13 (PWM1)
IN2 19 (PWM1)
IN3 18 (PWM0)
IN4 12 (PWM0)
OUT1 M1 forward
OUT2 M1 backward
OUT3 M2 forward
OUT4 M2 backward

Raspi 3 PWM pins

H-bridge wiring

Robot assembly

robot complete

robot complete

robot complete

FreeCAD designs

Top power & control Lidar
cad hbridge cad lidar
Bottom power
cad battery

Project structure

├── README.md
├── cad
│   └── README.md
├── doc
│   ├── cad_designs/
│   ├── photos_assembly/
│   ├── frames.pdf
│   ├── raspberry_pi_3_PWM_pins.png
│   ├── rqt_graph.svg
│   ├── ydlidar_rviz.png
│   └── wiring_hbrige_raspi.jpg
├── ros_install.sh
└── src
    ├── CMakeLists.txt -> /opt/ros/melodic/share/catkin/cmake/toplevel.cmake
    ├── motor_pkg
    │   ├── CMakeLists.txt
    │   ├── bin
    │   │   └── motor_ctrl
    │   ├── package.xml
    │   ├── setup.py
    │   └── src
    │       └── motor_ctrl
    │           ├── __init__.py
    │           ├── motor.py
    │           └── name_ascii.txt
    ├── raspi_ctrl
    │   ├── CMakeLists.txt
    │   ├── launch
    │   │   ├── costmap_configs
    │   │   │   ├── base_local_planner_params.yaml
    │   │   │   ├── costmap_common_params.yaml
    │   │   │   ├── global_costmap_params.yaml
    │   │   │   └── local_costmap_params.yaml
    │   │   ├── mapping_default.launch
    │   │   ├── raspi.launch
    │   │   ├── rviz.launch
    │   │   └── x4_lidar.launch
    │   ├── package.xml
    │   └── rviz
    │       ├── rviz.rviz
    │       └── setup_ros_env.sh
    ├── teleop_twist_keyboard
    └── ydlidar_ros