-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Angular Momentum task & use base-estimator entity to achieve walk in torque control #75
base: devel
Are you sure you want to change the base?
Changes from all commits
27bac45
9951391
c1671d1
e233250
c05584c
15c85a6
1382c0a
30ff3c6
f83a15d
de4ac01
a6639c4
da0fd7d
8766480
6629e64
2e8ba0f
d5ff701
4468508
501baec
479e4aa
cd75739
d7edbda
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
+6 −0 | .docs/pages/base.rst | |
+33 −2 | .docs/pages/developers.rst | |
+4 −0 | .docs/pages/internal.rst | |
+111 −3 | Config.cmake.in | |
+32 −0 | base.cmake | |
+14 −11 | boost.cmake | |
+2 −2 | compiler.cmake | |
+23 −0 | componentConfig.cmake.in | |
+3 −1 | cython/cython.cmake | |
+2 −1 | cython/setup.in.py | |
+474 −686 | doxygen.cmake | |
+0 −4 | doxygen/Doxyfile.extra.in | |
+0 −2,121 | doxygen/Doxyfile.in | |
+10 −0 | doxygen/doxyfile.awk | |
+26 −0 | find-external/CppAD/Findcppad.cmake | |
+20 −0 | find-external/CppAD/Findcppadcg.cmake | |
+5 −2 | hpp/doc.cmake | |
+7 −3 | hpp/idl/omniidl_be_python_with_docstring.py | |
+85 −16 | package-config.cmake | |
+43 −9 | pkg-config.cmake | |
+1 −1 | pkg-config.pc.cmake | |
+58 −44 | python.cmake | |
+14 −8 | test.cmake | |
+141 −103 | version.cmake |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# Pyrene step in the air in torque control | ||
|
||
In the following, we demonstrate how to run the foot sinusoid simulation with <a href="https://github.com/stack-of-tasks/sot-torque-control">sot-torque-control</a>, and talos-torque-control. | ||
|
||
## Start the simulation | ||
|
||
Start the simulation with the robot in the half-sitting position: | ||
``` | ||
roslaunch talos_data talos_gazebo.launch start_half_sitting:=true | ||
``` | ||
|
||
## Start the SoT in torque mode | ||
|
||
To start the SoT in simulation in torque mode: | ||
``` | ||
roslaunch roscontrol_sot_talos sot_talos_controller_gazebo_effort.launch | ||
``` | ||
|
||
## Run the test | ||
|
||
First of all, you need to go to the folder where your script is. | ||
For running the ddp test of talos-torque-control, assuming you are in the root directory: | ||
|
||
``` | ||
cd script | ||
``` | ||
|
||
Then, you can just run the test : | ||
|
||
``` | ||
python sim_torque_bellStep.py | ||
``` | ||
|
||
This will launch the simulation making the robot executing a sinusoid movement of its left foot in the air (a "bell step") in torque control. | ||
|
||
The script also saves the dynamic graph in /tmp/sot_talos_tsid_bellStep.pdf. | ||
|
||
## Other | ||
|
||
More information on how to use the SoT and how to work on Talos can be found <a href="https://wiki.laas.fr/robots/Pyrene">in the robot wiki page</a> (you need LAAS permissions to access this). |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# Make Pyrene walk in torque control (quasistatic trajectories) | ||
|
||
In the following, we demonstrate how to run the walking simulation with <a href="https://github.com/stack-of-tasks/sot-torque-control">sot-torque-control</a>, and talos-torque-control; using the reference quasistatic trajectories computed by <a href="https://github.com/loco-3d/multicontact-api">multicontact-api</a>. | ||
|
||
## Start the simulation | ||
|
||
Start the simulation with the robot in the half-sitting position: | ||
``` | ||
roslaunch talos_data talos_gazebo.launch start_half_sitting:=true | ||
``` | ||
|
||
## Start the SoT in torque mode | ||
|
||
To start the SoT in simulation in torque mode: | ||
``` | ||
roslaunch roscontrol_sot_talos sot_talos_controller_gazebo_effort.launch | ||
``` | ||
|
||
## Run the test | ||
|
||
First of all, you need to go to the folder where your script is. | ||
For running the ddp test of talos-torque-control, assuming you are in the root directory: | ||
|
||
``` | ||
cd script | ||
``` | ||
|
||
Then, you can just run the test, specifying which type of walk you want the robot to execute (on spot or 20cm steps): | ||
|
||
``` | ||
Usage: python sim_walk_torque.py walk_type:=[on_spot|walk_20] {path_folder_of_the_reference_trajectories} | ||
``` | ||
For instance, for the walk on spot simulation, just run: | ||
|
||
``` | ||
python sim_walk_torque.py on_spot | ||
``` | ||
|
||
This will launch the simulation making the robot walk on spot in torque control (for now only a quasistatic movement). | ||
|
||
The script also saves the dynamic graph in /tmp/sot_talos_tsid_walk.pdf. | ||
|
||
For the 20cm walk just specify "walk_20" instead of "on_spot" in the command line. | ||
|
||
If you have some reference trajectories which are not the ones of the talos-torque-control package, you can test them by specifying the absolute path of their folder: | ||
|
||
``` | ||
python sim_walk_torque.py walk_20 path_to_folder_of_ref_trajectories | ||
``` | ||
|
||
The trajectories must have a .dat extension and the following names: | ||
* am.dat -> angular momentum trajectory (3D vector to 9D vector if derivatives) | ||
* com.dat -> center of Mass trajectory (3D vector to 9D vector if derivatives) | ||
* leftFoot.dat and rightFoot.dat -> feet trajectories (12D SE3 vector to 36D SE3 vector if derivatives) | ||
* leftForceFoot.dat and rightForceFoot.dat -> feet forces trajectories (6D vector to 18D vector if derivatives) | ||
|
||
## Other | ||
|
||
More information on how to use the SoT and how to work on Talos can be found <a href="https://wiki.laas.fr/robots/Pyrene">in the robot wiki page</a> (you need LAAS permissions to access this). |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -66,9 +66,6 @@ class SOTIMUOFFSETCOMPENSATION_EXPORT ImuOffsetCompensation : public ::dynamicgr | |
|
||
/* --- METHODS --- */ | ||
void update_offset_impl(int iter); | ||
void sendMsg(const std::string& msg, MsgType t = MSG_TYPE_INFO, const char* file = "", int line = 0) { | ||
logger_.stream(t) << ("[ImuOffsetCompensation-" + name + "] " + msg, t, file, line); | ||
} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why did you (re)move the sendMsg methods? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The sendMsg method have been move into the logger.h class of dynamic-graph to be used uniformly by all packages. |
||
|
||
protected: | ||
bool m_initSucceeded; /// true if the entity has been successfully initialized | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't it be more appropriate to have this documentation in pyrene-torque-control?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also put it in talos-torque-control. But because there were no example of use of sot-torque-control I also put it here.
But I can remove it :)