mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-07-05 03:21:42 +00:00
Bring back the gazebo plugins (#1063)
The models and meshes are not included. We will need to find an alternate way to reintegrate these and use them. * Add simulation/gz_msgs back, and build with Gradle. * Add back in the frc simulation plugins for gazebo. * Add a new shared library, halsim_gazebo. This library will become the interface between the HAL sim layer and gazebo. * Preserve the first channel number used in created Encoders in the Sim MockData. This allows us to use the DIO channel number to connect with simulated encoders. * Have the HAL Simulator set the reverse direction on creation. This enables a simulator to be aware of the direction. * Add a drive_motor plugin. This is a bit of a 'magic' motor, which allows us to build robot models that drive in a more realistic fashion. It does this by apply forces directly to the chassis, rather than relying on the complex motion dynamics of a driven wheel. This in turn allows the model to reduce wheel friction, reducing scrub, and allowing for a more natural driving experience.
This commit is contained in:
committed by
Peter Johnson
parent
70960b0251
commit
ebd41fe0bb
47
simulation/gz_msgs/src/include/simulation/gz_msgs/msgs.h
Normal file
47
simulation/gz_msgs/src/include/simulation/gz_msgs/msgs.h
Normal file
@@ -0,0 +1,47 @@
|
||||
/* This was originally auto generated by cmake.
|
||||
However, it changes infrequently enough that it makes
|
||||
sense to simply revise it by hand any time we change
|
||||
the protobuf messages expressed in the .proto files */
|
||||
|
||||
#ifndef _FRC_MSGS_H_
|
||||
#define _FRC_MSGS_H_
|
||||
|
||||
#ifdef _WIN32
|
||||
//include this before anything else includes windows.h
|
||||
//putting this here saves putting it in more files
|
||||
#include <Winsock2.h>
|
||||
#endif
|
||||
|
||||
|
||||
#include "simulation/gz_msgs/bool.pb.h"
|
||||
#include "simulation/gz_msgs/driver-station.pb.h"
|
||||
#include "simulation/gz_msgs/float64.pb.h"
|
||||
#include "simulation/gz_msgs/frc_joystick.pb.h"
|
||||
|
||||
|
||||
#include <gazebo/msgs/msgs.hh>
|
||||
#include <boost/shared_ptr.hpp>
|
||||
|
||||
namespace gazebo {
|
||||
namespace msgs {
|
||||
|
||||
typedef GzString String;
|
||||
|
||||
typedef boost::shared_ptr< gazebo::msgs::String > StringPtr;
|
||||
typedef const boost::shared_ptr< const gazebo::msgs::String > ConstStringPtr;
|
||||
|
||||
typedef boost::shared_ptr< msgs::Float64 > Float64Ptr;
|
||||
typedef const boost::shared_ptr< const msgs::Float64 > ConstFloat64Ptr;
|
||||
|
||||
typedef boost::shared_ptr< msgs::Bool > BoolPtr;
|
||||
typedef const boost::shared_ptr< const msgs::Bool > ConstBoolPtr;
|
||||
|
||||
typedef boost::shared_ptr< msgs::FRCJoystick > FRCJoystickPtr;
|
||||
typedef const boost::shared_ptr< const msgs::FRCJoystick > ConstFRCJoystickPtr;
|
||||
|
||||
typedef boost::shared_ptr< msgs::DriverStation > DriverStationPtr;
|
||||
typedef const boost::shared_ptr< const msgs::DriverStation > ConstDriverStationPtr;
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* _FRC_MSGS_H_ */
|
||||
15
simulation/gz_msgs/src/main/proto/bool.proto
Normal file
15
simulation/gz_msgs/src/main/proto/bool.proto
Normal file
@@ -0,0 +1,15 @@
|
||||
package gazebo.msgs;
|
||||
|
||||
/// \ingroup gazebo_msgs
|
||||
/// \interface Bool
|
||||
/// \brief A message for boolean data
|
||||
/// \verbatim
|
||||
|
||||
option java_outer_classname = "GzBool";
|
||||
|
||||
message Bool
|
||||
{
|
||||
required bool data = 1;
|
||||
}
|
||||
|
||||
/// \endverbatim
|
||||
21
simulation/gz_msgs/src/main/proto/driver-station.proto
Normal file
21
simulation/gz_msgs/src/main/proto/driver-station.proto
Normal file
@@ -0,0 +1,21 @@
|
||||
package gazebo.msgs;
|
||||
|
||||
/// \ingroup gazebo_msgs
|
||||
/// \interface DriverStation
|
||||
/// \brief A message for DriverStation data
|
||||
/// \verbatim
|
||||
|
||||
option java_outer_classname = "GzDriverStation";
|
||||
|
||||
message DriverStation
|
||||
{
|
||||
required bool enabled = 1;
|
||||
enum State {
|
||||
AUTO = 0;
|
||||
TELEOP = 1;
|
||||
TEST = 2;
|
||||
}
|
||||
required State state = 2;
|
||||
}
|
||||
|
||||
/// \endverbatim
|
||||
15
simulation/gz_msgs/src/main/proto/float64.proto
Normal file
15
simulation/gz_msgs/src/main/proto/float64.proto
Normal file
@@ -0,0 +1,15 @@
|
||||
package gazebo.msgs;
|
||||
|
||||
/// \ingroup gazebo_msgs
|
||||
/// \interface Float64
|
||||
/// \brief A message for floating point data
|
||||
/// \verbatim
|
||||
|
||||
option java_outer_classname = "GzFloat64";
|
||||
|
||||
message Float64
|
||||
{
|
||||
required double data = 1;
|
||||
}
|
||||
|
||||
/// \endverbatim
|
||||
16
simulation/gz_msgs/src/main/proto/frc_joystick.proto
Normal file
16
simulation/gz_msgs/src/main/proto/frc_joystick.proto
Normal file
@@ -0,0 +1,16 @@
|
||||
package gazebo.msgs;
|
||||
|
||||
/// \ingroup gazebo_msgs
|
||||
/// \interface Joystick
|
||||
/// \brief A message for joystick data
|
||||
/// \verbatim
|
||||
|
||||
option java_outer_classname = "GzFRCJoystick";
|
||||
|
||||
message FRCJoystick
|
||||
{
|
||||
repeated double axes = 1;
|
||||
repeated bool buttons = 2;
|
||||
}
|
||||
|
||||
/// \endverbatim
|
||||
Reference in New Issue
Block a user