Closed CarlDegio closed 9 months ago
And I would like to know when use demo(such as advance c++) how to publish robot model in rviz like bringup.launch.py? I add some launch option but there are no TF and robot model in rviz. It seems that currently app_node does not publish TF and robot models
sorry for the confusion.
The core is always the App https://github.com/lbr-stack/lbr_fri_ros2_stack/blob/humble/lbr_fri_ros2/include/lbr_fri_ros2/app.hpp. It reads commands from /robot-name/command
and sends states to /robot-name/state
.
The bringup launches the hardware interface and sets the robot-name
to _robot-name
, hence topics still exist, but are hidden, try ros2 topic list --include-hidden
. This is to prevent users from publishing to /robot-name/command
, since the hardware interface does. Hope that makes sense. It might be better to only hide the command topic?
To visualize the robot in rviz, you could take data from the /robot-name/state
topic and re-publish it as JointState
.
Could you please pinpoint to the section in the readme so it can be fixed? Thank you
Thank you! I got that. In addition, I would like to ask ros2 control interface is expected to use with lbr_bringup currently? Since the users interactive kuka with jointstate.
The current readme does not mention the difference between app and lbr_bringup. Only topic difference in demo: https://lbr-fri-ros2-stack-doc.readthedocs.io/en/humble/lbr_fri_ros2_stack/lbr_demos/doc/lbr_demos.html and https://lbr-fri-ros2-stack-doc.readthedocs.io/en/humble/lbr_fri_ros2_stack/lbr_demos/lbr_demos_ros2_control_cpp/doc/lbr_demos_ros2_control_cpp.html
sorry not sure I got the question, correctly.
Most ROS users are familiar with the hardware interface (ROS 2 control), which is launched in the lbr_bringup
package. ROS 2 control, however, can be a little overwhelming at first.
For research and to get started quickly, one can also launch lbr_fri_ros2
standalone.
There is some documentation on the bringup here https://lbr-fri-ros2-stack-doc.readthedocs.io/en/humble/lbr_fri_ros2_stack/lbr_bringup/doc/lbr_bringup.html
It should probably clarified in the links you sent.
Oh, i just noticed it. In fact, I think this is caused by the experience of using this library before XD. Maybe it will be easier for a new user to understand.
You raised a couple of valid points and we will try to address them, so thank you very much @CarlDegio !
this will be added in #130
this issue is now fully resolved.
System can for example be launched via
ros2 launch lbr_bringup bringup.launch.py model:=iiwa7 sim:=false ctrl:=forward_lbr_position_command_controller
This will spawn:
/lbr/joint_states
)/lbr/state
)/lbr/force_torque_broadcaster/wrench
, visualized in RViZ)/lbr/command/join_position
)This will also spawn RViZ.
Available controllers can be listed via: ros2 launch lbr_bringup bringup.launch.py -s
. More documentation is on the way.
In the past, the launch file bringup.launch.py will publish /lbr/command and /lbr/state topics. But now I found it doesn't. Is this normal?
And now the cpp demo doesn't need to launch bringup.launch.py cause the app_node is used(Inconsistent with README).