Hot answers tagged

5

This is more of a Linux than a Gazebo problem. You can just add this line export GAZEBO_MODEL_PATH=[...]/models:$GAZEBO_MODEL_PATH to your ~/.bashrc file.


5

I did a little step-by-step tutorial with images, but if my other answer regarding aligning frames didn't work well for you, or the definition of "Front Plane" or "Top Plane" is confusing in Solidworks (spoiler: it is), then consider making your own axes. From the assembly tab, go to reference geometry -> axis, then select the assembly planes to make an ...


4

just use matlab or and python with a set of fixed features in space represented as points. Don't do any vision processing. At this point any vision processing would be overkill. you are making this way too complex. the measurements for your slam can be angles to features. create a set of 30 features randomly populating a 20m by 20m square. make your view ...


4

The MATLAB tutorial doesnt cover this aspect well about when you have matlab and gazebo running on the same linux machine with no virtual box. Change your linux ethernet interface ip address statically using: sudo ifconfig eth0 192.168.1.1 netmask 255.255.255.0 assign to ros master the same ip address using: export ROS_MASTER_URI=http://192.168.1....


4

I'm using Gazebo everyday on my i7 ultrabook; and at home, on i3-7100 desktop. They both have Nvidia GPUs. But fortunately, Gazebo doesn't depend on the GPU. It mostly works on the CPU side. Most Gazebo plugins are built for CPU by default, AFAIK there is only GPU plugin for laser sensor, for 7.0. But I suggest using GPU for better desktop experience while ...


3

What you're asking for cannot be accomplished with a PID controller. As I understand your question, you want to be able to choose PID gains that would always produce a "good" trajectory, without tuning. You said it's alright if the motor output is unrealistic, i.e. the motors are "very strong" therefore can produce unlimited torque. ...


3

You asked two questions. Where does Gazebo set the default model path Where should I set the value The second question is perfectly right answered by @Armin Meisterhirn. Best practice is to set the variable in the .bashrc file. The first question, I asked myself as well when starting working with gazebo. In case of the pure Gazebo (no roslaunch, no ...


3

It's a limitation in Gazebo's ability to convert URDF to SDF, Gazebo's native object description format. Frustratingly, RViz works the other way around: it correctly parses URDF colors, but not the SDF fragments inserted by the gazebo tag. One tip though, instead of inlining your material definitions inside links, it's better to define them once at the ...


2

The critical part is the registration between depth data and RGB data. If the registration is calibrated properly then you can just extract the depth for the particular target pixel (X,Y), using interpolation for sub-pixel coordinates. See this answer for help with the registration -- it is a common problem that has already been solved. Once you have the ...


2

You might want to start by checking out AIM - Autonomous Intersection Management by the University of Texas at Austin. It is a simple 2D simulator, but sounds like it has the features you need. Also, you might want to search for civil engineering traffic simulators. I'm sure there are a bunch of them. One more option, you can use something like MASON a ...


2

It looks like most of your parts have no rotation, but some of them do, so I'm going to guess that you didn't mate your assembly to the origin planes in Solidworks. First, on your base plate, open the Solidworks part file and check that the origin planes run through what you want the origin of the part to be. If they don't and it's a pain to re-draw the ...


2

I feel like I'm having to do a lot of work to understand this question. You are trying to simulate two vehicles, and... what's the issue? You are trying to simulate them in Gazebo, right? Have you seen this answer on the ROS website that shows launching two robots in one simulation? As I mention, it's very difficult to read your post, which may explain why ...


2

It seems that Gazebo 8 is based on Qt5 instead of Qt4. The dependencies should be updated and most importantly, we need to install qwt-qt5 instead of qwt, otherwise our executable is linked to both Qt4 and Qt5 which leads to segmentation fault at start. Here is my PKGBUILD for Gazebo: https://gist.github.com/lyx-x/e6908ef82351b462d4b2e480a43b076c ...


2

As you mentioned in your update, One of the possibilities is to simply add mass to the chassis This works because, at some point, you need a reaction force. An applied force (or torque) at any point in a structure will be transmitted through the structure back to a "fixed" object. The fixed object is generally the Earth, and connection to the Earth is ...


2

Answer: The issue is that <origin>, <mass>, and <inertia> tags must be nested inside a <inertial> element for each of the links, instead of being nested in the <link> tag. correct: <link name="${leg_name}_psi_link"> <visual><geometry><sphere radius=".01"/></geometry></visual> <...


2

I wanted to do a similar thing to point to a custom Python logging ROS configuration file. From the way I read the documentation you only need to create a .sh script and it should be run by all of the fancier shell environments (e.g. bash with setup.bash). So I added the following line to CMakeLists.txt for my package: catkin_add_env_hooks(logging_env ...


2

That is a long list of broad questions. Some of the answers depend heavily on application and personal preference. Assuming you're not using ROS2, then you might consider looking at the ros_control package. Not necessarily to use - just read through their architecture and tutorials for now. It will at least help give you an idea of where to start. As for ...


2

Shapes are called links because they're not joints. Keep in mind that these are for robotics and robotic simulations, so the primary concern is going to be expressing the robot's physical structure in such a way that it can be readily used/evaluated by conventional kinematic and dynamic techniques. Notably, Gazebo and the URDF formats are not drafting ...


2

It depends. If you're spawning the robot at runtime, either through the spawn_model service or from the Gazebo model database, then you can just just remove the robot from the simulation (click it and hit the <Delete> key), edit the model file and load it again. If it's directly included in the world file, then as far as I can find, no, you cannot reload ...


2

You might be confusing Gazebo worlds and models. A world is a single SDF file structured as below: <sdf version="VERSION"> <world name="NAME"> <!-- Included models, links etc. --> </world> </sdf> For example, these are the contents of the sample /usr/share/gazebo-9/worlds/willowgarage.world world file: <?xml ...


2

If you mean merging other world's contents into an open world file in the Gazebo GUI, no, there is no way to do that. You can however open the world files in a text editor and just copy contents over. Most worlds are structured as a sequence of <include> tags pointing to external models, so this would be quite easy to do. Notice you can add a <pose&...


1

I've figured out what the problem was. Ubuntu was running a non-default version of python that I had installed for a University python project a couple of years go. I deleted it and now the default version of python is being used, which has solved the problem.


1

After generating the moveit_config package you have to do a lot of work to get it working in simulation. 1)make sure your robot urdf has inertia parameters, if not guess them reasonably. 2)add transmissions to all joints in the urdf and load the gazebo_ros_control plugin (check out gazebo grasp_fix plugin incase you have trouble grasping) 3)add create a ...


1

this may be a bit late to answer, but i hope it may be of help for people learning ros in the future. First, in the URDF model, mu1 and mu2 is friction coefficient was set as 0. If the wheel has no friction coefficient, it has no friction. Hence, the wheel will not move, since it has no friction, ...


1

There may be several reasons: You haven't compiled all your projects in the workspace, to fix it go to your workspace cd ~/catkin_ws then execute catkin_make. If it works and you don't have compilation errors, source your workspace source ~/catkin_ws/devel/setup.bash, then re-try. When you are typing rosrun script forward.py, you expect to launch the script ...


1

I think, that the following two video tutorials can help you with your problem. The first one shows how to convert a laser scan into a pointcloud, and the second shows how to mix several laser scans into a single pointcoud. 1- How to convert a laser scan into a pointcloud 2- How to assemble several laser scans into a single PointCloud


1

First Simulators available like Gazebo, Yes there are many simulators, You can check v-rep (free) or whebots or matlab (non-free) for example. What is the difference between a pure software simulation and a real world (say RC) scale model simulation? The pure simulation don't count noise and non-accurate parameters you use For example when you specify ...


1

Industrial robot controllers (and most "real" robot arm controllers) will have a feedforward term to remove the effect of gravity. Often called gravity compensation. You noticed how necessary this is when you disabled gravity... Check your chain of libraries for an artificial limit being set on the joint effort (torque). You might take a look at moveit! ...


1

Collision detection is a main part of ODE ODE has two main components: a dynamics simulation engine and a collision detection engine. For ODE, there is a wiki page outlining how that part of ODE works. Collision is detected between geometric primitives that have been defined to resemble the shape of the simulated objects. There is a trade-off here ...


1

Based on the figure on pg 27 of the manual, it looks like the EX-106 implements a simple proportional controller, with a deadband when the servo is very close to the goal position. The manual calls the Proportional term "compliance slope" and calls the deadband width "compliance margin." Looks like you can use a different Proportional term in the clockwise ...


Only top voted, non community-wiki answers of a minimum length are eligible