Joshua,

I’m not sure which RoboSimian demo you’re looking at, but both 
demo_ROBOT_RoboSimian_Rigid (or _SCM) and demo_PARSER_URDF_RoboSimian apply 
motor actuations to the various robot joints (the difference between the two is 
that in the former the RoboSimian model is constructed explicitly, while the 
latter uses the Chrono URDF parser).

Granted, the motors used in the RoboSimian model uses “position” motors 
(specifying the joint angles as functions of time), except for the wheel joints 
which are actuated at velocity level.  What I did in these demos to bring the 
robot from the “design pose” to the “start pose” is to fix the robot chassis 
(root body) until the desired start pose is reached. After that, I release the 
robot onto the ground.  You should be able to do the same thing while using 
torque-controlled joints (use ChParserURDF::ActuationType::FORCE if building 
the robot from a URDF file, or else use ChLinkMotorRotationTorque elements to 
connect bodies).

You can get the reaction in any Chrono joint using the functions GetReaction1() 
and GetReaction2(), for the reaction wrench on the first and second body, 
respectively. Furthermore, if you use a motor instead of a joint, you can also 
get the motor torque (or force for a linear motor) acting on the DOF actuated 
by that motor. Of course, for a torque (force) actuated motor, that is not 
interesting.

--Radu




From: [email protected] <[email protected]> On Behalf 
Of Joshua Philip Martin
Sent: Monday, October 14, 2024 9:03 PM
To: ProjectChrono <[email protected]>
Subject: [chrono] Questions about Robot Joints

I am trying to do some reinforcement learning via gym-chrono with a custom 
robot system; while I know the current Project Chrono iteration has diverged 
quite a bit from the original gym-chrono branch, I've been trying to set up my 
environment in gym-chrono for training and have some questions about core 
Chrono functionality.

1. Once spawned into a simulation, is there a way to manually change the 
starting joint angles? None of the demos I've seen with complex rigid body sims 
(e.g. the RoboSimian demo, as well as the Unitree demo in gym-chrono) do 
anything but spawn the system at the default "zero" joint angles. I'm 
interested in having my system be torque controlled at all joints, so I'm 
unsure if spawning the robot with the motors at position setmode, setting them 
(thereby imparting moments and forces on the floating, yet-to-touch-the-ground 
system), then switching to force setmode for later control is possible or 
feasible; if a better way exists to do this, please let me know!

2. Is there a convenient way to extract the internal forces and torques acting 
at a link/joint? Since the dynamics simulation needs to propagate wrenches 
through the rigid body system, I assume those calculations must be done 
somewhere under the hood in Chrono; I'm just not sure where to access them. 
Having access to this like one would via a 6-axis force/torque sensor would be 
very helpful.
--
You received this message because you are subscribed to the Google Groups 
"ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
[email protected]<mailto:[email protected]>.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/projectchrono/e70879a9-ece7-4143-9d36-1bfca85761a1n%40googlegroups.com<https://urldefense.com/v3/__https:/groups.google.com/d/msgid/projectchrono/e70879a9-ece7-4143-9d36-1bfca85761a1n*40googlegroups.com?utm_medium=email&utm_source=footer__;JQ!!Mak6IKo!P7dlRSIicmL0hlRS42vQTHbb4jqI1bMq8sw-BoOn6mBqYSRrYxYRvQ1gzo2O4XH7iUf4jDze2msMBOaw$>.

-- 
You received this message because you are subscribed to the Google Groups 
"ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/projectchrono/CH3PPF46CDC218597F1E858798EC0459ADDA7462%40CH3PPF46CDC2185.namprd06.prod.outlook.com.

Reply via email to