realsense launch files updated
This commit is contained in:
parent
c4fe32ad11
commit
1941516a60
2
Makefile
2
Makefile
|
@ -5,7 +5,7 @@ nav2:
|
||||||
@cd deploy && docker build --no-cache --tag go2py_nav2:latest -f docker/Dockerfile.nav2 .
|
@cd deploy && docker build --no-cache --tag go2py_nav2:latest -f docker/Dockerfile.nav2 .
|
||||||
|
|
||||||
nav2_start:
|
nav2_start:
|
||||||
@ ./scripts/nav2_start
|
@ ./scripts/run_nav2.sh
|
||||||
|
|
||||||
messages:
|
messages:
|
||||||
@cd scripts && ./make_msgs.sh
|
@cd scripts && ./make_msgs.sh
|
||||||
|
|
|
@ -22,10 +22,10 @@ git clone https://github.com/ros2/rmw_cyclonedds -b humble && git clone https://
|
||||||
cd .. && colcon build --packages-select cyclonedds && source /opt/ros/humble/setup.bash && colcon build
|
cd .. && colcon build --packages-select cyclonedds && source /opt/ros/humble/setup.bash && colcon build
|
||||||
|
|
||||||
# copy the go2py ros2 nodes
|
# copy the go2py ros2 nodes
|
||||||
COPY ros2_nodes/sportmode_nav2 /nav2_ws/src/sportmode_nav2
|
COPY ros2_nodes/sportmode_nav2 /home/nav2_ws/src/sportmode_nav2
|
||||||
COPY ros2_nodes/m-explore-ros2 /nav2_ws/src/m-explore-ros2
|
COPY ros2_nodes/m-explore-ros2 /home/nav2_ws/src/m-explore-ros2
|
||||||
COPY ros2_nodes/go2py_messages /nav2_ws/src/go2py_messages
|
COPY ros2_nodes/go2py_messages /home/nav2_ws/src/go2py_messages
|
||||||
RUN cd /nav2_ws && source /opt/ros/humble/setup.bash && source /unitree_ros2/cyclonedds_ws/install/setup.bash && colcon build --symlink-install
|
RUN cd /home/nav2_ws && source /opt/ros/humble/setup.bash && source /unitree_ros2/cyclonedds_ws/install/setup.bash && colcon build --symlink-install
|
||||||
|
|
||||||
# set the entrypoint to bash
|
# set the entrypoint to bash
|
||||||
ENTRYPOINT ["/bin/bash"]
|
ENTRYPOINT ["/bin/bash"]
|
||||||
|
|
|
@ -9,33 +9,6 @@ from launch_ros.descriptions import ComposableNode
|
||||||
|
|
||||||
|
|
||||||
def generate_launch_description():
|
def generate_launch_description():
|
||||||
# RealSense
|
|
||||||
# realsense_config_file_path = os.path.join(
|
|
||||||
# get_package_share_directory('isaac_ros_h264_encoder'),
|
|
||||||
# 'config', 'realsense.yaml'
|
|
||||||
# )
|
|
||||||
realsense_config_file_path = 'realsense.yaml'
|
|
||||||
realsense_node = ComposableNode(
|
|
||||||
package='realsense2_camera',
|
|
||||||
plugin='realsense2_camera::RealSenseNodeFactory',
|
|
||||||
parameters=[realsense_config_file_path],
|
|
||||||
remappings=[
|
|
||||||
('infra1/image_rect_raw', 'go2/realsense/left/image_rect_raw_mono'),
|
|
||||||
('infra2/image_rect_raw', 'go2/realsense/right/image_rect_raw_mono'),
|
|
||||||
('color/image_raw', 'go2/realsense/color/image_raw_mono'),
|
|
||||||
('infra1/camera_info', 'go2/realsense/left/camera_info'),
|
|
||||||
('infra2/camera_info', 'go2/realsense/right/camera_info'),
|
|
||||||
('color/camera_info', 'go2/realsense/color/camera_info'),
|
|
||||||
('depth/camera_info', 'go2/realsense/depth/camera_info'),
|
|
||||||
('depth/color/points', 'go2/realsense/depth/color/points'),
|
|
||||||
('depth/image_rect_raw', 'go2/realsense/depth/image_rect_raw'),
|
|
||||||
('extrinsics/depth_to_accel', 'go2/realsense/extrinsics/depth_to_accel'),
|
|
||||||
('extrinsics/depth_to_color', 'go2/realsense/extrinsics/depth_to_color'),
|
|
||||||
('extrinsics/depth_to_gyro', 'go2/realsense/extrinsics/depth_to_gyro'),
|
|
||||||
('imu', 'go2/realsense/imu'),
|
|
||||||
|
|
||||||
]
|
|
||||||
)
|
|
||||||
color_format_converter_node = ComposableNode(
|
color_format_converter_node = ComposableNode(
|
||||||
package='isaac_ros_image_proc',
|
package='isaac_ros_image_proc',
|
||||||
plugin='nvidia::isaac_ros::image_proc::ImageFormatConverterNode',
|
plugin='nvidia::isaac_ros::image_proc::ImageFormatConverterNode',
|
||||||
|
@ -44,8 +17,8 @@ def generate_launch_description():
|
||||||
'encoding_desired': 'rgb8',
|
'encoding_desired': 'rgb8',
|
||||||
}],
|
}],
|
||||||
remappings=[
|
remappings=[
|
||||||
('image_raw', 'go2/realsense/color/image_raw_mono'),
|
('image_raw', '/go2/d455/color/image_raw'),
|
||||||
('image', 'go2/realsense/color/image_raw')]
|
('image', '/go2/d455/color/image_raw_mono')]
|
||||||
)
|
)
|
||||||
|
|
||||||
color_encoder_node = ComposableNode(
|
color_encoder_node = ComposableNode(
|
||||||
|
@ -66,9 +39,10 @@ def generate_launch_description():
|
||||||
namespace='encoder',
|
namespace='encoder',
|
||||||
package='rclcpp_components',
|
package='rclcpp_components',
|
||||||
executable='component_container_mt',
|
executable='component_container_mt',
|
||||||
composable_node_descriptions=[realsense_node,
|
composable_node_descriptions=[
|
||||||
color_format_converter_node,
|
color_format_converter_node,
|
||||||
color_encoder_node],
|
# color_encoder_node
|
||||||
|
],
|
||||||
output='screen'
|
output='screen'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -8,16 +8,16 @@ from launch_ros.actions import Node
|
||||||
def generate_launch_description():
|
def generate_launch_description():
|
||||||
return LaunchDescription([
|
return LaunchDescription([
|
||||||
Node(
|
Node(
|
||||||
name='go2_cam',
|
name='d455',
|
||||||
namespace='go2/cam',
|
namespace='go2',
|
||||||
package='realsense2_camera',
|
package='realsense2_camera',
|
||||||
executable='realsense2_camera_node',
|
executable='realsense2_camera_node',
|
||||||
parameters=[{
|
parameters=[{
|
||||||
'enable_infra1': True,
|
'enable_infra1': False,
|
||||||
'enable_infra2': True,
|
'enable_infra2': False,
|
||||||
'enable_color': True,
|
'enable_color': True,
|
||||||
'enable_depth': False,
|
'enable_depth': True,
|
||||||
'depth_module.emitter_enabled': 0,
|
'depth_module.emitter_enabled': 1,
|
||||||
'rgb_camera.profile':'640x480x30',
|
'rgb_camera.profile':'640x480x30',
|
||||||
'depth_module.profile': '640x480x30',
|
'depth_module.profile': '640x480x30',
|
||||||
'enable_gyro': True,
|
'enable_gyro': True,
|
||||||
|
@ -25,6 +25,7 @@ def generate_launch_description():
|
||||||
'gyro_fps': 400,
|
'gyro_fps': 400,
|
||||||
'accel_fps': 200,
|
'accel_fps': 200,
|
||||||
'unite_imu_method': 2,
|
'unite_imu_method': 2,
|
||||||
|
'pointcloud.enable': True
|
||||||
# 'tf_publish_rate': 0.0
|
# 'tf_publish_rate': 0.0
|
||||||
}]
|
}]
|
||||||
)
|
)
|
||||||
|
|
|
@ -34,3 +34,5 @@ align_depth: false
|
||||||
unite_imu_method: 2
|
unite_imu_method: 2
|
||||||
gyro_fps: 400
|
gyro_fps: 400
|
||||||
accel_fps: 200
|
accel_fps: 200
|
||||||
|
camera_namespace: ""
|
||||||
|
namespace: ""
|
||||||
|
|
|
@ -18,6 +18,6 @@ RUN --mount=type=cache,target=/var/cache/apt \
|
||||||
--mount=type=bind,source=scripts/install-unitree-ros2.sh,target=/tmp/install-unitree-ros2.sh \
|
--mount=type=bind,source=scripts/install-unitree-ros2.sh,target=/tmp/install-unitree-ros2.sh \
|
||||||
bash /tmp/install-unitree-ros2.sh
|
bash /tmp/install-unitree-ros2.sh
|
||||||
|
|
||||||
RUN apt install -y ros-humble-isaac-ros-h264-decoder ros-humble-isaac-ros-h264-encoder ros-humble-realsense2-camera
|
RUN apt install -y ros-humble-isaac-ros-h264-decoder ros-humble-isaac-ros-h264-encoder
|
||||||
|
|
||||||
USER $USERNAME
|
USER $USERNAME
|
|
@ -0,0 +1,7 @@
|
||||||
|
# Nav2 with Go2
|
||||||
|
This notes describe the process getting an exploration and mapping sytem running on the robot using the Go2Py docker and configuration files. In this setup we use the following components:
|
||||||
|
- **ROS Robot Localization:** We use the EKF node of the ROS robot localization package to generate the odometry TF transformations based on the robot's buildin leg inertial odometry systm (`/utlidar/robot_odom`). The go2py_bridge listens to this topic and publishes `/go2/odom` messages re-stamped with dock's internal clock. The configuraiton parameters for this node are [here]().
|
||||||
|
|
||||||
|
- **ROS SLAM Toolbox:** FOR SLAM, we use the ROS SLAM toobox that takes the odometry frames from the localization node alongside the laser scan topics from the hesai LiDAR (`/go2/scan`) to make a 2D occupancy map of the environment and the transformation between the `odom` and `map` frame.
|
||||||
|
|
||||||
|
- **ROS2 Navigation:** Finally we use the ROS navigation2 to
|
|
@ -1,2 +1,2 @@
|
||||||
CONFIG_IMAGE_KEY="ros2_humble.go2py"
|
CONFIG_IMAGE_KEY="ros2_humble.go2py.realsense"
|
||||||
CONFIG_DOCKER_SEARCH_DIRS=(../docker)
|
CONFIG_DOCKER_SEARCH_DIRS=(../docker)
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
docker run --rm -it --privileged --network host -v $(pwd)/deploy/ros2_nodes/sportmode_nav2:/home/nav2_ws/src/sportmode_nav2 -v /dev/*:/dev/* -v /etc/localtime:/etc/localtime:ro --runtime nvidia go2py_nav2:latest
|
|
Loading…
Reference in New Issue