Open 130s opened 9 years ago
one problem on vrml model of hiro is that is not opensourced yet. (but somehow collada model is opensoured). providing 15DOF version of collada model is nice.
This will be beneficial to address other issues (eg. https://github.com/tork-a/rtmros_nextage/issues/135 in the downstream pkg).
@emijah How is this easy/hard?
In the colladawriter, jointsid of fixed joint is set and it is more than 1000. https://github.com/fkanehiro/openhrp3/blob/master/server/ModelLoader/ColladaWriter.h#L610 So, you can change jointsid in collada model (reordering joint id may be needed).
BTW, I don't understand why this is working. Is it dirty hack? we should fix to parse jointsid in bodyinfocollada. https://github.com/fkanehiro/openhrp3/blob/master/server/ModelLoader/BodyInfoCollada_impl.cpp#L990
BTW, I don't understand why this is working. Is it dirty hack?
do you mean whey this is running when DOF of wrl and collada are different? may be we forget to check that... https://github.com/start-jsk/rtmros_common/blob/master/hrpsys_ros_bridge/src/HrpsysSeqStateROSBridge.cpp#L380
Can I ask the users and the roles of each model file format in Hiro-NXO system?
(main.* as the whole body representation)
Once I get an answer I'll update the diagram for the model relaitonship.
In hironx, collada is the only modelfile which is publically available, so we use collada
to start hrpsys system (read by ModelLoader
and used in openhrp3
library which is used in hrpsys simulator
).
https://github.com/start-jsk/rtmros_hironx/blob/hydro-devel/hironx_ros_bridge/launch/hironx_startup.launch#L6
As for real robot, they have .wrl
model in the robot, so .wrl is used in the hrpsys sytem (read by modelLoader and used in openhrp3 library which is used in rtcd (hrpsys)).
https://github.com/start-jsk/rtmros_hironx/blob/hydro-devel/hironx_ros_bridge/launch/hironx_ros_bridge_real.launch#L4
I both cases, they uses collada model as robot_description
and publish tf
or others.
In the case of nextage wrl, is used for both https://github.com/tork-a/rtmros_nextage/blob/hydro-devel/nextage_ros_bridge/launch/nextage_startup.launch#L5 https://github.com/tork-a/rtmros_nextage/blob/hydro-devel/nextage_ros_bridge/launch/nextage_ros_bridge_real.launch#L4 , which means both simulation and real robot use wrl.
And collada is used in ros bridge systems https://github.com/tork-a/rtmros_nextage/blob/hydro-devel/nextage_ros_bridge/launch/nextage_ros_bridge_simulation.launch#L2
BTW, it seems hironx launch file uses without specifying nextage robot model, this means it uses nextage robot model in this case? https://github.com/tork-a/rtmros_nextage/blob/hydro-devel/nextage_ros_bridge/launch/nextage_ros_bridge_real.launch#L10
BTW, it seems hironx launch file uses without specifying nextage robot model, this means it uses nextage robot model in this case? https://github.com/tork-a/rtmros_nextage/blob/hydro-devel/nextage_ros_bridge/launch/nextage_ros_bridge_real.launch#L10
(With a risk that I might not get your question) Nextage's launch passes the location of NEXTAGE model to hiro's launch, like the following. So I don't have any concern here:
4 <arg name="MODEL_FILE" default="/opt/jsk/etc/NEXTAGE/model/main.wrl" /> <!-- This shouldn't be changed unless you know what you're doing; this is the location of vrml file internal to the robot (on QNX OS). -->
:
10 <include file="$(find hironx_ros_bridge)/launch/hironx_ros_bridge_real.launch" >
11 <arg name="CONF_FILE_COLLISIONDETECT" value="$(arg CONF_FILE_COLLISIONDETECT)" />
12 <arg name="corbaport" value="$(arg corbaport)" />
13 <arg name="MODEL_FILE" value="$(arg MODEL_FILE)" />
Model file is passed to hironx_ros_bridge_real.launch:
4 <arg name="MODEL_FILE" default="/opt/jsk/etc/HIRONX/model/main.wrl" /> <!-- This shouldn't be changed unless you know what you're doing -->
:
14 <include file="$(find hironx_ros_bridge)/launch/hironx_ros_bridge.launch" >
15 <arg name="CONF_FILE_COLLISIONDETECT" value="$(arg CONF_FILE_COLLISIONDETECT)" />
16 <arg name="corbaport" default="$(arg corbaport)" />
17 <arg name="MODEL_FILE" value="$(arg MODEL_FILE)" />
Right now the model file available in hironx_ros_bridge/models folder has 24-DOF. But the one inside of Hiro (Opensource version) is 15-DOF.
As far as I'm aware, the setting above confuses the result of
getJointAngles()
; the array returned contains 24 for the simulation and 15 with the real robot (example discussion).If the VRML file used internal to the robot is available, we can provide an option to run the simulation with 15-DOF.