summit_xl_sim repository

Repository Summary

Checkout URI https://github.com/RobotnikAutomation/summit_xl_sim.git
VCS Type git
VCS Version melodic-bringup
Last Updated 2021-08-06
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
summit_xl_gazebo 1.1.3
summit_xl_sim 1.1.3
summit_xl_sim_bringup 1.1.3

README

summit_xl_sim

Packages for the simulation of the Summit XL

This packages contains:

summit_xl_gazebo

Launch files and world files to start the models in gazebo

summit_xl_sim_bringup

Launch files that launch the complete simulation of the robot/s

Simulating Summit XL

This simulation has been tested using Gazebo 9 version.

Installation and run instruccions

1. Install the following dependencies:

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:

vcs import --input \
  https://raw.githubusercontent.com/RobotnikAutomation/summit_xl_sim/melodic-devel/doc/summit_xl_sim.repos
rosdep install --from-paths src --ignore-src --skip-keys="summit_xl_robot_control" -y

For the stable version (some latest features may be not available):

vcs import --input \
  https://raw.githubusercontent.com/RobotnikAutomation/summit_xl_sim/melodic-master/doc/summit_xl_sim.repos
rosdep install --from-paths src --ignore-src --skip-keys="summit_xl_robot_control" -y

3. Compile:

catkin build
source devel/setup.bash

ONLY: if catkin build doesn't work: 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

4. Launch Summit XL simulation (1 robot by default, up to 3 robots):

Summit XL:

roslaunch summit_xl_sim_bringup summit_xl_complete.launch

Summit XL with Trossen Arm

roslaunch summit_xl_sim_bringup summit_xl_complete.launch default_xacro:=summit_xl_tix_std.urdf.xacro launch_arm_a:=true arm_manufacturer_a:=trossen arm_model_a:=vx300s

Launch moveit to plan trajectories:

ROS_NAMESPACE=robot roslaunch summit_xl_vx300s_moveit_config demo.launch

Summit XL with Kinova Arm

roslaunch summit_xl_sim_bringup summit_xl_complete.launch default_xacro:=summit_xl_gen_std.urdf.xacro launch_arm_a:=true arm_manufacturer_a:=kinova arm_model_a:=j2s7s300

or Summit XL Steel:

roslaunch summit_xl_sim_bringup summit_xls_complete.launch

Optional general arguments:

<arg name="launch_rviz" default="true"/>
<arg name="gazebo_world" default="$(find summit_xl_gazebo)/worlds/summit_xl_office.world"/>
<arg name="omni_drive" default="false"/> (only for Summit XL)
<arg name="use_gpu_for_simulation" default="false"/>

By default the Gazebo plugin Planar Move to ignore the physics of the wheels + the skid steering kinematics. In case you want to disable this plugin, set the following arguments:

roslaunch summit_xl_sim_bringup summit_xl_complete.launch \
  ros_planar_move_plugin:=false \
  omni_drive:=false

Optional robot arguments:

<!--arguments for each robot (example for robot A)-->
<arg name="id_robot_a" default="robot"/>
<arg name="launch_robot_a" default="true"/>
<arg name="map_file_a" default="willow_garage/willow_garage.yaml"/>
<arg name="localization_robot_a" default="false"/>
<arg name="gmapping_robot_a" default="false"/>
<arg name="amcl_and_mapserver_a" default="true"/>
<arg name="x_init_pose_robot_a" default="0" />
<arg name="y_init_pose_robot_a" default="0" />
<arg name="z_init_pose_robot_a" default="0" />
<arg name="xacro_robot_a" default="summit_xl_std.urdf.xacro"/>

  • Example to launch simulation with 3 Summit XL robots:
roslaunch summit_xl_sim_bringup summit_xl_complete.launch \
  launch_robot_b:=true \
  launch_robot_c:=true

  • Example to launch simulation with 1 Summit XL robot with navigation:
roslaunch summit_xl_sim_bringup summit_xl_complete.launch \
  move_base_robot_a:=true \
  amcl_and_mapserver_a:=true

Enjoy! You can use the topic ${id_robot}/robotnik_base_control/cmd_vel to control the Summit XL robot or send simple goals using /${id_robot}/move_base_simple/goal

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/summit_xl_sim.git
cd summit_xl_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 summit_xl

docker/simulation-in-container-run.sh --help

ROBOTNIK AUTOMATION S.L.L. 2021

Simulation of SUMMIT XL using docker

Usage:
docker/simulation-in-container-run.sh [OPTIONS]

Optional arguments:
 --robot -r ROBOT       Select robot to simulate
                        Valid robots:
                            summit_xl summit_xl_gen summit_xls
                        default: summit_xl

 --launch -l            Select launch file
                        default: summit_xl_complete.launch

 --package -p           Select ros package
                        default: summit_xl_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


Summit XL GEN

docker/simulation-in-container-run.sh --robot summit_xl_gen

Summit XLS

docker/simulation-in-container-run.sh --robot summit_xls

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 summit_xl_sim_instance bash

  • In order to exit you have to 2 options
  • Close gazebo and rviz and wait a bit
  • execute in another terminal:
docker container rm --force summit_xl_sim_instance

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/RobotnikAutomation/summit_xl_sim.git
VCS Type git
VCS Version indigo-devel
Last Updated 2017-10-05
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

README

summit_xl_sim

Packages for the simulation of the Summit XL

Image of Summit XL

summit_xl_control

This package contains the launch and configuration files to spawn the joint controllers with the ROS controller_manager. It allows to launch the joint controllers for the Summit XL (4 axes skid steering + 2 axes ptz), Summit XL OMNI (4 axes skid steering, 4 axes swerve drive), Summit X-WAM (4 axes skid steering, 4 axes swerve drive, 1 linear axis for scissor mechanism). The Summit XL simulation stack follows the gazebo_ros controller manager scheme described in http://gazebosim.org/wiki/Tutorials/1.9/ROS_Control_with_Gazebo

summit_xl_gazebo

launch files and world files to start the models in gazebo

summit_xl_robot_control

control the robot joints in all kinematic configurations, publishes odom topic and, if configured, also tf odom to base_link. Usually takes as input joystick commands and generates as outputs references for the gazebo controllers defined in summit_xl_control. This package permits an alternative way to control the robot motion (4 motorwheels) that by default is carried on by the Gazebo plugin (skid-steer). In the default configuration this package only controls the pan-tilt camera joints. When used as main controller of the simulated robot, this node also computes the odometry of the robot using the joint movements and a IMU and publish this odometry to /odom. The node has a flag in the yaml files that forces the publication or not of the odom->base_footprint frames, needed by the localization and mapping algorithms.

summit_xl_sim_bringup

launch files that launch the complete simulation of the robot

Simulating Summit XL

1) Install the following dependencies: - summit_xl_common link - robotnik_msgs link - robotnik_sensors link

2) Launch Summit XL simulation with:
- roslaunch summit_xl_sim_bringup summit_xl_complete.launch

3) Enjoy! You can use the topic "/summit_xl_control/cmd_vel" to control the Summit XL robot.

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/RobotnikAutomation/summit_xl_sim.git
VCS Type git
VCS Version hydro
Last Updated 2014-12-04
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

README

summit_xl_sim

Packages for the simulation of the Summit XL, Summit XL HL and Summit-X (including X-WAM) robots

bh262_description

Contains the description of the Barrett Hand: urdf and meshes. This Hand is mounted on the WAM arm and is the end effector used by the X-WAM mobile manipulator.

summit_xl_2dnav

This package contains all the configuration files needed to execute the AMCL and SLAM navigation algorithms in simulation.

summit_xl_control

New gazebo 1.9 style robot control

summit_xl_description

robot description (urdf and meshes). Includes also V-REP model.

summit_xl_gazebo

launch files and world files to start the models in gazebo

summit_xl_joint_state

test node to publish joint states (as alternative to the joint_state_publisher)

summit_xl_joystick

node to process the joystick in simulation (configured for PS3, but others are also possible).

summit_xl_robot_control

control the robot joints in all kinematic configurations, publishes odom topic and, if configured, also tf odom to base_link. Usually takes as input joystick commands and generates as outputs references for the gazebo controllers defined in summit_xl_control.

summit_xl_waypoints

pass a set of goals from a file to the move_base stack.

wam_description

Barrett WAM (Whole Arm Manipulator) urdf and meshes.

xl_terabot_description

Robot description of the XL-Terabot robot.

x_wam_moveit

Draft moveit package to control the X-WAM.

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/RobotnikAutomation/summit_xl_sim.git
VCS Type git
VCS Version kinetic-devel
Last Updated 2021-04-15
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
summit_xl_gazebo 1.1.3
summit_xl_sim 1.1.3
summit_xl_sim_bringup 1.1.3

README

summit_xl_sim

Packages for the simulation of the Summit XL

Packages

summit_xl_gazebo

Launch files and world files to start the models in gazebo

summit_xl_sim_bringup

Launch files that launch the complete simulation of the robot/s

Simulating Summit XL

  1. Install the following dependencies:

    • summit_xl_common link
    • robotnik_msgs link
    • robotnik_sensors link

    In the workspace install the packages dependencies:

    rosdep install --from-paths src --ignore-src -r -y

  1. Launch Summit XL simulation (1 robot by default, up to 3 robots):
  2. Summit XL:
  roslaunch summit_xl_sim_bringup summit_xl_complete.launch

  • or Summit XL Steel:
  roslaunch summit_xl_sim_bringup summit_xls_complete.launch

Optional general arguments:

  <arg name="launch_rviz" default="true"/>
  <arg name="gazebo_world" default="$(find summit_xl_gazebo)/worlds/summit_xl_office.world"/>
  <arg name="omni_drive" default="false"/> (only for Summit XL)
  <arg name="use_gpu_for_simulation" default="false"/>

By default the Gazebo plugin Planar Move to ignore the physics of the wheels + the skid steering kinematics. In case you want to disable this plugin, set the following arguments:

  roslaunch summit_xl_sim_bringup summit_xl_complete.launch ros_planar_move_plugin:=false omni_drive:=false

Optional robot arguments:

  <!--arguments for each robot (example for robot A)-->
  <arg name="id_robot_a" default="robot"/>
  <arg name="launch_robot_a" default="true"/>
  <arg name="map_file_a" default="willow_garage/willow_garage.yaml"/>
  <arg name="localization_robot_a" default="false"/>
  <arg name="gmapping_robot_a" default="false"/>
  <arg name="amcl_and_mapserver_a" default="true"/>
  <arg name="x_init_pose_robot_a" default="0" />
  <arg name="y_init_pose_robot_a" default="0" />
  <arg name="z_init_pose_robot_a" default="0" />
  <arg name="xacro_robot_a" default="summit_xl_std.urdf.xacro"/>

  • Example to launch simulation with 3 Summit XL robots:
  roslaunch summit_xl_sim_bringup summit_xl_complete.launch launch_robot_b:=true launch_robot_c:=true

  • Example to launch simulation with 1 Summit XL robot with navigation:

  roslaunch summit_xl_sim_bringup summit_xl_complete.launch move_base_robot_a:=true amcl_and_mapserver_a:=true

  1. Enjoy! You can use the topic "${id_robot}/robotnik_base_control/cmd_vel" to control the Summit XL robot or send simple goals using "/${id_robot}/move_base_simple/goal"

CONTRIBUTING

No CONTRIBUTING.md found.