-
Notifications
You must be signed in to change notification settings - Fork 214
Get access to Pinocchio Data in Actuation Data #1242
Hello,
I am currently working on a custom actuation model for my project. This actuation model would require to get access to the Pinocchio Data to perform its calc and calcDiff. However, for now it is not possible to create Actuation Data that can take as input a Pinocchio Model.
Describe the solution you'd like
The idea I had in mind was to modify the code for the createData function of the ActuationModel so that it can take a Pinocchio Model as input.
Describe alternatives you've considered
I also thought about adding access to the Data Collector for the actuation data and do as it is done for the cost with a shareMemory function. But I don't know if this modification is mandatory.
What do you think ? I let the discussion open and I would thank you a lot if you have recomandations. I don't mind adding this feature to crocoddyl since I think I will make the change in my own fork of the repo.
Thank you in advance,
Maxime
All reactions
Replies: 1 comment 1 reply
Hi @msabbah06,
The second alternative goes into Crocoddyl's current design. I would encourage you to come up with a proposal along these lines. However, it would be beneficial to describe your problem in detail, so that, we can have a more educated discussion.
Anyway, we've made some reasonable changes in Crocoddyl's API and discussed possible changes for the actuation model as well. Therefore, please try to propose a minimal set of changes.
Thanks,
Carlos
All reactions
Hello @cmastalli,
My current work focuses on human-robot interaction. To model the human behavior, the first approximation we made was to set an impedance controller for the human joints following a predefined trajectory in state space. To stabilize the resolution, we also added a gravity compensation for both the human and the robot so that is why I needed the pinocchio data in the actuation data. Therefore, my actuation looks like this : tau = [K(x*_human - x_human) + tau_g_human ; u + tau_g_robot], where u is the control associated to the robot joints. I hope it is clear.
The modification I made for now are to be found here : https://gitlab.laas.fr/msabbah/crocoddyl/-/commit/94a36b56d18f85c6b8f51220abb7eee289cc341a
But this follows the first suggestion I made. I let you tell me what you think, I can also work on the second option if needed.
Thank you again,
Maxime