Skip to content
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

Error in nav2 path planning of nvblox #114

Open
innowing-robotics-intern opened this issue Jun 24, 2024 · 0 comments
Open

Error in nav2 path planning of nvblox #114

innowing-robotics-intern opened this issue Jun 24, 2024 · 0 comments

Comments

@innowing-robotics-intern

Platform: Jetson Agx orin, jetpack 6, ubuntu22.04

We follow the quickstart and change the realsense_example.launch.py to try nav2.
We use the people mode: ros2 launch nvblox_examples_bringup realsense_example.py :=people
However, the program dies after we pubulish Goal pose.

[rviz2-3] [INFO] [1719218702.687899080] [rviz2]: Setting goal pose: Frame:odom, Position(-0.0620599, 0.373484, 0), Orientation(0, 0, 0.866043, 0.49997) = Angle: 2.09446
[component_container_mt-4] [INFO] [1719218702.692443560] [bt_navigator]: Begin navigating from current location (-0.36, -0.03) to (-0.06, 0.37)
[component_container_mt-4] [INFO] [1719218702.805125339] [controller_server]: Received a goal, begin computing control effort.
[component_container_mt-4] [WARN] [1719218702.805421947] [controller_server]: No goal checker was specified in parameter 'current_goal_checker'. Server will use only plugin loaded stopped_goal_checker . This warning will appear once.
[component_container_mt-4] [INFO] [1719218702.812563612] [controller_server]: Optimizer reset
[component_container_mt-4] [WARN] [1719218702.895972201] [controller_server]: Control loop missed its desired rate of 20.0000Hz
[component_container_mt-4] [WARN] [1719218702.967895861] [controller_server]: Control loop missed its desired rate of 20.0000Hz
[component_container_mt-4] terminate called after throwing an instance of 'std::runtime_error'
[component_container_mt-4]   what():  Taking data from action client but nothing is ready
[ERROR] [component_container_mt-4]: process has died [pid 360163, exit code -6, cmd '/opt/ros/humble/lib/rclcpp_components/component_container_mt --ros-args --log-level info --ros-args -r __node:=nvblox_container --params-file /opt/ros/humble/share/nova_carter_navigation/params/nova_carter_navigation.yaml --params-file /tmp/6c528240-09e3-4a30-86bd-16abb54c1b30.yaml --params-file /tmp/21db3e01-9901-4d65-8751-a8edca861397.yaml --params-file /tmp/c146c626-b74a-4a0c-8ed6-21289898472f.yaml --params-file /tmp/67a36707-c0b4-4488-9d3f-ecae900104ce.yaml --params-file /tmp/43f56e77-3757-4a3b-b921-2a54ad74a098.yaml --params-file /tmp/85336e79-90bf-45b1-b1dd-76e150a0b22a.yaml --params-file /tmp/bc7b66ab-46c5-4e49-bd6e-cd0a4600a6b6.yaml --params-file /tmp/8b6ea6c5-22cd-41b4-9764-fb09d9455540.yaml'].
[INFO] [launch]: process[component_container_mt-4] was required: shutting down launched system
[INFO] [rviz2-3]: sending signal 'SIGINT' to process[rviz2-3]
[INFO] [static_transform_publisher-2]: sending signal 'SIGINT' to process[static_transform_publisher-2]
[INFO] [static_transform_publisher-1]: sending signal 'SIGINT' to process[static_transform_publisher-1]
[rviz2-3] [INFO] [1719218707.449254608] [rclcpp]: signal_handler(signum=2)
[static_transform_publisher-2] [INFO] [1719218707.450418480] [rclcpp]: signal_handler(signum=2)
[static_transform_publisher-1] [INFO] [1719218707.451320209] [rclcpp]: signal_handler(signum=2)
[INFO] [static_transform_publisher-1]: process has finished cleanly [pid 360157]
[INFO] [static_transform_publisher-2]: process has finished cleanly [pid 360159]
[INFO] [rviz2-3]: process has finished cleanly [pid 360161]

This is my realsense_example.launch.py

from isaac_ros_launch_utils.all_types import *
import isaac_ros_launch_utils as lu
from launch import LaunchDescription
from launch_ros.actions import Node

from nvblox_ros_python_utils.nvblox_launch_utils import NvbloxMode, NvbloxCamera, NvbloxPeopleSegmentation
from nvblox_ros_python_utils.nvblox_constants import SEMSEGNET_INPUT_IMAGE_WIDTH, \
    SEMSEGNET_INPUT_IMAGE_HEIGHT, NVBLOX_CONTAINER_NAME


def generate_launch_description() -> LaunchDescription:
    args = lu.ArgumentContainer()
    args.add_arg(
        'rosbag', 'None', description='Path to rosbag (running on sensor if not set).', cli=True)
    args.add_arg('rosbag_args', '', description='Additional args for ros2 bag play.', cli=True)
    args.add_arg('log_level', 'info', choices=['debug', 'info', 'warn'], cli=True)
    args.add_arg(
        'mode',
        default=NvbloxMode.static,
        choices=NvbloxMode.names(),
        description='The nvblox mode.',
        cli=True)
    args.add_arg(
        'people_segmentation',
        default=NvbloxPeopleSegmentation.peoplesemsegnet_vanilla,
        choices=[
            str(NvbloxPeopleSegmentation.peoplesemsegnet_vanilla),
            str(NvbloxPeopleSegmentation.peoplesemsegnet_shuffleseg)
        ],
        description='The  model type of PeopleSemSegNet (only used when mode:=people).',
        cli=True)
    args.add_arg(
        'navigation',
        True,
        description='Whether to enable nav2 for navigation in Isaac Sim.',
        cli=True)
    actions = args.get_launch_actions()

    # Globally set use_sim_time if we're running from bag or sim
    actions.append(
        SetParameter('use_sim_time', True, condition=IfCondition(lu.is_valid(args.rosbag))))

    # Navigation
    # NOTE: needs to be called before the component container because it modifies params globally
    actions.append(
        lu.include(
            'nvblox_examples_bringup',
            'launch/navigation/nvblox_carter_navigation.launch.py',
            launch_arguments={
                'container_name': NVBLOX_CONTAINER_NAME,
                'mode': args.mode,
            },
            condition=IfCondition(lu.is_true(args.navigation))))
    # tf from base_link to camera_link
    # from launch import LaunchDescription
    # from launch_ros.actions import Node
    actions.append(
        Node(
            package='tf2_ros',
            executable='static_transform_publisher',
            arguments=['0', '0', '0', '0', '0', '0', '1', 'camera_link', 'base_link'],
            name='static_tf_pub_world_to_base_link'
        )
    )
    # Realsense
    actions.append(
        lu.include(
            'nvblox_examples_bringup',
            'launch/sensors/realsense.launch.py',
            launch_arguments={'container_name': NVBLOX_CONTAINER_NAME},
            condition=UnlessCondition(lu.is_valid(args.rosbag))))

    # Visual SLAM
    actions.append(
        lu.include(
            'nvblox_examples_bringup',
            'launch/perception/vslam.launch.py',
            launch_arguments={
                'container_name': NVBLOX_CONTAINER_NAME,
                'camera': NvbloxCamera.realsense,
            },
            # Delay for 1 second to make sure that the static topics from the rosbag are published.
            delay=1.0,
            ))

    # People segmentation
    actions.append(
        lu.include(
            'nvblox_examples_bringup',
            'launch/perception/segmentation.launch.py',
            launch_arguments={
                'container_name': NVBLOX_CONTAINER_NAME,
                'people_segmentation': args.people_segmentation,
                'input_topic': '/camera/color/image_raw',
                'input_camera_info_topic': '/camera/color/camera_info',
            },
            condition=IfCondition(lu.has_substring(args.mode, NvbloxMode.people))))

    # Nvblox
    actions.append(
        lu.include(
            'nvblox_examples_bringup',
            'launch/perception/nvblox.launch.py',
            launch_arguments={
                'container_name': NVBLOX_CONTAINER_NAME,
                'mode': args.mode,
                'camera': NvbloxCamera.realsense,
            }))

    # Play ros2bag
    actions.append(
        lu.play_rosbag(
            bag_path=args.rosbag,
            additional_bag_play_args=args.rosbag_args,
            condition=IfCondition(lu.is_valid(args.rosbag))))

    # Visualization
    actions.append(
        lu.include(
            'nvblox_examples_bringup',
            'launch/visualization/visualization.launch.py',
            launch_arguments={
                'mode': args.mode,
                'camera': NvbloxCamera.realsense
            }))

    # Container
    actions.append(lu.component_container(NVBLOX_CONTAINER_NAME, log_level=args.log_level))

    return LaunchDescription(actions)

test.log

@innowing-robotics-intern innowing-robotics-intern changed the title error in path planning of nvblox error in nav2 path planning of nvblox Jun 24, 2024
@innowing-robotics-intern innowing-robotics-intern changed the title error in nav2 path planning of nvblox Error in nav2 path planning of nvblox Jun 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant