Skip to content

An Autonomous RC car based on ROS packages and using visual-slam based navigation on Jetson Nano board + Arduino Uno + (D435 + T265) cameras

Notifications You must be signed in to change notification settings

containerman17/autonomous-rc-car

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

autonomous-rc-car

An Autonomous RC car based on ROS packages and using visual-slam based navigation on Jetson Nano board + Arduino Uno + (D435 + T265) cameras

1. Prerequisites

1.1 Ubuntu and ROS

Ubuntu 64-bit 18.04 on NVidia Jetson Nano board. ROS Melodic. ROS Installation

1.2. librealsense2

Follow librealsense Installation.

1.3. RealSense ROS Wrapper

Follow ROS-RealSense Installation.

1.3. Arduino IDE

Follow Arduino Installation.

1.4. Install rosserial for ROS-Arduino communication

Follow Arduino Installation

1.5. Install RTAB-Map ROS

sudo apt install ros-melodic-rtabmap ros-melodic-rtabmap-ros

1.6. Install Robot-Localization

sudo apt install ros-melodic-robot-localization

1.7. Install ROS Nav Stack

sudo apt install ros-melodic-navigation ros-melodic-map-server ros-melodic-move-base 

2. Build & Install

Clone the repository and catkin_make:

cd ~/catkin_ws/src
rm -rf *
git clone https://github.com/mhaboali/autonomous-rc-car.git
cd ../
rosdep install --from-paths src --ignore-src --rosdistro=melodic -y
catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
catkin_make install
source ~/catkin_ws/devel/setup.bash

3. Usage Instructions

Start both T265 and D435i cameras nodes

roslaunch realsense2_camera cameras.launch

This will stream all cameras sensors and publish on the appropriate ROS topics.

Set Camera Controls Using Dynamic Reconfigure Params

The following command allow to change camera control values using [http://wiki.ros.org/rqt_reconfigure].

rosrun rqt_reconfigure rqt_reconfigure

About Frame ID

The wrapper publishes static transformations(TFs). The Frame Ids are divided into 3 groups:

  • ROS convention frames: follow the format of <tf_prefix>_<_stream>"_frame" for example: camera_depth_frame, camera_infra1_frame, etc.
  • Original frame coordinate system: with the suffix of <_optical_frame>. For example: camera_infra1_optical_frame. Check the device documentation for specific coordinate system for each stream.
  • base_link: For example: camera_link. A reference frame for the device. In D400 series, it is the depth frame. In T265, the pose frame.

About

An Autonomous RC car based on ROS packages and using visual-slam based navigation on Jetson Nano board + Arduino Uno + (D435 + T265) cameras

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published