derek-th-wang / quadruped_ctrl Goto Github PK
View Code? Open in Web Editor NEWMIT mini cheetah quadruped robot simulated in pybullet environment using ros.
License: MIT License
MIT mini cheetah quadruped robot simulated in pybullet environment using ros.
License: MIT License
我大概是这样理解pybullet与控制器之间的互通,控制器接受pybullet的速度位置以及IMU数据 各个关节的位置和速度.控制器通过得到的数据,假如我给一个速度,他就会计算出各个关节的位置以及力,发送给pybullet.pybullet得到各个关节的位置 力 进行相应的运动,这样的理解对吗?
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,
你有遇到这样的问题吗?状态估计器在Z方向产生变化之后,始终认为机器人在地面上。有没有什么好的方法解决状态估计器不准确的问题,感谢。
Hi,
Thank you for sharing your work.
How would you deploy this on a real robot?
Thanks!
想问一下,如何在gazebo环境中实现mini cheetah 的控制呢?感谢
你好,我改变步态的时候出现ERROR: Unable to load type [quadruped_ctrl/QuadrupedCmd].,这个是什么原因呢?谢谢!
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()
inside the fonction : self.__get_motor_joint_states()
and inside :
tau = self.cpp_gait_ctrller.torque_calculator(self.__convert_type( imu_data), self.__convert_type(leg_data["state"]))
您好,我正在学习你的开源代码,想从中学习一些关于wbc的方法。在你的代码中,我看到有关wbc的部分是在ConvexMPCLocomotion::run函数中。对照论文,我没有发现代码中有使用到浮基模型和QP问题,能否指点一下,期待您的答复
嗨,德里克,
你的西穆包很有魅力。
现在我想把它加入我真正的机器人。
你能告诉我在哪里添加我的c++方法吗?
一个用于发送订单(id、pos、vel、扭矩、kp、kd)
一个用于查询(id、pos、vel、扭矩、kp、kd)
在mainController.cpp中?不知道在哪里!!
对于12 ID,它应该存在于
迫不及待地想念你。
非常感谢
Vincent (french)
启动默认的程序,即不传输图像和点云
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
启动点云和图像传输参照(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:
请问这是什么原因呀。
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
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
我在运行roslaunch quadruped_ctrl quadruped_ctrl.launch和“roslaunch quadruped_ctrl vision.launch”时都报了这个错误,但是rviz和pybullet环境都能正常打开,并且quadruped_ctrl的仿真环境也能正常打开,但是pybullet中的camera窗口加载不出摄像头数据,请问您知道如何解决吗。
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?
Looking on the code. Where are you calling the urdf from?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.