cd ~/catkin_ws/src
git clone https://github.com/jerinpeter/4wdNavbot.git
cd ..
catkin_make
rosdep install --from-paths src --ignore-src -r -y
If catkin_make shows error, install the missing dependenices using the rosdep command.
The Robot was modelled in Fusion360 and converted to URDF using fusion2urdf. Gazebo Pluggins for differential drive,Odometry and LaserScan were added to the urdf and tested in a custom made simulation environment/world in Gazebo.
Open a new terminal window and split it accordingly if using terminator,run the following commands
roslaunch navbot_description gazebo.launch
roslaunch gmapping mapping.launch
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
rviz
rosrun map_server map_saver -f newmap
The map is already saved in /navbot_description/maps directory if using the preset map.
roslaunch navbot_description gazebo.launch
roslaunch navbot_navigation move_base.launch
rviz
/cmd_vel
/right_ticks
/left_ticks
The High level control is Nvidia Jetson Nano which runs on Jetpack based on ubuntu 18.04 with ROS Melodic installed.
The Lidar is also connected to the Jetson Nano via Usb and the whole system is powered using 5v from a buck converter that steps down 12.6v from the Li-Ion Battery pack to 5V 4 amps max to power the Jetson Nano.
The YdLidar package is responsible for publishing the LaserScan as /scan data along with Tf (base_link -> laser)
With the Robot Model
Without Robot Model
roscore
rosrun rosserial_python serial_node.py /dev/ttyACM0
roslaunch ydlidar_ros yd_lidar.launch
roslaunch differential_drive tf_controller.launch
roslaunch navbot_navigation move_base.launch
rviz
After running Rviz open the Navbot.rviz configuration from the Rviz folder.
Open DynamicReconfigure from rqt gui and load final_reconf_params_real.yaml
Give the goal location in Rviz and we are good to go!
Component | Image |
---|---|
Nvidia Jetson Nano | |
YD-Lidar X4 | |
Arduino Mega | |
RMCS 2303 Motor Drivers | |
100 RPM High Precision Encoder Motors | |
10,000Mah, 2C Li-Ion Battery | |
DC-DC Step Down Converter | |
125mm AGV Wheels |
Added Support for using Odom from Intel RealSense T265 Tracking Camera
Added the required TF Launch files for the same
roslaunch navbot_navigation tf.launch
Updated parameters can be found in the params folder
To install the same use
sudo apt-get install ros-noetic-teb-local-planner
Kinect Drivers + ROS Package installation
roslaunch freenect_launch freenect.launch depth_registration:=true
Contributions are most welcome ;-)