-
Notifications
You must be signed in to change notification settings - Fork 16
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
feat: xacro compilation #361
Conversation
Signed-off-by: YuxuanLiuTier4Desktop <[email protected]>
Signed-off-by: YuxuanLiuTier4Desktop <[email protected]>
Signed-off-by: YuxuanLiuTier4Desktop <[email protected]>
…itional script for comparing different xacro files for testing; add optional keywords for frame_id Signed-off-by: YuxuanLiuTier4Desktop <[email protected]>
…l look Signed-off-by: YuxuanLiuTier4Desktop <[email protected]>
…iginal look Signed-off-by: YuxuanLiuTier4Desktop <[email protected]>
Signed-off-by: YuxuanLiuTier4Desktop <[email protected]>
Signed-off-by: YuxuanLiuTier4Desktop <[email protected]>
Signed-off-by: YuxuanLiuTier4Desktop <[email protected]>
Signed-off-by: YuxuanLiuTier4Desktop <[email protected]>
Signed-off-by: YuxuanLiuTier4Desktop <[email protected]>
raw outputs from the xml_diff test script: Analyse files for XX1 sensorsKey Differences1. Include FilesChanges:Added:
2. Sensor Configuration ChangesLidarsParameter Changes:Modified parameters:
Analyse files for XX1 sensor_kitKey Differences1. Include FilesChanges:Added:
2. Sensor Configuration ChangesCamerasParameter Changes:LidarsParameter Changes:ImusParameter Changes:Analyse files for XX1 Gen2 sensorsKey Differences1. Include Files2. Sensor Configuration ChangesLidarsParameter Changes:RadarsParameter Changes:Analyse files for XX1 Gen2 sensor_kitKey Differences1. Include FilesChanges:Added:
2. Sensor Configuration ChangesCamerasParameter Changes:LidarsParameter Changes:ImusParameter Changes: |
Signed-off-by: YuxuanLiuTier4Desktop <[email protected]>
…_launcher into feat/xacro_compilation
Amazing! This PR can handle various type of sensors and reduce the double mentainance of the sensor configuration. Also, it does not change the link name itself and guarantees rosbag data compatibility. I once wondered if there was any possibility of not designating them, but in vain as follows:
|
@Owen-Liuyuxuan |
@shmpwk |
Thank you for creating this efficient feature. 👏 Below are some points I noticed in the code:
|
Aside from this PR, do we also need to change https://github.com/tier4/autoware_individual_params.jpntaxi ? |
@shmpwk |
Signed-off-by: YuxuanLiuTier4Desktop <[email protected]>
Signed-off-by: YuxuanLiuTier4Desktop <[email protected]>
Signed-off-by: YuxuanLiuTier4Desktop <[email protected]>
Signed-off-by: YuxuanLiuTier4Desktop <[email protected]>
Signed-off-by: YuxuanLiuTier4Desktop <[email protected]>
@Owen-Liuyuxuan |
@shmpwk |
Signed-off-by: YuxuanLiuTier4Desktop <[email protected]>
Signed-off-by: YuxuanLiuTier4Desktop <[email protected]>
@Owen-Liuyuxuan Thank you, make sense! |
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.
LGTM!!!
Updates (12/20)
Internal Document
Feature 1: Independent
aip_urdf_compiler
This package contains the scripts, templates, tests, and cmake macro. Other packages only need to add
in CMakeLists.txt to get the compilation done.
Feature 2: Optional frame ID annotation in config
Original PR:
#274
Updates (12/13)
After accumulating experience in integration. Here is an updated/robust version that I would like to push forward.
Feature 1: Type Annotation in config
In the Xacro Compilation script, we defined URDF Links into the following types.
Then when sensor configurations are defined as
The compiler will reliably determine what kind of link each transform is.
If the type is not annotated, the compiler will produce a warning and still try to infer the LinkType from the name of the link.
Feature 2: Force Recompiling on Each Colcon Build
The former PR has the problem of needing to modify the
CMakeLists.txt
to trigger re-compilation. Now we improve theCMakeLists.txt
so that we will create a brand-new urdf every time we rebuild, so that we can make tuning on the fly easily.Description
Proposal of dynamically building xacro files during CMake from sensor calibration configs instead of hard-coding them in the repo.
#275
Methods
Using the jinja2 template mechanism, we can dynamically create as many joints as defined in the calibration Yaml file.
Tricky Problem
To determine the link types, we use the names of the links to infer the types, trying our best to be consistent with the common inputs and also readable. (
determine_link_type
)Test
I have tried successfully launching PSim with the created xacro.