ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
If I understand you correctly, your problem is this:
base_link
→ pico_de_gallo
.royale_in_ros
) publishes the sensor data in the frame_id royale_camera_optical_frame
.First of all, I wouldn't recommend using royale_in_ros
. It's just a code sample that is shipped with the libroyale
(i.e., the SDK for accessing the pico flexx cameras). Among other things, it has the limitation that you cannot change the frame_id
in which the sensor data is published, so you cannot use two different pico flexx cameras at the same time.
Instead, I would recommend using the pico_flexx_driver (full disclosure: I am a maintainer). Look at the README for all parameters. The pico_flexx_driver
has a parameter called base_name_tf
, which is by default pico_flexx
. The sensor data is published in the $base_name_tf
+ "_optical_frame"
, so by default "pico_flexx_optical_frame"
. If the launch file arg publish_tf
is true
, the launch file also publishes TFs for $base_name_tf
+ "_link"
→ $base_name_tf
+ "_optical_frame"
.
So what you could do is:
base_link
→ pico_de_gallo_link
.pico_flexx_driver
with publish_tf = true
and base_name = pico_de_gallo
: It will publish the TF transform pico_de_gallo_link
→ pico_de_gallo_optical_frame
, and all sensor data in pico_de_gallo_optical_frame
.Alternatively:
base_link
→ pico_de_gallo_optical_frame
.pico_flexx_driver
with publish_tf = false
and base_name = pico_de_gallo
: It will not publish TF transforms, and all sensor data in pico_de_gallo_optical_frame
.The important point is that in both cases, all TF transforms together form a tree from base_link
to the frame that your sensor data is published in.
One more hint: When you want to run two pico_flexx cameras, you must start two nodelets, in the same nodelet manager (so that both end up in the same process). See end of the README. So you'll probably want to copy the launch file from pico_flexx_driver
and modify it.
2 | No.2 Revision |
If I understand you correctly, your problem is this:
base_link
→ pico_de_gallo
.royale_in_ros
) publishes the sensor data in the frame_id royale_camera_optical_frame
.First of all, I wouldn't recommend using royale_in_ros
. It's just a code sample that is shipped with the libroyale
(i.e., the SDK for accessing the pico flexx cameras). Among other things, it has the limitation that you cannot change the frame_id
in which the sensor data is published, so you cannot use two different pico flexx cameras at the same time.
Instead, I would recommend using the pico_flexx_driver (full disclosure: I am a maintainer). Look at the README for all parameters. The pico_flexx_driver
has a parameter called base_name_tf
, which is by default pico_flexx
. The sensor data is published in the $base_name_tf
+ "_optical_frame"
, so by default "pico_flexx_optical_frame"
. If the launch file arg publish_tf
is true
, the launch file also publishes TFs for $base_name_tf
+ "_link"
→ $base_name_tf
+ "_optical_frame"
.
So what you could do is:
base_link
→ pico_de_gallo_link
.pico_flexx_driver
with publish_tf = true
and base_name = pico_de_gallo
: It will publish the TF transform pico_de_gallo_link
→ pico_de_gallo_optical_frame
, and all sensor data in pico_de_gallo_optical_frame
.Alternatively:
base_link
→ pico_de_gallo_optical_frame
.pico_flexx_driver
with publish_tf = false
and base_name = pico_de_gallo
: It will not publish TF transforms, and all sensor data in pico_de_gallo_optical_frame
.The important point is that in both cases, all TF transforms together form a tree from base_link
to the frame that your sensor data is published in.
One more hint: When you want to run two pico_flexx cameras, you must start two nodelets, in the same nodelet manager (so that both end up in the same process). See end of the README. So you'll probably want to copy the launch file from pico_flexx_driver
and modify it.
Edit in response to your compilation problems:
Your pico_flexx_driver
directory should look like this:
pico_flexx_driver
├── cfg
│ └── pico_flexx_driver.cfg
├── cmake
│ ├── findPicoFlexxSDK.py
│ └── Findroyale.cmake
├── CMakeLists.txt
├── launch
│ └── pico_flexx_driver.launch
├── LICENSE
├── nodelet_plugins.xml
├── package.xml
├── README.md
├── royale
│ └── libroyale-3.17.0.56-LINUX-x86-64Bit
│ ├── API_Documentation.html
│ ├── bin
│ ├── CHANGELOG.txt
│ ├── cypress_license.txt
│ ├── doc
│ ├── driver
│ ├── Getting_Started_CamBoard_pico_flexx.pdf
│ ├── Getting_Started_CamBoard_pico_maxx.pdf
│ ├── Getting_Started_CamBoard_pico_monstar.pdf
│ ├── gpl-3.0.txt
│ ├── gradle-wrapper_license.txt
│ ├── include
│ ├── jquery_license.txt
│ ├── kissfft_license.txt
│ ├── lgpl-2.1.txt
│ ├── lgpl-3.0.txt
│ ├── matlab
│ ├── packedarray_license.txt
│ ├── README.md
│ ├── royale_license.txt
│ ├── RoyaleViewer.pdf
│ ├── samples
│ ├── share
│ └── sizzle_license.txt
└── src
└── pico_flexx_driver.cpp