{"id":21103131,"url":"https://github.com/robotnikautomation/summit_xl_sim","last_synced_at":"2025-07-31T04:13:29.526Z","repository":{"id":19806058,"uuid":"23066201","full_name":"RobotnikAutomation/summit_xl_sim","owner":"RobotnikAutomation","description":"Packages for the simulation of the Summit XL, Summit XL HL and Summit-X (including X-WAM) robots","archived":false,"fork":false,"pushed_at":"2023-11-21T11:06:27.000Z","size":12132,"stargazers_count":76,"open_issues_count":17,"forks_count":42,"subscribers_count":15,"default_branch":"melodic-devel","last_synced_at":"2025-04-04T05:40:08.705Z","etag":null,"topics":["docker","gazebo","gazebo-ros","gazebo-simulator","kinetic","melodic","robots","ros","ros-kinetic","ros-melodic","summit-xl"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RobotnikAutomation.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2014-08-18T09:50:43.000Z","updated_at":"2025-03-28T06:27:27.000Z","dependencies_parsed_at":"2023-10-11T19:23:40.340Z","dependency_job_id":null,"html_url":"https://github.com/RobotnikAutomation/summit_xl_sim","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/RobotnikAutomation/summit_xl_sim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobotnikAutomation%2Fsummit_xl_sim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobotnikAutomation%2Fsummit_xl_sim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobotnikAutomation%2Fsummit_xl_sim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobotnikAutomation%2Fsummit_xl_sim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RobotnikAutomation","download_url":"https://codeload.github.com/RobotnikAutomation/summit_xl_sim/tar.gz/refs/heads/melodic-devel","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobotnikAutomation%2Fsummit_xl_sim/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267986443,"owners_count":24176632,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-31T02:00:08.723Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","gazebo","gazebo-ros","gazebo-simulator","kinetic","melodic","robots","ros","ros-kinetic","ros-melodic","summit-xl"],"created_at":"2024-11-19T23:57:49.054Z","updated_at":"2025-07-31T04:13:29.473Z","avatar_url":"https://github.com/RobotnikAutomation.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# summit_xl_sim\n\nPackages for the simulation of the Summit XL\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"doc/summit_xl.jpeg\" height=\"275\" /\u003e\n  \u003cimg src=\"doc/summit_xl_steel.jpeg\" height=\"275\" /\u003e\n  \u003cimg src=\"doc/summit_xl_gazebo.png\" height=\"275\" /\u003e\n  \u003cimg src=\"doc/summit_xl_steel_gazebo.png\" height=\"275\" /\u003e\n\u003c/p\u003e\n\nThis packages contains: \n\n## summit_xl_gazebo\n\nLaunch files and world files to start the models in gazebo\n\n## summit_xl_sim_bringup\n\nLaunch files that launch the complete simulation of the robot/s\n\n## Simulating Summit XL\n\nThis simulation has been tested using Gazebo 9 version.\n\n## Installation and run instruccions\n\n### 1. Install the following dependencies:\n\n To facilitate the installation you can use the vcstool:\n\n```bash\nsudo apt-get install -y python3-vcstool\n```\n\n### 2. Create a workspace and clone the repository:\n\n```bash\nmkdir catkin_ws\ncd catkin_ws\n```\n\nInstall the latest version of the simulation:\n\n```bash\nvcs import --input https://raw.githubusercontent.com/RobotnikAutomation/summit_xl_sim/melodic-devel/repos/summit_xl_sim_devel.repos\n```\n\n**Install the ROS dependencies**\n\n```bash\nrosdep install --from-paths src --ignore-src --skip-keys=\"summit_xl_robot_control marker_mapping robotnik_locator robotnik_pose_filter robotnik_gazebo_elevator\" -y -r\n```\n\n\u003c!--\nFor the stable version (some latest features may be not available):\n\n```bash\nvcs import --input \\\n  https://raw.githubusercontent.com/RobotnikAutomation/summit_xl_sim/melodic-master/doc/summit_xl_sim.repos\nrosdep install --from-paths src --ignore-src --skip-keys=\"summit_xl_robot_control\" -y\n``` --\u003e\n\n### 3. Compile:\n\n```bash\ncatkin build\nsource devel/setup.bash\n```\n\n**ONLY: if catkin build doesn't work:** The package catkin-tools is need to compile with catkin build:\n\n```bash\nsudo sh -c 'echo \"deb http://packages.ros.org/ros/ubuntu `lsb_release -sc` main\" \u003e /etc/apt/sources.list.d/ros-latest.list'\nwget http://packages.ros.org/ros.key -O - | sudo apt-key add -\nsudo apt-get update\nsudo apt-get install python-catkin-tools\n```\n\n### 4. Launch Summit XL simulation (1 robot by default, up to 3 robots):\n\n#### Summit XL:\n\n```bash\nroslaunch summit_xl_sim_bringup summit_xl_complete.launch\n```\n\n#### Summit XL with Trossen Arm\n\n```bash\nroslaunch 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\n```\n\nLaunch moveit to plan trajectories:\n\n```bash\nROS_NAMESPACE=robot roslaunch summit_xl_vx300s_moveit_config demo.launch\n```\n\n#### Summit XL with Kinova Arm\n\n```bash\nroslaunch 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 amcl_and_mapserver_a:=false move_base_robot_a:=false\n```\n\n**Note:** in this configuration the robot has not laser, therefore the amcl is turned off. When Rviz is opened, change robot_map to robot_odom in ```fixed_frame```  in order to visualize the robot.\n\n#### or Summit XL Steel:\n\n```bash\nroslaunch summit_xl_sim_bringup summit_xls_complete.launch\n```\n\n#### Optional general arguments:\n\n```xml\n\u003carg name=\"launch_rviz\" default=\"true\"/\u003e\n\u003carg name=\"gazebo_world\" default=\"$(find summit_xl_gazebo)/worlds/summit_xl_office.world\"/\u003e\n\u003carg name=\"omni_drive\" default=\"false\"/\u003e (only for Summit XL)\n\u003carg name=\"use_gpu_for_simulation\" default=\"false\"/\u003e\n```\n\nBy default the Gazebo plugin [Planar Move](http://gazebosim.org/tutorials?tut=ros_gzplugins) to ignore the physics of the wheels + the skid steering kinematics. In case you want to disable this plugin, set the following arguments:\n\n```bash\nroslaunch summit_xl_sim_bringup summit_xl_complete.launch \\\n  ros_planar_move_plugin:=false \\\n  omni_drive:=false\n```\n\n#### Optional robot arguments:\n\n```xml\n\u003c!--arguments for each robot (example for robot A)--\u003e\n\u003carg name=\"id_robot_a\" default=\"robot\"/\u003e\n\u003carg name=\"launch_robot_a\" default=\"true\"/\u003e\n\u003carg name=\"map_file_a\" default=\"willow_garage/willow_garage.yaml\"/\u003e\n\u003carg name=\"localization_robot_a\" default=\"false\"/\u003e\n\u003carg name=\"gmapping_robot_a\" default=\"false\"/\u003e\n\u003carg name=\"amcl_and_mapserver_a\" default=\"true\"/\u003e\n\u003carg name=\"x_init_pose_robot_a\" default=\"0\" /\u003e\n\u003carg name=\"y_init_pose_robot_a\" default=\"0\" /\u003e\n\u003carg name=\"z_init_pose_robot_a\" default=\"0\" /\u003e\n\u003carg name=\"xacro_robot_a\" default=\"summit_xl_std.urdf.xacro\"/\u003e\n```\n\n- Example to launch simulation with 3 Summit XL robots:\n\n```bash\nroslaunch summit_xl_sim_bringup summit_xl_complete.launch \\\n  launch_robot_b:=true \\\n  launch_robot_c:=true\n```\n\n- Example to launch simulation with 1 Summit XL robot with navigation:\n\n```bash\nroslaunch summit_xl_sim_bringup summit_xl_complete.launch \\\n  move_base_robot_a:=true \\\n  amcl_and_mapserver_a:=true\n```\n\nEnjoy! 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`\n\n## Docker usage\n\n### Installation of required files\n\n#### Intel GPU\n\n- [docker engine](https://docs.docker.com/engine/install/ubuntu/)\n- [docker compose plugin](https://docs.docker.com/compose/install/linux/)\n\n#### Nvidia GPU\n\n- [docker engine](https://docs.docker.com/engine/install/ubuntu/)\n\n- [docker compose plugin](https://docs.docker.com/compose/install/linux/)\n\n- nvidia-drivers\n\n- [nvidia-docker](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker)\n\n### Usage\n\n```bash\ngit clone https://github.com/RobotnikAutomation/summit_xl_sim.git\ncd summit_xl_sim\ngit checkout melodic-devel\nexport ROS_BU_PKG=\"summit_xl_sim_bringup\"\nexport ROS_BU_LAUNCH=\"summit_xl_complete.launch\"\nnvidia-smi \u0026\u003e/dev/null \\\n\u0026\u0026 ln -sf docker-compose-nvidia.yml docker-compose.yml \\\n|| ln -sf docker-compose-intel.yml docker-compose.yml\ndocker compose up\n```\n\n#### Selecting the robot model\n\nYou can select the robot, the launch file of package using the optional arguments on launch\nBy default the selected robot is `summit_xl`\n\n**Summit XL GEN**\n\n```bash\nexport ROS_BU_PKG=\"summit_xl_sim_bringup\"\nexport ROS_BU_LAUNCH=\"summit_xl_gen_complete.launch\"\ndocker compose up\n```\n\n**Summit XLS**\n\n```bash\nexport ROS_BU_PKG=\"summit_xl_sim_bringup\"\nexport ROS_BU_LAUNCH=\"summit_xls_complete.launch\"\ndocker compose up\n```\n\n#### Manual Build\n\nIf you wish to build the image without launching the simulation use the following commands:\n\n```bash\ncd docker\ndocker compose build\n```\n\n#### Notes\n\nThis is docker requires a graphical interface\n\n- In order to exit you have to 2 options\n\n- The `ROS_MASTER_URI` is accessible outside the container, so in the host any ros command should work\n\n- You could also run a `roscore` previous to launch the simulation in order to have some processes on the host running\n\n- if you want to enter on the container use the following command in another terminal\n1. Close `gazebo` and `rviz` and wait a bit\n\n2. execute in another terminal:\n   \n   ```bash\n   docker container rm --force summit_xl_sim_instance\n   ```\n\n#### Notes\n\n- This is docker requires a graphical interface\n\n- The `ROS_MASTER_URI` is accessible outside the container, so in the host any ros command should work\n\n- You could also run a `roscore` previous to launch the simulation in order to have some processes on the host running\n\n- if you want to enter on the container use the following command in another terminal\n  \n  ```bash\n  docker container exec -it docker-base-1 bash\n  ```\n\n- In order to exit you have to 2 options\n1. Close `gazebo` and `rviz` and wait a bit\n\n2. execute in another terminal in the same folder than the `docker-compose.yml`:\n   \n   ```bash\n   docker compose down\n   ```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobotnikautomation%2Fsummit_xl_sim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobotnikautomation%2Fsummit_xl_sim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobotnikautomation%2Fsummit_xl_sim/lists"}