Packages for the simulation of the RB-Vogui
This packages contains:
Launch files and world files to start the models in gazebo
Launch files that execute the complete simulation of the robot
This simulation has been tested using Gazebo 9 version. To facilitate the installation you can use the vcstool:
sudo apt-get install -y python3-vcstool
mkdir catkin_ws
cd catkin_ws
For the latest version:
mkdir catkin_ws
cd catkin_ws
vcs import --input \
https://raw.githubusercontent.com/RobotnikAutomation/rbvogui_sim/melodic-devel/repos/rbvogui_sim_devel.repos
rosdep install --from-paths src --ignore-src -y
For the stable version (some latest features may be not available):
mkdir catkin_ws
cd catkin_ws
vcs import --input \
https://raw.githubusercontent.com/RobotnikAutomation/rbvogui_sim/melodic-devel/repos/rbvogui_sim.repos
rosdep install --from-paths src --ignore-src -y
sudo dpkg -i src/rbvogui_common/libraries/*
catkin build
source devel/setup.bash
Note: The package catkin-tools is need to compile with catkin build:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -sc` main" > /etc/apt/sources.list.d/ros-latest.list'
wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get install python-catkin-tools
Set your robot kinematics to omni/ackermann (In case of ackermann, you will need twist2ackermann node enabled)
roslaunch rbvogui_sim_bringup rbvogui_complete.launch kinematics:=omni twist2ackermann:=false
In case you want to launch the rbvogui with an UR arm you can type the following command:
roslaunch rbvogui_sim_bringup rbvogui_complete.launch \
robot_xacro:=rbvogui_std_ur10.urdf.xacro \
launch_arm_control:=true \
arm_controllers:=arm_controller
You can play with the arm by using the rqt_joint_trajectory:
ROS_NAMESPACE=robot rosrun rqt_joint_trajectory_controller rqt_joint_trajectory_controller
Or even use moveit to plan trajectories:
ROS_NAMESPACE=robot roslaunch rbvogui_moveit_ur10 demo.launch
If you prefer to launch the rbvogui XL, you can type:
roslaunch rbvogui_sim_bringup rbvogui_complete.launch \
robot_xacro:=rbvogui_xl.urdf.xacro
The rbvogui Xl can be launched with two UR arms, only this bi-arm (UR-10e) option is available:
roslaunch rbvogui_sim_bringup rbvogui_complete.launch \
launch_arm_control:=true \
robot_xacro:=rbvogui_xl.urdf.xacro
To plan trajectories with the bi-arm robot you can type:
ROS_NAMESPACE=robot roslaunch rbvogui_xl_2ur10_e_moveit rbvogui_xl_moveit_config.launch
To switch between arms on RViz look for MotionPlanning > Planning Request > Planning Group and it will show you all the available groups (left_arm and right_arm).
The rbvogui Xl can also be launched with an UR-10e arm and an Ewellix lift:
roslaunch rbvogui_sim_bringup rbvogui_complete.launch robot_xacro:=rbvogui_xl_lift_ur10e.urdf.xacro launch_arm_control:=true arm_controllers:="arm_controller lift_controller"
To control the lift, you can type:
rostopic pub /robot/lift_controller/command std_msgs/Float64 "data: 0.2"
You can use the topic /robot/robotnik_base_control/cmd_vel
to control the RB-Vogui robot.
In order to run this simulation you will need nvidia graphical accelation
- docker
- nvidia-docker
- nvidia-drivers
git clone https://github.com/RobotnikAutomation/rbvogui_sim.git
cd rbvogui_sim
git checkout melodic-devel
docker/simulation-in-container-run.sh
You can select the robot, the launch file of package using the optional arguments on launch
By default the selected robot is rbvogui
docker/simulation-in-container-run.sh --help
ROBOTNIK AUTOMATION S.L.L. 2021
Simulation of RB VOGUI using docker
Usage:
docker/simulation-in-container-run.sh [OPTIONS]
Optional arguments:
--robot -r ROBOT Select robot to simulate
Valid robots:
rb_vogui_one_ur_arm rb_vogui_xl_two_ur_arms rb_vogui rb_vogui_xl
default: rb_vogui
--launch -l Select launch file
default: rbvogui_complete.launch kinematics:=omni twist2ackermann:=false
--package -p Select ros package
default: rbvogui_sim_bringup
--ros-port -u PORT Host ros port
default: 11345
--gazebo-port -g PORT Host ros port
default: 11345
-h, --help Shows this help
RB Vogui with one UR arm
docker/simulation-in-container-run.sh --robot rb_vogui_one_ur_arm
IMPORTANT: This simulation starts paused, please remember to press play button on gazebo after few seconds
RB Vogui XL
docker/simulation-in-container-run.sh --robot rb_vogui_xl
IMPORTANT: This simulation starts paused, please remember to press play button on gazebo after few seconds
RB Vogui XL with UR arms
docker/simulation-in-container-run.sh --robot rb_vogui_xl_two_ur_arms
IMPORTANT: This simulation starts paused, please remember to press play button on gazebo after few seconds
If you wish to build manually the image without the use of the script use one the following commands:
Optiona A
cd docker
docker build -f Dockerfile ..
Option B
docker build -f docker/Dockerfile .
- This is docker requires a graphical interface
- The ros master uri is accesible outside the container, so in the host any ros command should work
- You could also run a roscore previous to launch the simulation in order to have some processes on the host running
- if you want to enter on the container use the following command in another terminal
docker container exec -it rb_vogui_sim_instance bash
- In order to exit you have to 2 options
- Close
gazebo
andrviz
and wait a bit - execute in another terminal:
docker container rm --force rb_vogui_sim_instance