ODESurfaceParams.hh
Go to the documentation of this file.
1/*
2 * Copyright (C) 2012 Open Source Robotics Foundation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16*/
17
18#ifndef _GAZEBO_ODESURFACEPARAMS_HH_
19#define _GAZEBO_ODESURFACEPARAMS_HH_
20
21#include <sdf/sdf.hh>
22
23#include "gazebo/msgs/msgs.hh"
25#include "gazebo/util/system.hh"
26
27namespace gazebo
28{
29 namespace physics
30 {
33
35 class GZ_PHYSICS_VISIBLE ODESurfaceParams : public SurfaceParams
36 {
39
41 public: virtual ~ODESurfaceParams();
42
45 public: virtual void Load(sdf::ElementPtr _sdf);
46
47 // Documentation inherited.
48 public: virtual void FillMsg(msgs::Surface &_msg);
49
50 // Documentation inherited.
51 public: virtual void ProcessMsg(const msgs::Surface &_msg);
52
53 // Documentation inherited.
54 public: virtual FrictionPyramidPtr FrictionPyramid() const;
55
59 public: double bounce;
60
64 public: double bounceThreshold;
65
71 public: double kp;
72
78 public: double kd;
79
84 public: double cfm;
85
90 public: double erp;
91
97 public: double maxVel;
98
102 public: double minDepth;
103
107 public: double slip1;
108
112 public: double slip2;
113
115 public: double slipTorsion;
116
122 private: FrictionPyramidPtr frictionPyramid;
123 };
125 }
126}
127#endif
ODE surface parameters.
Definition ODESurfaceParams.hh:36
virtual ~ODESurfaceParams()
Destructor.
double slip2
Artificial contact slip in the secondary friction dirction.
Definition ODESurfaceParams.hh:112
double kd
spring damping constant equivalents of a contact as a function of SurfaceParams::cfm and SurfaceParam...
Definition ODESurfaceParams.hh:78
double minDepth
Minimum depth before ERP takes effect.
Definition ODESurfaceParams.hh:102
virtual void FillMsg(msgs::Surface &_msg)
Fill in a surface message.
double cfm
Constraint Force Mixing parameter.
Definition ODESurfaceParams.hh:84
virtual void ProcessMsg(const msgs::Surface &_msg)
Process a surface message.
double slip1
Artificial contact slip in the primary friction direction.
Definition ODESurfaceParams.hh:107
double bounceThreshold
minimum contact velocity for bounce to take effect, otherwise the collision is treated as an inelasti...
Definition ODESurfaceParams.hh:64
virtual FrictionPyramidPtr FrictionPyramid() const
Get access to FrictionPyramid data, if available.
virtual void Load(sdf::ElementPtr _sdf)
Load the contact params.
double kp
spring constant equivalents of a contact as a function of SurfaceParams::cfm and SurfaceParams::erp.
Definition ODESurfaceParams.hh:71
double bounce
bounce restitution coefficient [0,1], with 0 being inelastic, and 1 being perfectly elastic.
Definition ODESurfaceParams.hh:59
double maxVel
Maximum interpenetration error correction velocity.
Definition ODESurfaceParams.hh:97
double slipTorsion
Artificial contact slip in torsional dirction.
Definition ODESurfaceParams.hh:115
double erp
Error Reduction Parameter.
Definition ODESurfaceParams.hh:90
SurfaceParams defines various Surface contact parameters.
Definition SurfaceParams.hh:168
boost::shared_ptr< FrictionPyramid > FrictionPyramidPtr
Definition PhysicsTypes.hh:165
Forward declarations for the common classes.
Definition Animation.hh:27