Code Monkey home page Code Monkey logo

quadruped_ctrl's People

Contributors

derek-th-wang avatar eborghi10 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

quadruped_ctrl's Issues

#The plugin for class 'whole_body_state_rviz_plugin/WholeBodyState' failed to load

我在运行roslaunch quadruped_ctrl quadruped_ctrl.launch和“roslaunch quadruped_ctrl vision.launch”时都报了这个错误,但是rviz和pybullet环境都能正常打开,并且quadruped_ctrl的仿真环境也能正常打开,但是pybullet中的camera窗口加载不出摄像头数据,请问您知道如何解决吗。

#include <unsupported/Eigen/MatrixFunctions>

Hi Derek,
I'd like to use your nice package, however, doesn't compile over ros !!

ubuntu 18.04
ros melodic
installed : sudo apt-get install libeigen3-dev

`[ 86%] Building CXX object quadruped_ctrl/CMakeFiles/quadruped_ctrl.dir/src/MPC_Ctrl/SolverMPC.cpp.o
/home/predator/catkin_ws/src/quadruped_ctrl/src/MPC_Ctrl/SolverMPC.cpp:7:10: fatal error: unsupported/Eigen/MatrixFunctions: Aucun fichier ou dossier de ce type
#include <unsupported/Eigen/MatrixFunctions>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

quadruped_ctrl/CMakeFiles/quadruped_ctrl.dir/build.make:206: recipe for target 'quadruped_ctrl/CMakeFiles/quadruped_ctrl.dir/src/MPC_Ctrl/SolverMPC.cpp.o' failed
make[2]: *** [quadruped_ctrl/CMakeFiles/quadruped_ctrl.dir/src/MPC_Ctrl/SolverMPC.cpp.o] Error 1
make[2]: *** Attente des tâches non terminées....
In file included from /home/predator/catkin_ws/src/quadruped_ctrl/src/MPC_Ctrl/SparseCMPC_Math.cpp:3:0:
/usr/include/eigen3/unsupported/Eigen/MatrixFunctions:17:10: fatal error: Eigen/Core: Aucun fichier ou dossier de ce type
#include <Eigen/Core>
^~~~~~~~~~~~
compilation terminated.

quadruped_ctrl/CMakeFiles/quadruped_ctrl.dir/build.make:134: recipe for target 'quadruped_ctrl/CMakeFiles/quadruped_ctrl.dir/src/MPC_Ctrl/SparseCMPC_Math.cpp.o' failed
make[2]: *** [quadruped_ctrl/CMakeFiles/quadruped_ctrl.dir/src/MPC_Ctrl/SparseCMPC_Math.cpp.o] Error 1
CMakeFiles/Makefile2:567: recipe for target 'quadruped_ctrl/CMakeFiles/quadruped_ctrl.dir/all' failed
make[1]: *** [quadruped_ctrl/CMakeFiles/quadruped_ctrl.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j8 -l8" failed
`
Please, any help ?!

Thanks a lot.
Vincent

状态估计器

你有遇到这样的问题吗?状态估计器在Z方向产生变化之后,始终认为机器人在地面上。有没有什么好的方法解决状态估计器不准确的问题,感谢。

pubullet和控制器连接的思路

我大概是这样理解pybullet与控制器之间的互通,控制器接受pybullet的速度位置以及IMU数据 各个关节的位置和速度.控制器通过得到的数据,假如我给一个速度,他就会计算出各个关节的位置以及力,发送给pybullet.pybullet得到各个关节的位置 力 进行相应的运动,这样的理解对吗?

对于真正的机器人,在何处添加"send_orders"和"receive_commands"方法?

嗨,德里克,
你的西穆包很有魅力。
现在我想把它加入我真正的机器人。
你能告诉我在哪里添加我的c++方法吗?

一个用于发送订单(id、pos、vel、扭矩、kp、kd)
一个用于查询(id、pos、vel、扭矩、kp、kd)

在mainController.cpp中?不知道在哪里!!
对于12 ID,它应该存在于

迫不及待地想念你。
非常感谢
Vincent (french)

Parameter in RobotState.h

Hi!
In a file RobotState.h line 23, there i a parameter called m.
fpt m = 9; //机器人质量
Unfortenutaley I don't speak Chinese, but google says, your comment translates as Robot Quality. Could you explain what kind of quality you mean?

Custom robot

Hey!
I am trying out a difffent robot Urdf and it looks like this.
9A35F2DC-CC76-488F-8479-84B9C75EBBA5

1B824112-A3A6-49EE-A457-0DAA3F03CD80

It can walk around like this but I can’t seem to find a way to get it to work normal.

Do you have any suggestions on what can be the reason?

Thanks
RF

Deploy on a real robot

Hi,

Thank you for sharing your work.
How would you deploy this on a real robot?

Thanks!

How to move only one leg / rotate body

Humm, could you tell me what fonction I should use, or the variable to modify, to stop walking, and rotate body, or upper one leg, for example... If possible?
Thanks Derek

关于WBC和浮基模型的问题

您好,我正在学习你的开源代码,想从中学习一些关于wbc的方法。在你的代码中,我看到有关wbc的部分是在ConvexMPCLocomotion::run函数中。对照论文,我没有发现代码中有使用到浮基模型和QP问题,能否指点一下,期待您的答复

启动图像和点云传输之后,机器人行走速度变得非常慢,请问这是什么原因呢

启动默认的程序,即不传输图像和点云
walking_simulation.py程序中包含阻塞代码(达到不运行__camera_update函数的目的)
for _ in range(200):
self.run() # TODO: THIS IS BLOCKING!!
p.stepSimulation
self.cpp_gait_ctrller.set_robot_mode(self.__convert_type(0))
此时机器人行走速度很快(不卡顿),效果如下gif
quad_ctrl_without_image

启动点云和图像传输参照(https://github.com/eborghi10/quadruped_ctrl),把阻塞代码注释掉
# for _ in range(200):
# self.run() # TODO: THIS IS BLOCKING!!
# p.stepSimulation
# self.cpp_gait_ctrller.set_robot_mode(self.__convert_type(0))
启动图像和点云传输之后,机器人行走速度变得非常慢(感觉很卡),效果如下gif:
quad_ctrl_with_camera
请问这是什么原因呀。

catkin build err:PointVisual.cpp:9: /usr/include/OGRE/OgreVector3.h: In member function 'Ogre::Vector3 Ogre::Vector3::perpendicular() const': /usr/include/OGRE/OgreVector3.h:582:20: error: implicitly-declared 'constexpr Ogre::Vector3::Vector3(const Ogre::Vector3&)' is deprecated [-Werror=deprecated-copy]

ROS:noetic
ubuntu:20.04
when catkin build -j3

[ 50%] Linking C shared library /home/taimi/ref/ws_quad_ctrl/devel/lib/libosqp.so
In file included from /usr/include/OGRE/OgreMatrix3.h:33,
from /usr/include/OGRE/OgreNode.h:34,
from /usr/include/OGRE/OgreSceneNode.h:33,
from /usr/include/OGRE/OgreSceneManager.h:37,
from /home/taimi/ref/ws_quad_ctrl/src/whole_body_state_rviz_plugin-master/src/PointVisual.cpp:9:
/usr/include/OGRE/OgreVector3.h: In member function 'Ogre::Vector3 Ogre::Vector3::perpendicular() const':
/usr/include/OGRE/OgreVector3.h:582:20: error: implicitly-declared 'constexpr Ogre::Vector3::Vector3(const Ogre::Vector3&)' is deprecated [-Werror=deprecated-copy]
582 | return perp;
| ^~~~
/usr/include/OGRE/OgreVector3.h:134:25: note: because 'Ogre::Vector3' has user-provided 'Ogre::Vector3& Ogre::Vector3::operator=(const Ogre::Vector3&)'
134 | inline Vector3& operator = ( const Vector3& rkVector )
| ^~~~~~~~
/usr/include/OGRE/OgreVector3.h: In member function 'Ogre::Quaternion Ogre::Vector3::getRotationTo(const Ogre::Vector3&, const Ogre::Vector3&) const':
/usr/include/OGRE/OgreVector3.h:661:27: error: implicitly-declared 'constexpr Ogre::Vector3::Vector3(const Ogre::Vector3&)' is deprecated [-Werror=deprecated-copy]
661 | Vector3 v0 = *this;
| ^~~~
/usr/include/OGRE/OgreVector3.h:134:25: note: because 'Ogre::Vector3' has user-provided 'Ogre::Vector3& Ogre::Vector3::operator=(const Ogre::Vector3&)'
134 | inline Vector3& operator = ( const Vector3& rkVector )
| ^~~~~~~~
/usr/include/OGRE/OgreVector3.h:662:26: error: implicitly-declared 'constexpr Ogre::Vector3::Vector3(const Ogre::Vector3&)' is deprecated [-Werror=deprecated-copy]
662 | Vector3 v1 = dest;
| ^~~~
/usr/include/OGRE/OgreVector3.h:134:25: note: because 'Ogre::Vector3' has user-provided 'Ogre::Vector3& Ogre::Vector3::operator=(const Ogre::Vector3&)'
134 | inline Vector3& operator = ( const Vector3& rkVector )
| ^~~~~~~~
/usr/include/OGRE/OgreVector3.h:670:36: error: implicitly-declared 'constexpr Ogre::Quaternion::Quaternion(const Ogre::Quaternion&)' is deprecated [-Werror=deprecated-copy]
670 | return Quaternion::IDENTITY;
| ^~~~~~~~
In file included from /usr/include/OGRE/OgreVector3.h:33,
image

trying on real robot, with walking_simulation.py

Hello Derek,
before going any further, with a c++ difficult code,
I'd like to use your python file, to command my motors. (before doing same in c++)
Could you tell me what function i have to call, to sends to real robot motor boards,
and what fonction to call, to receive motor values?

Am I right ? :
inside the fonction : self.__get_data_from_sim()

  • I need to feed here my real IMU 10 values

inside the fonction : self.__get_motor_joint_states()

  • need to query real motors controllers for joint_positions, joint_velocities, joint_torque and joint_names

and inside :
tau = self.cpp_gait_ctrller.torque_calculator(self.__convert_type( imu_data), self.__convert_type(leg_data["state"]))

  • It should tell me what values to sent to real motors controllers, correct ?

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.