ROS package for a Jetson Nano-based UGV (Jetracer).
The package includes OccupancyGrid map, A* algorithm for path generation, a controller (Pure pursuit and Stanley), subscribers for Marvelmind indoor GPS systems, and publishers for communication with Jetracer.
The AGV Master package requires ROS, a PC as ground control station, a prebuilt Jetracer, Marvelmind Indoor GPS, and an IMU.
Follow this link follow the instructions.
(https://github.com/mych907/cytron_jetracer)
Assuming you have the basic dependencies installed, run the following command in workspace/src to clone this repo. Either make or build depending on your preferences.
git clone https://github.com/mych907/agv_master
cd ..
catkin_make
Next, connect the PC and Jetracer to the same WiFi.
For PC, add the lines below in bashrc to export the ROS_MASTER_URI. Replace the <YOUR_IP_ADDRESS> with the PC's actual IP.
export ROS_MASTER_URI=http://<YOUR_IP_ADDRESS>:11311
export ROS_HOSTNAME=<YOUR_IP_ADDRESS>
Similarly, add the lines below in bashrc for Jetracer.
export ROS_MASTER_URI=http://<YOUR_IP_ADDRESS>:11311
export ROS_IP=<JETRACER_IP_ADDRESS>
Don't forget to source your bashrc.
This package depends on an unltrasonic indoor GPS system developed by Marvelmind Robotics. Use of any other localization such as visual tracking, odometry or even SLAM can be added to replace this. In case you have the Marvelmind beacons, follow the instructions below.
The ultrasonic GPS system from Marvelmind provides a ROS package from link. Clone the repo for your ROS distro version. (https://github.com/MarvelmindRobotics/marvelmind_nav-release)
Then follow the instructions from this link. (https://marvelmind.com/pics/marvelmind_ROS.pdf)
You may have to setup the system with Dashboard according to the manual provided from Marvelmind Robotics, if you have not done already.
An additional IMU is used to publish the yaw information. Connect an E2BOXIMU 9DOFv5 (or any other equivalent) to the Jetson Nano's UART pins (GND, VCC, TX and RX). In your workspace/src folder, either catkin_make or catkin build depending on your preferences.
git clone https://github.com/mych907/e2box_imu_9dofv5
cd ..
catkin_make
sudo chmod 666 /dev/ttyTHS1
Run the following command to run the node:
rosrun agv_master agv_node.py
To visualize, open the configuration in the rviz folder.