Skip to content

Kinematics and dynamics simulatins of the polishing of a boat hull are implemented within MOveit and Gazebo softwares in the ROS Noetic

Notifications You must be signed in to change notification settings

mosmz95/Polishing_Simulation_of_Boat_Hull

Repository files navigation

Instruction

Building the workspace:

  1. Create a directory for the workspace:
  mkdir robotslider_ws
  1. Go to the source directory of the workspace and clone the repository
cd robotslider_ws   
git clone https://github.com/mosmz95/Polishing_Simulation_of_Boat_Hull.git src
  1. Build the workspace:
  catkin build
  1. source the created workspace in the .bashrc file:
  echo "source robotslider_ws/devel/setup.bash" >> ~/.bashrc
  source ~/.bashrc

otherwise, it is required to source the workspace whenever a new terminal is open.

Procedure to launch the Simulation environments

Visualization:

The robot-slider movement is visualized in Rviz where by changing the slide-bar for each joint, you can see the range of motion of the corresponding joint.

  roslaunch robot_slider_description rviz_launch.launch 
Simulation of robot-slider motion:

Gazebo software is a physics engine in which according to physical properties -like mass, inertia, etc, defined in urdf file- the dynamics of robot-slider movement is simulated. In fact, gazebo is a substitution of an actual robot-slider.

  1. To launch the gazebo, run the following line in a new terminal:
  roslaunch robot_slider_bringup gazebo_launch.launch gui:=true

In case you don't want to see the graphical user interface, rewrite gui:=false

  1. Open a new terminal, and launch the controller:
  roslaunch robot_slider_controller controller.launch
  1. In a new terminal, launch the move_group which does the joint trajectory planning:
  roslaunch robot_slider_moveit move_group.launch

Depending on your system, it may take some time for the move_group to become ready to receive commands. You should see confirmation of this in the terminal "You can start planning now!"

  1. To do trajectory planning graphically, launch Rviz in a new terminal:
  roslaunch robot_slider_description rviz_trajectoryplanning_launch.launch
  1. if the desired joint positions are known in advance, you can edit the python file robotslider_command.py inside the robot_slider_controller package, then execute it:
  rosrun robot_slider_controller robotslider_command.py
Trajectory planning in Rviz

In this section, we briefly explain the procedure of joint trajectory planning. It is required to choose (i) a planning group, (ii) a start state (iii) a goal state.

Alt text
In the robot-slider mechanism, two planning groups are defined, namely "arm" and "stand", the former refers to the robot movement itself, and the latter refers to the linear and rotational movements of the slider-stand. The start state should be received from the gazebo(physics engine) and the goal state should be determined by the user. To do so, click on the "Joints" tab, then by moving the slider, choose the desired joint positions as a goal state.
Alt text
In the next step, switch to the "Planning" tab and click on the "Planning" button to visualize the movement from the start state to the goal state. In the end, to see the movement on the gazeboo, click on the "Execute" button.

About

Kinematics and dynamics simulatins of the polishing of a boat hull are implemented within MOveit and Gazebo softwares in the ROS Noetic

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published