Skip to content

Commit

Permalink
Reformat legged_common and legged_hw
Browse files Browse the repository at this point in the history
  • Loading branch information
qiayuanl committed Dec 18, 2022
1 parent c0a606d commit 6254729
Show file tree
Hide file tree
Showing 15 changed files with 256 additions and 413 deletions.
75 changes: 0 additions & 75 deletions .clang-format

This file was deleted.

52 changes: 0 additions & 52 deletions .clang-tidy

This file was deleted.

24 changes: 15 additions & 9 deletions legged_common/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,7 @@
cmake_minimum_required(VERSION 3.10)
project(legged_common)

## Use C++14
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

## By adding -Wall and -Werror, the compiler does not ignore warnings anymore,
## enforcing cleaner code.
add_definitions(-Wall -Werror -Wno-enum-compare)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

find_package(catkin REQUIRED
COMPONENTS
Expand All @@ -30,12 +24,24 @@ include_directories(
${catkin_INCLUDE_DIRS}
)

file(GLOB_RECURSE sources "src/*.cpp")

add_library(${PROJECT_NAME} INTERFACE)

target_include_directories(${PROJECT_NAME} INTERFACE include)

#########################
### CLANG TOOLING ###
#########################
find_package(cmake_clang_tools QUIET)
if (cmake_clang_tools_FOUND)
message(STATUS "Run clang tooling for target " ${PROJECT_NAME})
add_clang_tooling(
TARGETS ${PROJECT_NAME}
SOURCE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_SOURCE_DIR}/include
CT_HEADER_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include
CF_WERROR
)
endif (cmake_clang_tools_FOUND)

#############
## Install ##
#############
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
//
// Created by qiayuan on 2021/11/5.
//
#pragma once
#include <hardware_interface/internal/hardware_resource_manager.h>
#include <hardware_interface/joint_state_interface.h>

namespace legged {
class ContactSensorHandle {
public:
ContactSensorHandle() = default;

ContactSensorHandle(const std::string& name, const bool* is_contact) : name_(name), is_contact_(is_contact) {
if (is_contact == nullptr) {
throw hardware_interface::HardwareInterfaceException("Cannot create handle '" + name + "'. is_contact pointer is null.");
}
}

std::string getName() const { return name_; }

bool isContact() const {
assert(is_contact_);
return *is_contact_;
}

private:
std::string name_;

const bool* is_contact_ = {nullptr};
};

class ContactSensorInterface
: public hardware_interface::HardwareResourceManager<ContactSensorHandle, hardware_interface::DontClaimResources> {};

} // namespace legged
Original file line number Diff line number Diff line change
Expand Up @@ -5,112 +5,88 @@
#include <hardware_interface/internal/hardware_resource_manager.h>
#include <hardware_interface/joint_state_interface.h>

namespace legged
{
class HybridJointHandle : public hardware_interface::JointStateHandle
{
public:
namespace legged {
class HybridJointHandle : public hardware_interface::JointStateHandle {
public:
HybridJointHandle() = default;

HybridJointHandle(const JointStateHandle& js, double* pos_des, double* vel_des, double* kp, double* kd, double* ff)
: JointStateHandle(js), pos_des_(pos_des), vel_des_(vel_des), kp_(kp), kd_(kd), ff_(ff)
{
if (!pos_des_)
{
: JointStateHandle(js), pos_des_(pos_des), vel_des_(vel_des), kp_(kp), kd_(kd), ff_(ff) {
if (pos_des_ == nullptr) {
throw hardware_interface::HardwareInterfaceException("Cannot create handle '" + js.getName() +
"'. Position desired data pointer is null.");
}
if (!vel_des_)
{
if (vel_des_ == nullptr) {
throw hardware_interface::HardwareInterfaceException("Cannot create handle '" + js.getName() +
"'. Velocity desired data pointer is null.");
}
if (!kp_)
{
throw hardware_interface::HardwareInterfaceException("Cannot create handle '" + js.getName() +
"'. Kp data pointer is null.");
if (kp_ == nullptr) {
throw hardware_interface::HardwareInterfaceException("Cannot create handle '" + js.getName() + "'. Kp data pointer is null.");
}
if (!kd_)
{
throw hardware_interface::HardwareInterfaceException("Cannot create handle '" + js.getName() +
"'. Kd data pointer is null.");
if (kd_ == nullptr) {
throw hardware_interface::HardwareInterfaceException("Cannot create handle '" + js.getName() + "'. Kd data pointer is null.");
}
if (!ff_)
{
if (ff_ == nullptr) {
throw hardware_interface::HardwareInterfaceException("Cannot create handle '" + js.getName() +
"'. Feedforward data pointer is null.");
}
}
void setPositionDesired(double cmd)
{
void setPositionDesired(double cmd) {
assert(pos_des_);
*pos_des_ = cmd;
}
void setVelocityDesired(double cmd)
{
void setVelocityDesired(double cmd) {
assert(vel_des_);
*vel_des_ = cmd;
}
void setKp(double cmd)
{
void setKp(double cmd) {
assert(kp_);
*kp_ = cmd;
}
void setKd(double cmd)
{
void setKd(double cmd) {
assert(kd_);
*kd_ = cmd;
}
void setFeedforward(double cmd)
{
void setFeedforward(double cmd) {
assert(ff_);
*ff_ = cmd;
}
void setCommand(double pos_des, double vel_des, double kp, double kd, double ff)
{
void setCommand(double pos_des, double vel_des, double kp, double kd, double ff) {
setPositionDesired(pos_des);
setVelocityDesired(vel_des);
setKp(kp);
setKd(kd);
setFeedforward(ff);
}
double getPositionDesired()
{
double getPositionDesired() {
assert(pos_des_);
return *pos_des_;
}
double getVelocityDesired()
{
double getVelocityDesired() {
assert(vel_des_);
return *vel_des_;
}
double getKp()
{
double getKp() {
assert(kp_);
return *kp_;
}
double getKd()
{
double getKd() {
assert(kd_);
return *kd_;
}
double getFeedforward()
{
double getFeedforward() {
assert(ff_);
return *ff_;
}

private:
double* pos_des_ = { nullptr };
double* vel_des_ = { nullptr };
double* kp_ = { nullptr };
double* kd_ = { nullptr };
double* ff_ = { nullptr };
private:
double* pos_des_ = {nullptr};
double* vel_des_ = {nullptr};
double* kp_ = {nullptr};
double* kd_ = {nullptr};
double* ff_ = {nullptr};
};

class HybridJointInterface
: public hardware_interface::HardwareResourceManager<HybridJointHandle, hardware_interface::ClaimResources>
{
};
class HybridJointInterface : public hardware_interface::HardwareResourceManager<HybridJointHandle, hardware_interface::ClaimResources> {};

} // namespace legged

This file was deleted.

Loading

0 comments on commit 6254729

Please sign in to comment.