ROSject of the week: Robotic Snake with Variable Segments, Control and Auto-Collision

This rosject was born from a question in Gazebo Answers that engulfed our interest of what could be possible done procedurally.

And here you have it, you can generate a snake in Gazebo, fully controlled with as many segments as you want, just with a single command. Full documentation and code provided!

ROSject file: http://www.rosject.io/l/5ce5b79d-3ab7-4e99-be86-b8b50913f272/

snake_15_segments

1 Like

hi, is this snake usable as a wire, to simulate e.g. how a servo pulls on a wire-rope? Could it be as small as e.g. 0.45mm diameter ?

Probably yes. You can try it by modifying the dimensions of the basic link model. Since the snake is built procedurally, once you modify the basic element, the full snake/wire will use that for all the links.

is it only in TheConstruct usable , or is the code publicly available? Is the stiffness of the links changeble? to simulate different kinds of wire

All rosjects are downloadable to your local machine.

Rosjects contain the source code of the simulation/ROS code/extra libraries/ Jupyter notebooks. So you can check the code, modify it, download it to your local computer or do whatever you want with it (like change the stiffness of the links).

This is our way to contribute to the Open Source community!!

We create a lot of simulations, documentation and ROS code, and we provide it for free in the form of a rosject. A rosject is just a set of ROS packages with the mentioned content.

But we at The Construct we don’t want to lock you into our system.
You can download any rosject to your local machine as a series of ROS packages, that you can compile and launch locally.

We just think that it is a lot more convenient to work on the cloud than on the local machines. But we let you completely free to decide. You can decide to download the code to your machine. That is great for us!

We will continue providing rosjects for free and letting you download them.
And we will keep insisting how more convenient it is to use it on the cloud instead of locally. Mainly because:

  • You don’t need to install
  • You project will work forever under the same circumstances
  • You can share your project with a single click and it will work in the same way to whoever receives the copies.
  • You can have a class setup in a minute, all people with different computers running the same code
  • You can reproduce the results of other
  • You can work with different versions of ROS
  • You can review the exam, the demo, the problem of a third person and get his problem reproduced in a minute with the same setup as his.

So go ahead and download the rosject if the week! :wink:

INSTRUCTIONS: To download you just need to open the rosject in the ROS Development Studio (just click on open), then go to Tools->IDE. On the IDE, do right click on the directory/directories you want to download, and that’s it!

Enjoy, and let me know if you have any doubt.