ekumen-os / andino_webots Goto Github PK
View Code? Open in Web Editor NEWWebots simulation of the Andino robot fully integrated with ROS 2
License: BSD 3-Clause "New" or "Revised" License
Webots simulation of the Andino robot fully integrated with ROS 2
License: BSD 3-Clause "New" or "Revised" License
This issue is to track the development of the PROTOSpawner node that will replace the current implementation to spawn a robot from an URDF with the webots_ros2
package.
Currently the tool used to spawn robots on runtime from an URDF is URDFSpawner
. Given that it is about to be deprecated, some change in the deployed version installed by default using rosdep has this functionality broken. The workaround to solve this was to install a specific newer version via Dockerfile. Once the PROTOSpawner
is officially released we should modify this package to implement it using the latest version of webots_ros2
.
The PR including the implementation of PROTOSpawner
can be found here
The generated solid for the caster wheel has a weird structure, adding an unnecessary bounding box in the middle.
Usually hingeJoints contain a solid as an endPoint which is the link to which the joint is attached. In this case the wheel is attached to an intermediate solid, further investigation is required.
Additionally, the hinge joint parameters seem to have the anchor a little off of the wheel's center. It could be related/fixed together.
Project milestones:
Lidar doesn't cast shadows:
When trying to enable this it complains about the complexity of the meshes:
WARNING: Robot "andino" > Solid "solid0" > Solid "solid1" > Pose > Shape > DEF rplidar-a1 Mesh: Too many triangles (26247) in mesh: unable to cast shadows, please reduce the number of triangles below 21845 or set Shape.castShadows to FALSE to disable this warning.
This is an issue that comes from upstream.
The initial pose of Andino when being spawned is currently being set to [0, 0, 0.22]
. Having parameters to modify these values should be a feature.
The generated proto does not translate the colors specified in the gazebo_description URDF. According to urdf2webots the material can be parsed from a list of gazebo materials defined in the package, but this does not seem to be working.
Update readme file description to consolidate package.
Take a look at ROS2 Dev Guide
as good starting point.
Webots uses the contactProperties
field in the world settings to define the physical properties of the interaction between different solids with a specified contactMaterial
.
This is a twofold problem:
contactProperties
sets the properties of friction between 2 contactMaterials
and is configured in the WorldInfo node, which is defined in the .wbt
worldfile.contactMaterial
is defined in the Solid node, which is being automatically generated from the andino URDF. Currently urdf2webots doesn't provide a way of setting a contactMaterial for a solid.Hello, I'm new to docker. I'm trying to complete installation. My ubuntu 22.04 is running with UTM on macOS Sonoma.
Webots installed on MacOS, because cyberbotics doesn't have a build for arm64 ubuntu and it can't build from source. So, I use TCP/IP bridge.
When I try to set up docker env I got error:
Building the docker image for ros2 humble andino development.
[+] Building 0.8s (6/24) docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 1.89kB 0.0s
=> [internal] load metadata for docker.io/osrf/ros:humble-desktop-full 0.5s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> CACHED [ 1/20] FROM docker.io/osrf/ros:humble-desktop-full@sha256:d5b 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 71B 0.0s
=> ERROR [ 2/20] RUN echo 'debconf debconf/frontend select Noninteractiv 0.2s[ 2/20] RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections:
0.153 exec /bin/sh: exec format error
Dockerfile:10
8 | ENV TERM linux
9 | ENV DEBIAN_FRONTEND noninteractive
10 | >>> RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
11 |
12 | # Copy requirement files and install dependenciesERROR: failed to solve: process "/bin/sh -c echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections" did not complete successfully: exit code: 1
I think this is because osrf/ros:humble-desktop-full doesn't support ARM64 architecture. How can I fix it ?
Maybe I must use this arm64/ros docker image ?
The caster_rotation_joint
is created in Webots with a motor device, not allowing the caster to spin freely along the Z-axis. If no motor is generated, the hinge joint is free to move without the need of specifically applying a force to a motor.
The same would apply to the caster_wheel_joint
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.