An Autonomous RC car based on ROS packages and using visual-slam based navigation on Jetson Nano board + Arduino Uno + (D435 + T265) cameras
Ubuntu 64-bit 18.04 on NVidia Jetson Nano board. ROS Melodic. ROS Installation
Follow librealsense Installation.
Follow ROS-RealSense Installation.
Follow Arduino Installation.
Follow Arduino Installation
sudo apt install ros-melodic-rtabmap ros-melodic-rtabmap-ros
sudo apt install ros-melodic-robot-localization
sudo apt install ros-melodic-navigation ros-melodic-map-server ros-melodic-move-base
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
roslaunch realsense2_camera cameras.launch
This will stream all cameras sensors and publish on the appropriate ROS topics.
The following command allow to change camera control values using [http://wiki.ros.org/rqt_reconfigure].
rosrun rqt_reconfigure rqt_reconfigure
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.