yaoyv123 / rbvogui_sim

Packages for the simulation of the RB-VOGUI and RB-VOGUI-XL robots (including UR arms)

Home Page:https://robotnik.eu/es/productos/robots-moviles/rb-vogui/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rbvogui_sim

Packages for the simulation of the RB-Vogui

Packages

This packages contains:

rbvogui_gazebo

Launch files and world files to start the models in gazebo

rbvogui_sim_bringup

Launch files that execute the complete simulation of the robot

Simulating RB-Vogui

1) Install the following dependencies:

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

2) Create a workspace and clone the repository:

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

3) Install the controllers, robotnik_msgs and the rcomponent:

sudo dpkg -i src/rbvogui_common/libraries/*

4) Compile:

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

5) Run RB-Vogui simulation:

RB-Vogui

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

RB-Vogui with one UR arm

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

RB-Vogui XL model

If you prefer to launch the rbvogui XL, you can type:

roslaunch rbvogui_sim_bringup rbvogui_complete.launch \
  robot_xacro:=rbvogui_xl.urdf.xacro

RB-Vogui XL with two UR arm

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).

RB-Vogui XL with UR arm and Ewellix lift

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"

6) Enjoy!

You can use the topic /robot/robotnik_base_control/cmd_vel to control the RB-Vogui robot.

Docker usage

In order to run this simulation you will need nvidia graphical accelation

Installation of required files

Usage

git clone https://github.com/RobotnikAutomation/rbvogui_sim.git
cd rbvogui_sim
git checkout melodic-devel
docker/simulation-in-container-run.sh

Selecting the robot model

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

Manual Build

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 .

Notes

  • 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
  1. Close gazebo and rviz and wait a bit
  2. execute in another terminal:
docker container rm --force rb_vogui_sim_instance

About

Packages for the simulation of the RB-VOGUI and RB-VOGUI-XL robots (including UR arms)

https://robotnik.eu/es/productos/robots-moviles/rb-vogui/


Languages

Language:Shell 72.9%Language:Dockerfile 22.5%Language:CMake 4.6%