The following Repo contains Gazebo Simulations of IITB Mars Rover Team.
- ROS kinetic and Gazebo-7 is used.
- Follow instructions on
https://wiki.ros.org/kinetic/Installation/Ubuntu
- Opt for
ros-kinetic-desktop-full
installation
- Follow the steps to build the provided packages
mkdir -p rover_ws/src
cd rover_ws/src
git clone https://github.com/iitbmartian/Gazebo_simulation.git
cd ..
catkin_make
- Replace
line 15
andline 29
ofrover_18/gazebo_worlds/terrain.world
with<mesh><uri>PATH_TO_YOUR_WORKSPACE/rover_ws/src/rover_18/gazebo_worlds/terrain_surface/surface1.stl</uri></mesh>
. - Replace
line 33
ofrover_18/gazebo_worlds/terrain.world
with<uri>PATH_TO_YOUR_WORKSPACE/rover_ws/src/rover_18/gazebo_materials/scripts/terrain.material</uri>
.
- Execute
roslaunch rover18_urdf rviz.launch
- To load the rover in a defined world execute
roslaunch rover18_urdf gazebo.launch
- For Simulating differential-drive in the world execute
roslaunch rover18_urdf diff_drive.launch
. Control the speed and direction of rover usingrqt_robot_steering
node launched. - The forces in links can be viewed on
gz topic
. - For changing the worlds edit the world names in
rover_18/launch/gazebo.launch
line 18
Take a look at some simulations in https://drive.google.com/drive/folders/1oUSBbVFecmz7PkJIKtDzw7NwfP6030fT?usp=sharing
- Blander Sculpt tool - To create the Custom terrain
[3DView](https://chrome.google.com/webstore/detail/3dview/hhngciknjebkeffhafnaodkfidcdlcao?hl=en)
- To edit stl meshes and evaluate translation and rotation coordinates of joints/links.
[gazebo_ros_control](http://gazebosim.org/tutorials?tut=ros_control)
to implement differential control on the rover[rqt_robot_steering](http://wiki.ros.org/rqt_robot_steering)
for UI to control rover movement[force_torque_sensor](http://gazebosim.org/tutorials?tut=force_torque_sensor&cat=sensors)
to get the forces in joints