sas
Modularised monitoring, logging, and control of robots.
Loading...
Searching...
No Matches
SdfSerialManipulatorLoader.h File Reference

Loads a SerialManipulatorSimulatorFriendly kinematic model from a Gazebo-SDF-compatible model description. More...

#include <string>
#include <vector>
#include <Eigen/Dense>
#include <gz/math/Pose3.hh>
#include <sdf/Model.hh>
#include <sdf/World.hh>
#include <dqrobotics/DQ.h>
#include <marinholab/sas/core/modeling/serial_manipulator_simulator_friendly.hpp>

Go to the source code of this file.

Classes

struct  sas_robot_driver_gazebo::SdfManipulatorResult
 Result of loading a serial manipulator from SDF. More...
class  sas_robot_driver_gazebo::SdfSerialManipulatorLoader
 Builds a SerialManipulatorSimulatorFriendly from an SDF model. More...

Namespaces

namespace  sas_robot_driver_gazebo

Detailed Description

Loads a SerialManipulatorSimulatorFriendly kinematic model from a Gazebo-SDF-compatible model description.

The model class ships in the marinholab-sas-core package (MarinhoLab/sas_cpp), where it lives as marinholab::sas::core::modeling::SerialManipulatorSimulatorFriendly.

A serial-manipulator SDF model (one base link followed by a chain of joint/link pairs, each joint acting about the +z axis of its joint frame) maps one-to-one onto the three per-joint vectors that define a SerialManipulatorSimulatorFriendly:

joint <pose> (rel. to parent link) -> offset_before_[i] joint <type>+<axis> (about +z) -> actuation_types_[i] child link <pose> (rel. to joint) -> offset_after_[i] base link <pose> (world) -> reference_frame_

The conversion from an SDF pose to a dual quaternion is a homomorphism with respect to dqrobotics' DQ::operator* (verified against gz::math::Pose3d composition and an independent 4x4 matrix chain).