Giter Site home page Giter Site logo

mingshanhe / compliant-control-and-application Goto Github PK

View Code? Open in Web Editor NEW
249.0 3.0 51.0 41.94 MB

Compliant Control: 1) admittance control algorithm 2) impedance control algorithm 3) hybrid force&position algorithm in robotic arm (Universal Robot).

Home Page: https://mingshanhe.github.io/Compliant-Control-and-Application/

License: MIT License

CMake 18.17% C++ 66.28% Python 15.44% Shell 0.12%
admittance compliant wrench ros universal-robot impedance gazebo control hybrid mobile

compliant-control-and-application's Introduction

Hey 👋, I am Mingshan (Beal) He 😀.

Typing SVG


I am the Master Student in BioRobotics Laboratory in Seoul National University now. I have graduated from Faculty of Robot Science and Engineering, Northeastern University (China), at 2021. And I have a control engineer 👨‍💻 experience and a research assistant experience.


Beal. Mingshan He's Stats🏫 Bachelor: Northeastern University (Robot Eng)

🌱 Master: Seoul National University (ME)

📫 Email: Gmail Badge

🇨🇳 wechat ID: neu_hms

⚽ Team: 东北大学 浙江大学


GIF

Languages and Frameworks

Python C++ C ROS

Tools and Environments

VSCode Git Ubuntu Markdown Matlab MacOS Linux

Interests and Contributions

  • Soft Robot
  • System Contribution(Mechanical and Electrical)
  • Control Algorithm

       

compliant-control-and-application's People

Contributors

mingshanhe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

compliant-control-and-application's Issues

/cartesian_velocity_controller/ee_state

我想知道/cartesian_velocity_controller/ee_state 这个话题的具体代码在哪里看,我想把导纳控制移植到自己的机械臂上,但我不知道该怎么让/gazebo节点也发送/cartesian_velocity_controller/ee_state话题。
微信图片_20230713145706

'cartesian_state_msgs/PoseTwist.h'

hello, the system has the following error after catkin_make. Can you tell me where can I find the 'cartesian_state_msgs/PoseTwist.h'? Thank you for your help.

In file included from /home/gaoxu/catkin_ws/src/Admittance-and-Application-simulation-devel/control_algorithm/hybrid_position_force_control/src/hybrid_position_force_control.cpp:8:0:
/home/gaoxu/catkin_ws/src/Admittance-and-Application-simulation-devel/control_algorithm/hybrid_position_force_control/include/hybrid_position_force_control/hybrid_position_force_control.h:14:44: fatal error: cartesian_state_msgs/PoseTwist.h: 没有那个文件或目录
compilation terminated.
Admittance-and-Application-simulation-devel/control_algorithm/hybrid_position_force_control/CMakeFiles/hybrid_position_force_control.dir/build.make:75: recipe for target 'Admittance-and-Application-simulation-devel/control_algorithm/hybrid_position_force_control/CMakeFiles/hybrid_position_force_control.dir/src/hybrid_position_force_control.cpp.o' failed
make[2]: *** [Admittance-and-Application-simulation-devel/control_algorithm/hybrid_position_force_control/CMakeFiles/hybrid_position_force_control.dir/src/hybrid_position_force_control.cpp.o] Error 1
CMakeFiles/Makefile2:3049: recipe for target 'Admittance-and-Application-simulation-devel/control_algorithm/hybrid_position_force_control/CMakeFiles/hybrid_position_force_control.dir/all' failed
make[1]: *** [Admittance-and-Application-simulation-devel/control_algorithm/hybrid_position_force_control/CMakeFiles/hybrid_position_force_control.dir/all] Error 2
Makefile:145: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j2 -l2" failed

代码移植

你好,感谢你上传的力控代码,我在移植代码时会认真地标明出处。

问题:
我尝试将你写的基于ur5e的导纳控制仿真移植到,自己搭建的7DOFs机械臂上,以下是我的模型:
image

我在移植 https://github.com/MingshanHe/Compliant-Control-and-Application/tree/noetic/robots/universal_robot/fmauch_universal_robot/ur_description/config/ur5e ,这个目录下的yaml文件时,遇到了困难,请问

  • default_kinematics.yaml
  • physical_parameters.yaml
    这两个文件内容,是如何获取的?

感谢

Problems connecting to a real robot

I tried incorporating the real-robot version into my own UR5e startup file.
But running have an error:
[ERROR] [1645000038.861793476]: Could not load controller 'cartesian_velocity_controller_sim' because controller type 'cartesian_controller/CartesianVelocityController' does not exist.
It doesn't seem to recognize your custom controller type, how can I do for this?

导纳问题请教

校友你好呀,你这些做的真好!
我有几个问题,就是UR5机器人控制频率只有125hz,采用末端六维力传感器时,这个对于做位置导纳控制有影响吗?我做位置导纳时,机械臂有时会抖动,做速度导纳时就还好,这机器人适合采用位置导纳吗?

About Wrench_Fake.launch file

Hello, I have a problem about the Wrench_Fake.launch file, when I started the launch file, it says this.
image
Is this because I need to add information to the launch file by my own?

Application (Hybrid Admittance Control)

r5ebase_link-base_link_inertia type: Fixed
[ERROR] [1702048263.515887367]: Exception thrown while initializing controller 'cartesian_velocity_controller'.
Could not find resource 'ur5ebase_link-base_link_inertia' in 'hardware_interface::PositionJointInterface'.
[ERROR] [1702048263.515921944]: Initializing controller 'cartesian_velocity_controller' failed
when I run roslaunch mir_gazebo mir_empty_world.launch

导纳问题请教

校友你好呀,你这些做的真好!
我有几个问题,就是UR5机器人控制频率只有125hz,采用末端六维力传感器时,这个对于做位置导纳控制有影响吗?我做位置导纳时,机械臂有时会抖动,做速度导纳时就还好,这机器人适合采用位置导纳吗?

resource not found

hello, can you tell me where can I find the 'universal_robot_databag'? Thank you for your help.
图片

rostopic: error: Argument error: mapping values are not allowed here in "<unicode string>", line 1, column 12: position: x: -0.10 y: 0.30 z: 0.30 orientat ... ^

dai@dai-virtual-machine:~/catkin_ws$ rostopic pub /desired_carteisan_pose_cmd geometry_msgs/Pose "position: x: -0.10 y: 0.30 z: 0.30 orientation: x: 0.707 y: -0.707 z: 0.0 w: 0.0"
Usage: rostopic pub /topic type [args...]

rostopic: error: Argument error: mapping values are not allowed here
in "", line 1, column 12:
position: x: -0.10 y: 0.30 z: 0.30 orientat ...
^
when i run "rostopic pub /desired_carteisan_pose_cmd geometry_msgs/Pose "position: x: -0.10 y: 0.30 z: 0.30 orientation: x: 0.707 y: -0.707 z: 0.0 w: 0.0" " command, i get the error.
1684720608963
what should i do,thanks!

Would it be possible to share your paper

Hi! Thank you for your wonderful work. I was wondering if you have any publications/thesis regarding this project? If you have time, would you mind sharing your papers? That would be helpful for the community to understand your algorithms and follow your work. Thank you so much!

urdf添加力传感器

您好,您在readme文件中说In this repository, I have used ur5e robot and its urdf file need to be changed in different situation, like need or not a force/torque sensor in the end effector. Please check the urdf file seriously and run the algorithm, Thanks.我尝试给机械臂添加力传感器,但都失败了,请问您有相关资料或者是有添加了力传感器的urdf文件吗?

力位混合控制

作者您好,力位混合控制这部分是取消了吗?似乎目前的代码实现不了动图里的效果。感谢!

compile error

ubuntu18.04 melodic
Robotic_Arm_Algorithms/universal_robot_control/cartesian_velocity_controller/include/cartesian_velocity_controller/kinematics_base.h:156:62: error: conversion from ‘urdf::LinkConstSharedPtr {aka std::shared_ptr}’ to non-scalar type ‘boost::shared_ptr’ requested
boost::shared_ptr link_ = model.getLink(tip_name);
~~~~~~~~~~~~~^~~~~~~~~~

在编译您的代码时中出现错误

/home/lwd/ur5_ws/src/Compliant-Control-and-Application-noetic/control_algorithms/impedance/include/impedance/Impedance.h:27:10: fatal error: joint_state_msg/Jointstate.h: 没有那个文件或目录
#include "joint_state_msg/Jointstate.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
缺少Jointstate.h这个.h文件,我确认了一下,确实没有,请问如何解决呢

A problem was encountered while "catkin_make" in the workspace"catkin_ws"

In file included from /home/dayna/catkin_ws/src/Compliant-Control-and-Application-noetic/control_algorithms/admittance/src/HybridAdmittance/HybridAdmittance.cpp:1:
/home/dayna/catkin_ws/src/Compliant-Control-and-Application-noetic/control_algorithms/admittance/include/hybridadmittance/HybridAdmittance.h:6:10: fatal error: cartesian_state_msgs/PoseTwist.h: 没有那个文件或目录
6 | #include "cartesian_state_msgs/PoseTwist.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from /home/dayna/catkin_ws/src/Compliant-Control-and-Application-noetic/control_strategy/src/control_strategy/control_strategy.cpp:1:
/home/dayna/catkin_ws/src/Compliant-Control-and-Application-noetic/control_strategy/include/control_strategy/control_strategy.h:11:10: fatal error: cartesian_state_msgs/PoseTwist.h: 没有那个文件或目录
11 | #include "cartesian_state_msgs/PoseTwist.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Compliant-Control-and-Application-noetic/control_algorithms/admittance/CMakeFiles/hybridadmittance.dir/build.make:63:Compliant-Control-and-Application-noetic/control_algorithms/admittance/CMakeFiles/hybridadmittance.dir/src/HybridAdmittance/HybridAdmittance.cpp.o] 错误 1
make[2]: *** [Compliant-Control-and-Application-noetic/control_strategy/CMakeFiles/control_strategy.dir/build.make:63:Compliant-Control-and-Application-noetic/control_strategy/CMakeFiles/control_strategy.dir/src/control_strategy/control_strategy.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:7219:Compliant-Control-and-Application-noetic/control_strategy/CMakeFiles/control_strategy.dir/all] 错误 2
make[1]: *** 正在等待未完成的任务....
make[1]: *** [CMakeFiles/Makefile2:8657:Compliant-Control-and-Application-noetic/control_algorithms/admittance/CMakeFiles/hybridadmittance.dir/all] 错误 2
make: *** [Makefile:141:all] 错误 2
Invoking "make -j2 -l2" failed
image

compile error

-- Could not find the required component 'industrial_robot_status_interface'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
CMake Error at /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by
"industrial_robot_status_interface" with any of the following names:

industrial_robot_status_interfaceConfig.cmake
industrial_robot_status_interface-config.cmake

关于力位混合控制

你好,请问我在进行力位混合控制时,机械臂末端跟轮胎表面不贴合,一直是垂直于地面,这个怎么解决

ROS version?

hello, can you tell me the version of ROS? when I catkin_make in ROS melodic, something is wrong...

Real UR5e robotic arm's initial pose

@MingshanHe Hello, thank you for your work, which is very helpful to my work. When I run admittance.launch using the physical UR5e robotic arm, The robotic arm will continue to move once it reaches its initial position. It does not stay still in its initial state waiting for an external force to be applied. How should the situation be handled?

About the real robot application of the `joint torque controller`

I tried to apply the code to my real UR3 robot.
The followings have been done:

  1. change the ur_robot_driver/config/ur3_controller.yaml
  2. change the bringup launch file
  3. change the load_ur3.launch "hardware_interface/PositionJointInterface" to EffortJointInterface

It gives the following ERROR for the joint torque controller

This controller requires a hardware interface of type 'hardware_interface::EffortJointInterface'. Make sure this is registered in the hardware_interface::RobotHW class.

I have reviewed the ur_robot_driver, and find no place to define a RobotHW for joint torque controller, Can you tell us the details of applying the controller to a real UR robot?

Some problems regarding /wrench

你好:

感谢回复,在浏览了源码及尝试了sim-develnoetic两个branch后依然有以下几个问题想请教,希望您能有空答复:
sim-devel branch下,似乎xacro文件中的六轴力传感器/WrenchSigbakGenerate都会通过消息/wrench发送到/Admittance。在不launchur5e.launch的情况下,单独发布话题/WrenchSignalGenerate能够正确生成fake wrench,如下图:

Capture3

然而,如果launchur5e.launch/WrenchSignalGenerate,(由于ft_sensor的干扰?)/wrench会产生巨大的震荡,如下图:

Capture4

下图是sim-develbranch下的Node Graph(/wrench有震荡):

Capture1

以上是sim-devel branch的问题,同样我也尝试了noeticbranch。/wrench/force/wrench/torque依然有一个微小变化的值,/wrench_fake能够通过/WrenchSigbakGenerate正常发布但是无法发送到/Admittance,如下图:

Capture2

因此,我的疑惑是:

  1. ft_sensor的作用?以及为何会有初始值及存在震荡
  2. noeticbranch下正确的Node Graph?/gazebo->/wrench是存在的么?我注意到control_algorithms/admittance/launch/Admittance.launch文件中:<arg name="TOPIC_WRENCH_STATE" default="/wrench"/>而不是使用/wrench_fake,不知道这里是否正确?
  3. 以上两个branch的问题是否有一些提示呢?

感谢您的时间,期望您有空解答。Thanks!
Env: UBuntu 20 + Noetic, complied through catkin build

导纳控制问题请教

您好,请问在ur5e上,在gazebo下启用roslaunch时候,没有抖动,而我更改了ur5实现导纳控制,出现大幅度抖动,在roslaunch导纳时,出现加速过高的现象的原因是什么

WrenchSignalGenerate.cpp 如何修改 Wrench

您好:
十分感谢您的资料。我想请教一下如何在此文件中成功修改所模拟的虚拟wrench大小呢?我在原来的基础上进行了修改,例如:
while (ros::ok()) { // wrench_msg.force.x = sin(t); // wrench_msg.force.y = sin(t); // wrench_msg.wrench.force.z = 5*sin(t); if(static_cast<int>(t)%10 < 5) { wrench_msg.wrench.force.x = 5; } else { wrench_msg.wrench.force.x = -5; } t += 1/TOPIC_HZ; wrench_pub.publish(wrench_msg); loop_rate.sleep(); }
但是在仿真中未能沿着力的方向(x)移动。另外想请教一下为何在rqt_plot中无法正确显示Wrench。非常感谢。(ROS Melodic + sim-devel branch)
image

关于导纳实现问题

你好,看到你的导纳控制实现,似乎是将力数据转换到基坐标系下,再进行笛卡尔速度规划。
但如果我想跟踪的是一个曲面,要求在曲面的法向进行恒力跟踪,是不是就不太好解决了,希望您能指点一二

Error when catkin_make

Hi, @MingshanHe

When I catkin_make, an error came out. I do not know if it is my ROS problem or?

"In file included from /home/walter/catkin_ws/src/Compliant-Control-and-Application/control_strategy/src/control_strategy/control_strategy.cpp:1:
/home/walter/catkin_ws/src/Compliant-Control-and-Application/control_strategy/include/control_strategy/control_strategy.h:11:10: fatal error: cartesian_state_msgs/PoseTwist.h: No such file or directory
11 | #include "cartesian_state_msgs/PoseTwist.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Compliant-Control-and-Application/control_strategy/CMakeFiles/control_strategy.dir/build.make:63: Compliant-Control-and-Application/control_strategy/CMakeFiles/control_strategy.dir/src/control_strategy/control_strategy.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:9283: Compliant-Control-and-Application/control_strategy/CMakeFiles/control_strategy.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
In file included from /home/walter/catkin_ws/src/Compliant-Control-and-Application/control_algorithms/admittance/src/Admittance/Admittance.cpp:8:
/home/walter/catkin_ws/src/Compliant-Control-and-Application/control_algorithms/admittance/include/admittance/Admittance.h:14:10: fatal error: cartesian_state_msgs/PoseTwist.h: No such file or directory
14 | #include "cartesian_state_msgs/PoseTwist.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Compliant-Control-and-Application/control_algorithms/admittance/CMakeFiles/admittance.dir/build.make:63: Compliant-Control-and-Application/control_algorithms/admittance/CMakeFiles/admittance.dir/src/Admittance/Admittance.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:11586: Compliant-Control-and-Application/control_algorithms/admittance/CMakeFiles/admittance.dir/all] Error 2
In file included from /home/walter/catkin_ws/src/Compliant-Control-and-Application/control_algorithms/admittance/src/HybridAdmittance/HybridAdmittance.cpp:1:
/home/walter/catkin_ws/src/Compliant-Control-and-Application/control_algorithms/admittance/include/hybridadmittance/HybridAdmittance.h:6:10: fatal error: cartesian_state_msgs/PoseTwist.h: No such file or directory
6 | #include "cartesian_state_msgs/PoseTwist.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Compliant-Control-and-Application/control_algorithms/admittance/CMakeFiles/hybridadmittance.dir/build.make:63: Compliant-Control-and-Application/control_algorithms/admittance/CMakeFiles/hybridadmittance.dir/src/HybridAdmittance/HybridAdmittance.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:11559: Compliant-Control-and-Application/control_algorithms/admittance/CMakeFiles/hybridadmittance.dir/all] Error 2
"

Thank you very much!

关于恒力打磨

你好,我现在尝试用ros控制ur5e进行恒力打磨,请问您觉得这个是否有可行性呢?

Could not load controller 'cartesian_velocity_contraller_sim' because the type was not specified.

[ERROR] [1647413655.498812691, 0.289000000]: Could not load controller 'cartesian_velocity_contraller_sim' because the type was not specified. Did you load the controller configuration on the parameter server (namespace: '/cartesian_velocity_contraller_sim')?
Error when loading 'cartesian_velocity_contraller_sim'
[ERROR] [1647413655.501064126, 0.291000000]: Could not start controller with name 'cartesian_velocity_contraller_sim' because no controller with this name exists

hi, the erroe was occured when i run 'roslaunch ur_e_gazebo ur5e.launch controller:=cartesian_velocity_controller_sim' in ros.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.