Student: Rishikesh Jadhav
Email: rjadhav1@umd.edu
Project: CAD Modelling of a Formula 1 Car followed by Simulation and Visualization in Gazebo
- Build a car in Solidworks and export it as a URDF file.
- Add Lidar sensor modules to the car model and visualize in Rviz and Gazebo.
- Create an empty Gazebo world and transform it into a competition arena.
- Perform TeleOP using a coded publisher and subscriber node to navigate the competition arena.
- Create part models for building the car in Solidworks.
- Assemble the car in Solidworks.
- Export the car model as a URDF file.
- Create a catkin_ws for sourcing, building, and developing the project.
- Create a dummy link and joint to visualize the model in the environment.
- Add transmission blocks to include controllers in the URDF of the car.
- Integrate Lidar sensor and Car Model URDF using the Xacro file.
- Configure controllers assigned to joints in the .yaml file.
- Add Lidar sensor module to the workspace.
- Perform TeleOP to manually move the model in the simulation environment.
- Code a simple publisher and a subscriber to make the car move in a perfect circle.
- Visualize the model in Rviz.
- Simulate the model in Gazebo.
- Mating parts in assembly.
- Assigning frames and axes to each joint correctly.
- Car model not spawning as expected in Gazebo (parts were dislocated).
- Understanding and integrating all files (Xacro, .yaml, URDF, .launch).
- Lidar sensor visualization in Rviz.
- Wobbling while moving in simulation (fixed by adjusting PID values).
- Designing and modeling Formula 1 inspired car parts in Solidworks.
- Assembling parts and defining axes and frames where necessary.
- Creating URDF, setting appropriate limits, and successfully exporting/importing in Gazebo.
- Creating a dummy link and joint for visualization.
- Integrating Lidar Sensor to the model.
- Integration of the model into the competition arena for visualization.
- Working on resolving errors during TeleOP.
- Coding the Publisher and Subscriber nodes for motion control.
- Assembly: Contains part models and assembly files.
- Package: Includes subfolders for configuration, launch, meshes, source code, textures, URDF, and world files.
- Report: PDF document detailing the project.
- Results: Simulation videos.
- Unzip the package (updated_assembly).
- Move the folder into the
src
folder of the catkin workspace. - Build the package using
catkin_make clean && catkin_make
(don't forget to source before building). - Launch the car in Gazebo:
roslaunch updated\_assembly updated\_assembly.launch
. - Open Rviz to visualize the robot in a parallel terminal (start simulation in Gazebo first).
- Open the teleop file in another terminal:
python3 teleop\_template.py
. - To run the publisher_subscriber, open four terminals (roscore, launch robot in Gazebo, publisher, subscriber).
- Comment out the competition arena line in the launch file for the robot to move in a circle.
- After completing the steps, the car should move in circles in the empty world in Gazebo.