Closed mabelzhang closed 4 years ago
0ef4373 should have addressed all the comments above.
Sinking problem remains.
After adding the dynamics plugin and fixing the inertia and collision, the boat is still sinking.
I added parameters for boatWidth
and boatLength
of the new boat to the dynamics file:
https://github.com/osrf/vrx/blob/d07379872d8657ed666a4ca3b39de8ab5013ca3f/wamv_gazebo/urdf/dynamics/wamv_gazebo_dynamics_plugin.xacro#L28-L29
What does hullRadius
refer to? The mass, drag, and length_n
parameters I'm not sure how to calculate them for the new boat.
Chiming in from the cheap seats, but the new vessel and harbor map look spectacular!
@mabelzhang I can help with the USV model parameters. What are the rough dimensions of the vessel (length and width)?
The current USV plugin is specific to a catamaran, but we can use it to approximate the boat you have modeled. For the catamaran, each of the two hulls is modeled as a cylinder and the hull_radius
is the size of each hull, which determines the how the buoyancy force is calculated based on the relative position of the waves and the hull. The length_n
is the discretization along each hull for determining buoyancy forces.
When I run the example it looks like perhaps the USV plugin isn't getting connected to the boat model?
@bsb808 Thanks!! The length is 12.207400 m, and the width is 3.575740 m (according to MeshLab bounding box).
I'll double-check the plugin connection.
I think I know why the boat still sinks. In the case of VRX this is the sequence of operations to spawn the model:
sandisland.launch
) we run xacro on wamv_gazebo.urdf.xacro
.wamv_gazebo.urdf.xacro
, we include wamv_gazebo.xacro
.wamv_gazebo.xacro
, we declare the wamv_gazebo
xacro macro that composes the WAM-V: wamv_base + thruster layout + dynamics plugin.wamv_gazebo.urdf.xacro
, we call the wamv_gazebo
xacro macro with the appropriate parameters.It looks like in VORC we preserve the cora.xacro
and declare a robot_gazebo
macro but we never used it in cora.urdf.xacro
.
We don't need the extra overhead of VRX here, as the configuration is much simple here. I suggest to remove cora.xacro
and add the dynamics plugin to cora.urdf.xacro
.
As for parameters for the USV dynamics, I would start with the inertial and plugin parameters equivalent to those of the WAM-V. This is a good starting point since we know those parameters balance mass/weight and displacement/buoyancy. Once we have the Cora (great name btw) visual with the WAM-V dynamics, I can do a separate PR to tune the dynamics. Similarly I can take care of the propulsion setup once we have a skeleton.
remove
cora.xacro
and add the dynamics plugin tocora.urdf.xacro
.
Thank you for tracking it down! Done in 35cc281.
Reverted length and width to default (taking WAM-V ones).
Flotation is working. Currently the position in the water is too low, but we are updating the boat model to remove the cabin, so the position will probably change soon.
Robot updated to v.2. Still a bit low in the water
Can we please keep both meshes - with and without cabin - in the repository? I think it will be nice to have options.
Can we please keep both meshes
468d82f adds the boat with cabin back. It can be swapped out by changing this line in cora_description/urdf/cora.xacro
<xacro:include filename="$(find cora_description)/urdf/cora.urdf.xacro" />
to
<xacro:include filename="$(find cora_description)/urdf/cora_v1.urdf.xacro" />
Thrusters have been added. Depends on https://github.com/osrf/vrx/pull/218
Tutorial has been updated accordingly with rostopic pub
, keyboard, and joystick controls
https://github.com/osrf/vorc/wiki/Marina-Basic
I kept the inertial parameters the same as those for WAM-V, because these work better than the inertia computed from the meshes. The latter is much lighter, which causes the propellers to rotate too slowly and don't stop immediately when joystick is released.
The inertia of the vehicle looks good to me. The inertia of the thrusters looks suspiciously big. Please, double check on your side comparing it with VRX, which is correct.
64c15df fixed the inertia on the thrusters.
A difference in this robot model from WAM-V is that there is no engine geometry. However, the plugin requires certain links and joints to exist, so empty engine links and joints are added to make the plugin work. An inertia is needed for the non-existent engine link, but the WAM-V inertia has a mass of 15, which is too heavy for the boat - the bottom sinks immediately on startup. So I arbitrarily decreased the mass for the non-existent engine to 0.1, which visualizes inertia boxes closer to sizes in VRX:
1966170 updates the meshes after a face-to-face with Rafi today to figure out the kinks in the previous versions, so that I don't have to manually change the model he sends us. Now I can more or less use his files directly.
The only outstanding issue that I have is related with these errors in rviz:
No transform from [base_link] to [cora/base_link]
No transform from [dummy_link] to [cora/base_link]
It might be related but the texture and the propelers don't show up in RViz either.
@seankrag I recall Brian mentioned you are the veteran with USVs. Rafi, our artist, is still iterating on the model and adding the texture. Let us know if you have feedback about the appearance of the vehicle, and we can relay to Rafi. Brian is computing hydrodynamics parameters for the vehicle in the current state, but we can still tweak the decorative appearances etc. even after this week.
errors in rviz:
I started looking into this yesterday but my computer shut down automatically after a while because it got too hot. I wonder if this is because the wave area is now increased ~3x. Does the wave consume a lot of power?
I'll try to look at it again. It probably has to do with namespacing in the SDF links.
Sure thing, Mabel.
Best, Sean
On Wed, Oct 7, 2020 at 11:13 AM Mabel Zhang notifications@github.com wrote:
@seankrag https://github.com/seankrag I recall Brian mentioned you are the veteran with USVs. Rafi, our artist, is still iterating on the model and adding the texture. Let us know if you have feedback about the appearance of the vehicle, and we can relay to Rafi. Brian is computing hydrodynamics parameters for the vehicle in the current state, but we can still tweak the decorative appearances etc. even after this week.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/osrf/vorc/pull/1#issuecomment-705108028, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARJIVT3NSD5S6GP24JJYXJLSJSVUZANCNFSM4R2WHFDQ .
errors in rviz:
I started looking into this yesterday but my computer shut down automatically after a while because it got too hot. I wonder if this is because the wave area is now increased ~3x. Does the wave consume a lot of power?
I'll try to look at it again. It probably has to do with namespacing in the SDF links.
Out of curiosity, what's your real time factor? Typically I have 1.0
in my machine, so it shouldn't be so bad to shutdown a machine...
Hmm I have 1.0 as well. I don't know if RViz consumed a lot of memory? I don't want to reproduce it to find out, so I shrank the wave area by a little so that it's tighter around the land area, which looks better anyway. I'll be running a bit more conservatively, though it might have just been a one-off incident.
I believe that was the last remaining issue with this PR, and it is ready to merge.
Initial world with terrain, waves, and robot
(mesh only for now, no propellers yet, so it falls right through the waves when unpaused). Depends on https://github.com/osrf/vrx/pull/217 to get the bigger blue water area, as this terrain is larger.Dependency: https://github.com/osrf/vrx I compiled everything with
colcon build
(Wiki documentation for installation forthcomingInitial tutorials are live https://github.com/osrf/vorc/wiki)Test with:
Default camera view at world launch:
Bird's eye view: