UBC-Snowbots / RoverFlake

New repository for UBC Rover
5 stars 1 forks source link

Simulate Chassis + drive motors + cameras #23

Open Roozki opened 1 year ago

Roozki commented 1 year ago

This issue is here to document the plan and resources needed for kickstarting our simulations. Focus on figuring out the process of CAD -> URDF -> gazebo Top level issue: #8

We will be using gazebo classic (vesion 11.x) ignition gazebo has been found to be shit.

We need to:

  1. Export a URDF of our current chassis, or mini rover. We want to be able to rapidly adjust the simulation based on mechanical updates, as chassis design will likely change as we go through development.
  2. Add 'transmissions' and 'actuators' to the URDF to simulate our actual motors.
  3. Add the proper gazebo plugins to simulate our cameras and other sensors
  4. Fine tune simulation to close the simulation <-> reality barrier

resources

Overview of ROS TF, URDFs and SDFs: https://ethz.ch/content/dam/ethz/special-interest/mavt/robotics-n-intelligent-systems/rsl-dam/ROS2019/ROS%20Course%20Slides%20Course%203.pdf

Solidworks URDF plugin for ROS: http://wiki.ros.org/sw_urdf_exporter/Tutorials/Export%20an%20Assembly

Articulated Robotics explaining gazebo with ROS2: https://www.youtube.com/watch?v=laWn7_cj434 (should be relatively similar to ROS1)

Articulated Robotics explaining URDFs (using xacros, but still helpful) https://www.youtube.com/watch?v=CwdbsvcpOHM&t=15s

ROS TF system https://www.youtube.com/watch?v=QyvHhY4Y_Y8&t=1s

major questions to awnser

  1. Should we do this in ROS2?
  2. How can we ensure rapid development with changing mechanical designs?
  3. How well can we simulate the proper friction of the wheels? is Gazebo sufficient or do we need to explore Nvidia Isaac?
Roozki commented 1 year ago

ros control with gazebo https://classic.gazebosim.org/tutorials?tut=ros_control