A four-wheeled robot was designed with SolidWorks and a ROS 2 package was created in Python
for Teleoperation and Navigation with obstacle avoidance.
Summary of tasks achieved:
- Created robot model in
SolidWorks
and converted intourdf
. - Attached
lidar
on the robot and deployeddifferential drive
using gazebo plug-in. - Programmed an
Estimator
class which convertsquartenion
from odometry topic toeuler
angles. - And a
Controller
class uses these values from estimator for Obstacle Avoidance.
CLICK HERE - To view ROS 1
implementation of the project with modifications.
navigation_8x.mp4
teleop_4X.mp4
These are the instructions to get started on the project. To get a local copy up and running follow these simple steps.
- Python 3.6 +
- ROS 2 Turtlebot3 teleop should be installed.
- ROS 2 : foxy (tested)
- OS - Linux (tested)
-
Copy the package
kick_ass
inside thesrc
folder of catkin workspacecatkin_ws
. -
Make the following changes inside the
kick_ass.urdf
file located atcatkin_ws/src/kick_ass/urdf
.- Replace all ''/home/jeffin/check_r2/src'' inside the
filename
attribute ofmesh
tag to the absolute path of the current package. - So if
catkin_ws
is in home directory, it should be ''/home/username/catkin_ws/src''
- Replace all ''/home/jeffin/check_r2/src'' inside the
-
Navigate to
src
and buildcolcon build
-
Source the workspace
source ~/catkin_ws/devel/setup.bash
- Run the command :
ros2 launch kick_ass launch_urdf_into_gazebo.launch.py
- Open new terminal ,source workspace and run:
ros2 run turtlebot3_teleop teleop_keyboard
NOTE
: If turtlebot3 teleop not available, try:
ros2 run teleop_twist_keyboard teleop_twist_keyboard
- Source the workspace.
- Start simulation:
ros2 launch kick_ass launch_urdf_into_gazebo.launch.py
- Open new terminal ,source workspace and run:
ros2 launch kick_ass robot_move.launch.py
Distributed under the MIT License. See MIT for more information.