mit-biomimetics / cheetah-software Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
It seems to read data from sbus, and modify the attributes of “main_control_settings” based on the data. But I don't know who send data to sbus , and who publish message on "INTERFACE_gui_main_control_settings" channel with LCM, and how does “main_control_settings” work in the program.
I have made a python controller that made it possible to try controller ideas easier in python script. Should I make a PR for that?
Hi, this is more of a request than a bug/problem. I want to make sure that I understand the use case for Cheetah-Software. I've installed it, and by using closed bugs and some experimentation, I think I have it running (for some value of run).
This is using MIT_Controller (mini cheetah and simulator)
Thanks for your time!
SharedMemoryObject::attach shm_open(development-simulator) failed: No such file or directory terminate called after throwing an instance of 'std::runtime_error' what(): Failed to create shared memory! Aborted (core dumped)
Solved: need to click start the mini cheetah in the sim screen then the error will disappear
hello, everone,
in file "ConvexMPCLocomotion.cpp",
The y-coordinate of the foot placement has an offset, interleave_ y,which effect is like this:
When the absolute value of desired forward speed (v_des_robot[0])is bigger, the front two feet gradually close together and the rear two feet separate.
My understanding is that if the forward speed is relatively high, in order to stabilize, the center of mass should be slightly forward, just like a person walking. Then, in trot gait, the center of the intersection of diagonal leg lines should be directly below the center of mass
However, they take an absolute value for the forward velocity, which results in the opposite effect when the robot moves backward
How do you understand this offset?
Joystick is tested to be normal in a terminal, but it returns no data while running the simulation of mini cheetah.
Hello,
first thank you to share the software!
i will love to test the simulation but i can't compile the software for a problem of include...
also i made an autoconfig and run script but i got error can you please help me ?
the autoconfiginstall.sh
https://github.com/STRATOS-ROBOTICS/LeopardMK1/blob/master/LeopardMK1SoftwareSimInstall.sh
and the error log
https://github.com/STRATOS-ROBOTICS/LeopardMK1/blob/master/errorlog.txt
i test on two different computers ubuntu 18.04 lts but always the same error...eigen/ not find...
i think it is a problem of a path in cmake or something but i am not a good one in c++ but i wanna learn how to ...
thank you in advance
Hi guys,I was reading your code and noticed there is a variable named x_drag in "ct_ss_mats" function.I'm quite confused for your paper about minicheetah didn't include this variable, and it seems just doesn't make sense if your A matrix of MPC function including this one.
Moreover, the mini_abad and mini_upper_link models used in simulation for mini cheetah are different form your actual mechanical structures, so is minicheetah.h file are coded based on these old-version models or I can neglect it? What shoud I do if I want to reedit minicheetah.h for my own model, and how you guys built these complicated coordinates?
Could you please give me a favour to get these questions down, I'd appreciate it a lot!
test_osqp.cpp
failed.
solution: 0.301, 0.698
does not match the expect value 0.3, 0.7
It seems an osqp issue. The original example https://osqp.org/docs/examples/setup-and-solve.html in c gets a similar result. I found changing alpha
in settings->alpha = 1.0;
to 0.1
would increase the accuracy.
Hi,
I'm a maintainer in the ROS ecosystem (Navigation2, SLAM Toolbox, Perception PCL, Robot Localization, and the like around mobile/field robotics) and I'm very interested in working with a quadruped from a practical standpoint and getting wider adoption or use of them. Something in particular I'm interested in is writing ROS2 drivers for the Cheetah Mini / Stanford Pupper and integrating them into the next generation ROS2 Navigation stack which aims to support a larger class of robot and maturity in framework (first preliminary work can be seen here).
I've seen some videos with a number of Cheetah Mini's running around and I was curious to learn if these are available for research / use / sale / what the plans are on this front. I'd love to make this my default development platform for navigation algorithms and make awesome product-grade demos. I, myself, am not interested in using it as a commercial product, but I do create high-quality open-source software and support which can be used in them. (I currently work for Samsung Research doing solely Open Source Robotics work that often borders research).
If there's an opportunity to collaborate, that would be stellar. I think there are some really cool things this work can be used to build on top of and get them out in the real-world.
Thanks,
S
In the specification, it lists the 120-Wh lithium-ion battery use. Can you share the PDB type used for this robot. What power it can branch off of?
Hi,
I am following the compiling steps but I got some problems.
The output of "camke .." in Cheetah-Software/build is (partly):
"
runtime library [libQt5Widgets.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
/home/shupeng/Qt5.12.4/5.12.4/gcc_64/lib
runtime library [libQt5Gui.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
/home/shupeng/Qt5.12.4/5.12.4/gcc_64/lib
Some of these libraries may not be found correctly.
"
And the output of "./scripts/make_types.sh" : (partly)
"
rm: cannot remove '/.class': No such file or directory
rm: cannot remove '/.pyc': No such file or directory
Notice: enclosing LCM types without package into java namespace 'lcmtypes'.
cp: cannot stat '/usr/local/share/java/lcm.jar': No such file or directory
"
And the make process is terminated after 76%..
I followed all the instruction and installed all the required packages..
Assume I am running a simulation. Is it possible to "save" the full state of the simulation, continue with it, and then "load" the previous state to return back to it?
Saving is fine if it happens in memory, but writing it to disk would be preferable.
Hello!
I am able to simulate the robots in sim after running
./sim/sim
and using one of the controllers eg:
./user/WBC_Controller/wbc_ctrl m s
I can get the mini cheetah to the prone position after turning off the use_rc
boolean, and it immediately performs a backflip, which is quite neat.
However, I can't get the robot to stand up/walk around. It seems like having the gamepad controls is necessary. Is there a keyboard based control? If not, what is the hardware used for sending commands?
Thanks!
Hello,
I am using the MIT_Controller along with the simulator for mini cheetah.
I am trying to control the robot with a gamepad. Although I am not using the Logitech one, I debugged pretty much everything and the gamepad is detected successfully and all the buttons and axes work fine, so it shouldn't play any part in the problem below.
Issue
I start the simulator, set use_rc to 0, set control_mode to 1, and the robot stands up. Then I set the control_mode to 4 and the simulation shows the sky (the robot disappears). After some debugging I traced back the issue as far as I could and I figured out that there are nan values.
The nan's appear in ConvexMPCLocomotion.cpp:
In line 107: auto& seResult = data._stateEstimator->getResult();
seResult.position is (nan, nan, nan), which in turn makes pFoot[i] in line 206 (nan, nan, nan), and so on...
I am wondering if I am missing something in the way I perform my test, or if this is due to something broken due to a library update.
Update
Everything works fine if I have cheater_mode to 1. Any thoughts on that?
Thanks,
Christos Christou.
Hi,
I updated the code on October 14th, successfully compiled,and when I ran the simulation on user computer,there are some mistakes.
my code:
$ ./sim/sim
$ ./user/MIT_Controller/mit_ctrl m s
Error:
" Simulation Error
Control code has an error:
Control parameter testValue wasn't found in parameter collection user-parameters"
Running a test program has one that always fails
$ ./common/test-common
[ FAILED ] LegController.FwdKinematicsLegSign
Is it something I did wrong or missed some important steps?
sudo LD_LIBRARY_PATH=. ldconfig
#sudo LD_LIBRARY_PATH=. ldd ./robot
sudo LD_LIBRARY_PATH=. $1 m r
how to finish run_mc.sh,and how to run it ?
I want to find some reference about these to help me understand the whole algorithm.
As title said, how do you transfer QT5 to Jetson hardware?
Hi!
When I am building the whole project, I found that the make programme can not find the QTlib even I have given the right path:
/home/idroid/Desktop/clion-2020.1.1/bin/cmake/linux/bin/cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=/home/idroid/Qt/Tools/QtCreator/lib/Qt/lib -G "CodeBlocks - Unix Makefiles" /home/idroid/Desktop/Cheetah-Software
**** Mini-Cheetah build disabled ****
-- We are on a Linux system
-- Embedded is OFF
-- Printing is ON
-- Profiling is ON
-- User interrupt is ON
-- Floats are OFF
-- Long integers (64bit) are ON
-- Code coverage is OFF
-- MKL Pardiso: ON
-- Floats are OFF
-- Long integers (64bit) are ON
CMake Error at sim/CMakeLists.txt:19 (find_package):
Could not find a package configuration file provided by "Qt5Core" with any
of the following names:
Qt5CoreConfig.cmake
qt5core-config.cmake
Add the installation prefix of "Qt5Core" to CMAKE_PREFIX_PATH or set
"Qt5Core_DIR" to a directory containing one of the above files. If
"Qt5Core" provides a separate development package or SDK, be sure it has
been installed.
I have use the CMAKE_PREFIX_PATH and I also have tried add
SET(Qt5Core_DIR "/home/idroid/Qt/Tools/QtCreator/lib") in CMAKELists.txt but still get the same error, why?
Please help, thank you!
Yujian BAO
LOST Leg_control_command_lcmt.hpp
Hello, everyone,
In the file“ ConvexMPCLocomotion.cpp "We can find this code:
float trajInitial[12] = {(float)rpy_ comp[0],
(float)rpy_ comp[1], // 1
...
In the paper "dynamic locomotion in the MIT chetah 3 through converse model predictive control", they set the expected pitch and roll to 0, but what is "rpy_ comp" here?
What do they mean by the "Integral-esque pitche and roll compensation" method they use?
Hi, guys.
Which kind of IMU can work with the latest version of the software?
Which point for a rigid body is taken about? the center of mass or body frame origin?
I launched launch_lcm_spy.sh while running simulator, hoping to see imu measurements, but I didn't find vectornav_lcmt in the stream, also not able to find them in lcm log file.
Did I run simulator correctly? Or is there anything wrong with installation?
Hi everyone, I see that the document says that it supports embedded devices, so I plan to transplant to TI's AM5728-evm, and then I made the following changes.
First, I blocked sim (QT) and then manually compiled the lcm library.
Second, I started to compile the problems encountered, I adopted the method of shielding
`
mkdir build
cd build
cmake -DMINI_CHEETAH_BUILD=TRUE -DEMBEDDED=TRUE ..
./../scripts/make_types.sh
make -j2
`
cmake error:
/nfsboot/mini_demo_x7/third-party/casadi/CMakeLists.txt
if(FORTRAN_REQUIRED)
#enable_language(Fortran)
#set(Fortran_language_works ON)
if(WITH_IPOPT)
#find_package(IPOPT REQUIRED)
endif()
build error:
Scanning dependencies of target casadi_rootfinder_kinsol
/usr/lib/gcc/arm-linux-gnueabi/7.2.1/../../../../arm-linux-gnueabi/bin/ld: ../../../lib/libcasadi_sundials.a(nvector_serial.c.o): relocation R_ARM_MOVW_ABS_NC against `N_VClone_Serial' can not be used when making a shared object; recompile with -fPIC
../../../lib/libcasadi_sundials.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [third-party/casadi/casadi/interfaces/sundials/CMakeFiles/casadi_sundials_common.dir/build.make:97: third-party/casadi/lib/libcasadi_sundials_common.so.3.5] Error 1
make[1]: *** [CMakeFiles/Makefile2:2922: third-party/casadi/casadi/interfaces/sundials/CMakeFiles/casadi_sundials_common.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 65%] Building CXX object third-party/casadi/casadi/interfaces/sundials/CMakeFiles/casadi_rootfinder_kinsol.dir/kinsol_interface_meta.cpp.o
[ 65%] Building CXX object third-party/casadi/casadi/interfaces/sundials/CMakeFiles/casadi_rootfinder_kinsol.dir/kinsol_interface.cpp.o
[ 66%] Linking CXX shared library ../../../lib/libcasadi_rootfinder_kinsol.so
/usr/lib/gcc/arm-linux-gnueabi/7.2.1/../../../../arm-linux-gnueabi/bin/ld: ../../../lib/libcasadi_sundials.a(nvector_serial.c.o): relocation R_ARM_MOVW_ABS_NC against N_VClone_Serial' can not be used when making a shared object; recompile with -fPIC ../../../lib/libcasadi_sundials.a: error adding symbols: Bad value collect2: error: ld returned 1 exit status make[2]: *** [third-party/casadi/casadi/interfaces/sundials/CMakeFiles/casadi_rootfinder_kinsol.dir/build.make:123: third-party/casadi/lib/libcasadi_rootfinder_kinsol.so.3.5] Error 1 make[1]: *** [CMakeFiles/Makefile2:2960: third-party/casadi/casadi/interfaces/sundials/CMakeFiles/casadi_rootfinder_kinsol.dir/all] Error 2 make: *** [Makefile:152: all] Error 2 root@am57xx-evm:/nfsboot/mini_demo_x7/build# /usr/lib/gcc/arm-linux-gnueabi/7.2.1/../../../../arm-linux-gnueabi/bin/ld: ../../../lib/libcasadi_sundials.a(nvector_serial.c.o): relocation R_ARM_MOVW_ABS_NC against
N_VClone_Serial' can not be used when making a shared object; recompile with -fPIC
-sh: syntax error near unexpected token `('
if(WITH_SUNDIALS)
#add_subdirectory(sundials)
endif()
if(WITH_CSPARSE)
#add_subdirectory(csparse)
endif()
if(WITH_TINYXML)
#add_subdirectory(tinyxml)
endif()
build error: could not found <immintrin.h>
/nfsboot/mini_demo_x7/third-party/JCQP/CholeskySparseSolver.cpp
// #include <immintrin.h>
/nfsboot/mini_demo_x7/third-party/JCQP/CholeskyDenseSolver.cpp
// #include <immintrin.h>
Finally stuck when build ‘common/CMakeFiles/biomimetics.dir/src/Dynamics/FloatingBaseModel.cpp.o’ ,did not report an error.Can someone help with the same problem, thank you very much
`
root@am57xx-evm:/nfsboot/mini_demo_x7/build# make -j2
[ 3%] Built target JCQP
[ 8%] Built target dynacore_yaml-cpp
[ 8%] Built target inih
[ 8%] Built target qdldlobject
[ 8%] Built target linsys_qdldl
[ 9%] Built target imu
[ 11%] Built target lord_imu
[ 13%] Built target soem
[ 14%] Built target serial
[ 14%] Built target Goldfarb_Optimizer
[ 18%] Built target libvnc
[ 20%] Built target qdldl
[ 20%] Built target osqpstatic
[ 20%] Built target qdldlstatic
[ 23%] Built target qpOASES
[ 25%] Built target test_imu
[ 28%] Built target yaml-cpp
[ 28%] Built target casadi_tinyxml
[ 37%] Built target casadi_csparse
[ 46%] Built target casadi_sundials
[ 46%] Built target serial_example
[ 47%] Built target gtest
[ 47%] Built target WBIC
[ 47%] Built target dynacore_param_handler
[ 48%] Built target osqp
[ 58%] Built target qdldl_example
[ 63%] Built target casadi
[ 64%] Built target yaml-cpp-parse
[ 64%] Built target yaml-cpp-read
[ 65%] Built target yaml-cpp-sandbox
[ 65%] Built target casadi_rootfinder_fast_newton
[ 66%] Built target casadi_interpolant_linear
[ 66%] Built target casadi_integrator_collocation
[ 67%] Built target casadi_importer_shell
[ 68%] Built target casadi_rootfinder_newton
[ 69%] Built target casadi_conic_nlpsol
[ 69%] Built target casadi_nlpsol_scpgen
[ 70%] Built target casadi_linsol_lsqr
[ 71%] Built target casadi_integrator_rk
[ 71%] Built target casadi_conic_qrqp
[ 71%] Built target casadi_rootfinder_nlpsol
[ 71%] Built target casadi_interpolant_bspline
[ 72%] Built target casadi_nlpsol_sqpmethod
[ 73%] Built target casadi_linsol_symbolicqr
[ 73%] Built target casadi_linsol_qr
[ 73%] Built target casadi_linsol_ldl
[ 73%] Built target gmock
[ 73%] Built target gtest_main
[ 73%] Built target libs
[ 73%] Built target gmock_main
[ 73%] Building CXX object common/CMakeFiles/biomimetics.dir/src/Dynamics/FloatingBaseModel.cpp.o
`
Hi, there
I noticed that recent commit can use jcqp as the QP slover to replace qpoases, so my question is: Is jcqp more faster than qpoases? Or other reason?
Thanks in advance!
What is the third-party library JCQP used for? is it used with qpoases. I can not foud the JCQP throuth the internet. how can i get it . if I want to use the osqp instead qpoases,how can i do ?
i found you use the osqpeigen. but you do not install in the third party ? how can i install in the third party. i tried install but it not work. how can i install osqpeigen.
Hi , I try to compile these code. But I met
/Cheetah-Software/common/../lcm-types/cpp: No such file or directory [-Werror=missing-include-dirs] cc1plus: all warnings being treated as errors
I made a directory named cpp
under ../lcm-types
and it works. When it went on compiling, I met another error:
/Cheetah-Software/common/include/SimUtilities/GamepadCommand.h:10:28: fatal error: gamepad_lcmt.hpp: No such file or directory compilation terminated.
It seems that a file named gamepad_lcmt.hpp is lost. I didn't find it. Could you please tell me how to solve this problem? Thanks !
Thanks for this software!
Can you provide a license file for this repository? Do you use the MIT license for this simulator?
Happy new year.
I am trying to write my own controller, but when I intend to include the header files that are related to BalanceController and qpoases, I encounter virtual overloaded problems which happen in the third- party codes instead of mine. Like this,
I could add the "-Wno-overloaded-virtual" flag to the Cmakelist, and the whole building progress ran smoothly. But when I activated the simulation and my own controller, the simulation crashed with segfault.
Did you guys meet the same problem when writing the codes about balance standing or trotting? If so, how did you solve it?
Hi,
First I want to thank you for having all this code/software open source!
I believe I have compiled and installed the software correctly. However, I'm having issues running the simulation with the MIT controller.
When I run:
user/MIT_Controller/mit_ctrl m s
I get the following error
[run_sbus] starting...
Error opening /dev/ttyUSB0: No such file or directory
ESTOP!
ESTOP!
ESTOP!
Is the opening of the /dev/ttyUSB0 has to do with the Logitech F310 gamepad? I am trying to use a Logitech F710 instead.
Thank you,
43%] Built target soem
[ 43%] Linking C shared library out/libosqp.so
[ 44%] Linking C shared library out/libosqp.so
[ 44%] Built target osqpstatic
[ 44%] Built target osqp
Scanning dependencies of target osqp_demo
[ 45%] Building C object third-party/osqp/CMakeFiles/osqp_demo.dir/examples/osqp_demo.c.o
[ 45%] Linking C executable out/osqp_demo
[ 45%] Built target osqp_demo
In file included from /home/zj/文档/Cheetah-Software-master/mc-build/googletest-src/googletest/src/gtest-all.cc:46:0:
/home/zj/文档/Cheetah-Software-master/mc-build/googletest-src/googletest/src/gtest-printers.cc: In function ‘void testing::internal::PrintTo(char32_t, std::ostream*)’:
/home/zj/文档/Cheetah-Software-master/mc-build/googletest-src/googletest/src/gtest-printers.cc:256:10: error: passing ‘char32_t’ chooses ‘unsigned int’ over ‘int’ [-Werror=sign-promo]
<< c;
^
/home/zj/文档/Cheetah-Software-master/mc-build/googletest-src/googletest/src/gtest-printers.cc:256:10: error: in call to ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char; _Traits = std::char_traits; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream]’ [-Werror=sign-promo]
[ 45%] Linking CXX shared library libinih.so
[ 45%] Linking C shared library liblibvnc.so
[ 45%] Built target libvnc
[ 45%] Built target inih
[ 45%] Linking CXX shared library liblord_imu.so
[ 45%] Built target lord_imu
Scanning dependencies of target test_imu
[ 45%] Building CXX object third-party/lord_imu/CMakeFiles/test_imu.dir/test/lord_test.cpp.o
[ 45%] Linking CXX shared library libGoldfarb_Optimizer.so
[ 45%] Built target Goldfarb_Optimizer
Scanning dependencies of target WBIC
[ 45%] Building CXX object user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/WBIC.cpp.o
[ 46%] Building CXX object user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/KinWBC.cpp.o
[ 46%] Linking CXX shared library libdynacore_yaml-cpp.so
[ 46%] Built target dynacore_yaml-cpp
Scanning dependencies of target dynacore_param_handler
[ 46%] Building CXX object third-party/ParamHandler/CMakeFiles/dynacore_param_handler.dir/ParamHandler.cpp.o
[ 47%] Linking CXX executable test_imu
[ 47%] Built target test_imu
[ 47%] Linking CXX shared library libs/libqpOASES.so
[ 47%] Built target qpOASES
[ 48%] Linking CXX shared library libdynacore_param_handler.so
[ 48%] Built target dynacore_param_handler
cc1plus: all warnings being treated as errors
googletest-build/googletest/CMakeFiles/gtest.dir/build.make:62: recipe for target 'googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o' failed
make[2]: *** [googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o] Error 1
CMakeFiles/Makefile2:2461: recipe for target 'googletest-build/googletest/CMakeFiles/gtest.dir/all' failed
make[1]: *** [googletest-build/googletest/CMakeFiles/gtest.dir/all] Error 2
make[1]: *** 正在等待未完成的任务....
[ 48%] Linking CXX shared library libWBIC.so
[ 48%] Built target WBIC
[ 49%] Linking CXX shared library libJCQP.so
[ 49%] Built target JCQP
Makefile:129: recipe for target 'all' failed
make: *** [all] Error [2]
when I Build as mini cheetah executable, i'll meet these problems.
if multicast is enabled in multiple interfaces (loopback and one ethernet interface)of my laptop, the error pops up.
"[RobotInterface] Failed to send parameter cheater_mode (iter 0 timed out), trying again...
set cheater_mode to 0 (0)"
If I switch off the multicast for loopback interface, the error is gone. But the multicast for loopback should be on for my laptop. How should I fix that?
When I run on the ubuntu 18.04
cmake ..
I got
Scanning dependencies of target googletest-download
[ 11%] Skipping update step for 'googletest-download'
[ 22%] No configure step for 'googletest-download'
[ 33%] No build step for 'googletest-download'
[ 44%] No install step for 'googletest-download'
[ 55%] No test step for 'googletest-download'
[ 66%] Completed 'googletest-download'
[100%] Built target googletest-download
/home/qiayuanliao/Project/Cheetah-Software/build/googletest-src
/home/qiayuanliao/Project/Cheetah-Software/build/googletest-build
-- /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.9.5
CMake Warning at sim/CMakeLists.txt:44 (find_package):
By not providing "FindQt5Gamepad.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"Qt5Gamepad", but CMake did not find one.
Could not find a package configuration file provided by "Qt5Gamepad" with
any of the following names:
Qt5GamepadConfig.cmake
qt5gamepad-config.cmake
Add the installation prefix of "Qt5Gamepad" to CMAKE_PREFIX_PATH or set
"Qt5Gamepad_DIR" to a directory containing one of the above files. If
"Qt5Gamepad" provides a separate development package or SDK, be sure it has
been installed.
but I can run the Qt5 Gamepad on Qt Creator
/home/huangqifeng/Downloads/master/sim/src/SimControlPanel.cpp: In lambda function:
/home/huangqifeng/Downloads/master/sim/src/SimControlPanel.cpp:408:12: error: no matching function for call to ‘QMetaObject::invokeMethod(SimControlPanel*, SimControlPanel::on_startButton_clicked()::<lambda()>::<lambda(std::__cxx11::string)>::<lambda()>)’
});
^
Hi,
I couple of in-depth searches looking for adequate actuators for a Cheetah Mini-like (or Cheetah Mini-copy?) yields this and this.
I was curious if you had experiences with these or could comment on them. I have to assume they're just knock-offs from online documentation but I also wasn't sure if you were in the process of mass producing them enough that one of these vendors is actually legitimate. I've seen a variety of interest around online with these actuators and I'm sure it would help all of us looking at this from the outside if any of these are actually good starts (or the actual actuators you're using) vs. things that could make us all waste a bunch of time.
Hi,
I'm trying to understand this state estimation file, however, I have some difficulties in line 123 ~ 149.
What I learned so far, vs
is the velocity of the foot reltive to the body and pzs
is the contact height of each foot, however, there is a term trust
in the equations at line 148 ~ 149:
_vs.segment(i1, 3) = (1.0f - trust) * v0 + trust * (-dp_f);
pzs(i) = (1.0f - trust) * (p0(2) + p_f(2));
I am not sure about the definatoin of trust
in line 123 ~ 132. How does it relate with vs
and pzs
?
T trust = T(1);
T phase = fmin(this->_stateEstimatorData.result->contactEstimate(i), T(1));
//T trust_window = T(0.25);
T trust_window = T(0.2);
if (phase < trust_window) {
trust = phase / trust_window;
} else if (phase > (T(1) - trust_window)) {
trust = (T(1) - phase) / trust_window;
}
And also, what is the character of high_suspect_number
in the equations of Q and R matrices?
Q.block(qindex, qindex, 3, 3) =
(T(1) + (T(1) - trust) * high_suspect_number) * Q.block(qindex, qindex, 3, 3);
R.block(rindex1, rindex1, 3, 3) = 1 * R.block(rindex1, rindex1, 3, 3);
R.block(rindex2, rindex2, 3, 3) =
(T(1) + (T(1) - trust) * high_suspect_number) * R.block(rindex2, rindex2, 3, 3);
R(rindex3, rindex3) =
(T(1) + (T(1) - trust) * high_suspect_number) * R(rindex3, rindex3);
Hi, I have a problem during installation with "make -j" .
At 78% I have this error " stropts.h : No such file or directory" with sim/CMakerFiles/sim.dir/include/moc_JoystickTest.cpp.o
After that , the last message is "waiting for finished jobs ..." and my computer crash.
Computer : MSI gl62mvr 7rfx
Linux : Ubuntu 20.04 ( with acpi=off during installation)
Hello, we'd like to understand how Cheetah's design parameters affect its performance e.g., maximum running speed. Parameters we might want to alter are in mc-mit-ctrl-user-parameters.yaml.
Would appreciate knowing how to do this under program control, not via an external joystick. We can modify the parameters in the file, but how do we run the simulated robot without a joystick. Even if we can do this with a mouse that would help.
We do not have a physical robot and would like to do this purely with simulation.
We have been able to build the software at our end.
Thanks very much.
I tried to send the LCM message from another program in the local computer. But Cheetah-Software does not read my LCM message. Is there any trick to unblock this restriction
Hi,
I can successfully run the simulator on user computer. Now I want to run robot code on upboard(I don't have a mini_cheetah still now).
I followed "running_mini_cheetah.md" for each step and made some modifications to adapt to my network adapter. Some of my steps as follows:
run ../scripts/config_network_lcm.sh user
run ../scripts/send_to_mini_cheetah.sh user/MIT_Controller/mit_ctrl after make
ssh in upboard
cd robot-software/
./config_network_lcm.sh upboard
cd bulid/
if I run ./run_mc.sh ./mit_ctrl, there will be an error as ./mit_ctrl: error while loading shared libraries: liblcm.so.1: cannot open shared object file: No such file or directory
if I run sudo nohup ./run_mc.sh ./mit_ctrl, then nohup: ignoring input and appending output to 'nohup.out'
I don't know whether the robot code start running successfully. I also run ./sim/sim in mc_build folder on user computer and choose Mini Cheetah and Robot to start, and some output as follows:
[GameController] Found 1 joystick
[SIM GRAPHICS] New graphics window.
[Graphics3D] Initialize OpenGL...
[SimControlPanel] Init Robot Interface...
[RobotInterface] Load parameters...
[RobotInterface] Init LCM
[RobotInterface] Init graphics
draw list has 13 items
LCM self test failed!!
Check your routing tables and firewall settings
LCM self test failed!!
Check your routing tables and firewall settings
[RobotInterface] Init dynamics
[RobotInterface] Send parameters to robot...
[PeriodicTask] Start robot-interface (0 s, 16666667 ns)
set cheater_mode to 0 (0)
[RobotInterface] Failed to send parameter cheater_mode (iter 0 timed out), trying again...
......
Is it something I did wrong or missed some important steps?
Running the make_types.sh
script from the mc-build
directory deletes all the python files in the scripts
directory.
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.