loco-3d / torque-control Goto Github PK
View Code? Open in Web Editor NEWRepository collecting issues and information regarding the torque control for the Loco3D project
License: GNU General Public License v3.0
Repository collecting issues and information regarding the torque control for the Loco3D project
License: GNU General Public License v3.0
A critical information during development is the computational time. It is now measured in the graph for different entities and for particular code exécution via the profiler. It is also computed by the real time loop and stats are displays one's a while in std output.
It would be good to have it as a signal for online plotting and allow future rosbag records investigation.
A dedicated entity could expose the profiler stats as signals.
To be complete, the realtime loop should send to the SoT its own execution time, and the communication time with the motor and sensors. This could be seen as a regular measurement and be exposed as signals in the device.
We have problems with some joints of the robots, and it would be more than useful to have spare part ready for harmonic drive reducers. We believe performances of force tracking can be greatly improved if this joints reducers are fixed.
Is there a generic HD that can be adapted to HRP-2 ?
Is it possible to get some HD from japan ?
We need a working simulation of the robot with the ankles flexibility to speed up the controller development. Actually openHRP is behaving strangely and become unstable after some time.
We need to investigate this issues.
A calibration of the F/T sensors in HRP-2's ankles may be beneficial, especially in the estimation of the ZMP, which is crucial for balancing and walking on flat ground.
The normal force calibration could also be achieved by attaching a known load to the foot. Then, by applying forces on the four corners of the foot we could easily calibrate the tangential moments.
Currently, we manage to get in single support by filtering a lot the forces given to the force tracker. We know that this force should be filtered less for the base estimation.
The next test to do is to plug a less filtered forces to base-estimator and to compare the behavior.
We need to test and tune the controller to get an acceptable motion tracking of the flying foot. We may have to choose different gains for flying foot and for support foot. In that case we should allow the controller to take gains as signal from a plan trajectory, or to generate gains values from the contact detection.
On HRP-2 we are currently using an observer (see sot-state-observation) to estimate the state of the two springs located in the robot's ankles. In turns, this allows us to estimate the pose (position + orientation) of the robot's base. In order to validate the output of this observer we could compare the position of the center of pressure (computed with the 6-axis force/torque sensors in HRP-2's feet) with the projection on the ground of the position of the center of mass of the robot. When the robot is in static equilibrium these two should be at the same point.
Of course a lot of other factors could negatively affect the outcome of the test, such as errors in the inertial parameters or in the kinematic model of the robot. A better way to validate the observer could be to use the motion-capture system, but that would require more work.
At the moment the control loop on HRP-2 runs at 400 Hz, whereas we would like to reach 1 kHz especially in order to improve velocity estimation through finite differences. Most of the time is taking by these three parts:
We believe that for all these three pieces of code there is room for improving performance, so that we could increase the control frequency.
To carry out experiments on the robot we are currently relying we connect to the python interpreter (running on the robot) through a rosservice, which gives us a python console, but without auto-completion. This makes the experiments quite slow because we struggle to remember the names of the signals and the commands of the different entities, so we have constantly to use the methods displaySignals
and commands
to check the names.
Here are a few features for a GUI to use with dynamic graph, which could be an extension of rqt_dynamic_graph:
value
and time
For the list of entities, signals and commands, we could start from the layout of rqt_logger_level, which you can see here.
We believe the CoM estimation could be improved using force sensors. We detect differences of about 1cm from CoP and CoM in static. It is to note that this errors depends on the posture, so it may be related to wrong mass distribution model. We also detect a whole body mass difference between model and measurement. Another possible problem is a wrong calibration of the feet force-torque sensor (related to #3)
A result of a non coherent CoM to CoP quantities is a conflict in the controller making us have to prioritize with a lot of caution the Force and CoM tracking task weight.
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.