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

Port terrain-navigation to ROS 2 Humble #20

Merged
merged 1 commit into from
Nov 27, 2023

Conversation

srmainwaring
Copy link
Collaborator

@srmainwaring srmainwaring commented Nov 6, 2023

Initial port of terrain-navigation to ROS 2 Humble.

Dependencies

There are changes required in upstream repos which require PRs. Working branches are listed below:

Status

Packages up to terrain_navigation_ros are building and the main node is running.

$ ros2 run terrain_navigation_ros terrain_planner_node
$ ros2 node info /terrain_planner
/terrain_planner
  Subscribers:
    /mavros/camera/image_captured: mavros_msgs/msg/CameraImageCaptured
    /mavros/global_position/global: sensor_msgs/msg/NavSatFix
    /mavros/global_position/gp_origin: geographic_msgs/msg/GeoPointStamped
    /mavros/local_position/pose: geometry_msgs/msg/PoseStamped
    /mavros/local_position/velocity_local: geometry_msgs/msg/TwistStamped
    /mavros/mission/waypoints: mavros_msgs/msg/WaypointList
    /mavros/state: mavros_msgs/msg/State
    /parameter_events: rcl_interfaces/msg/ParameterEvent
  Publishers:
    /camera_pose_marker: visualization_msgs/msg/Marker
    /candidate_goal_marker: visualization_msgs/msg/Marker
    /candidate_start_marker: visualization_msgs/msg/Marker
    /geometric_controller/path: nav_msgs/msg/Path
    /goal_marker: visualization_msgs/msg/Marker
    /grid_map: grid_map_msgs/msg/GridMap
    /mavros/setpoint_raw/global: mavros_msgs/msg/GlobalPositionTarget
    /mavros/setpoint_raw/local: mavros_msgs/msg/PositionTarget
    /mavros/trajectory/generated: mavros_msgs/msg/Trajectory
    /parameter_events: rcl_interfaces/msg/ParameterEvent
    /path_segments: visualization_msgs/msg/MarkerArray
    /planned_viewpoints: visualization_msgs/msg/MarkerArray
    /planner_status: planner_msgs/msg/NavigationStatus
    /position_target: visualization_msgs/msg/Marker
    /rallypoints_marker: visualization_msgs/msg/MarkerArray
    /reference/path: nav_msgs/msg/Path
    /rosout: rcl_interfaces/msg/Log
    /tree: visualization_msgs/msg/MarkerArray
    /vehicle_path: nav_msgs/msg/Path
    /vehicle_pose_marker: visualization_msgs/msg/Marker
    /vehicle_velocity: visualization_msgs/msg/Marker
    /viewpoints: visualization_msgs/msg/MarkerArray
  Service Servers:
    /terrain_planner/describe_parameters: rcl_interfaces/srv/DescribeParameters
    /terrain_planner/get_parameter_types: rcl_interfaces/srv/GetParameterTypes
    /terrain_planner/get_parameters: rcl_interfaces/srv/GetParameters
    /terrain_planner/list_parameters: rcl_interfaces/srv/ListParameters
    /terrain_planner/set_current_segment: planner_msgs/srv/SetService
    /terrain_planner/set_goal: planner_msgs/srv/SetVector3
    /terrain_planner/set_location: planner_msgs/srv/SetString
    /terrain_planner/set_max_altitude: planner_msgs/srv/SetString
    /terrain_planner/set_parameters: rcl_interfaces/srv/SetParameters
    /terrain_planner/set_parameters_atomically: rcl_interfaces/srv/SetParametersAtomically
    /terrain_planner/set_path: planner_msgs/srv/SetVector3
    /terrain_planner/set_planner_state: planner_msgs/srv/SetPlannerState
    /terrain_planner/set_start: planner_msgs/srv/SetVector3
    /terrain_planner/set_start_loiter: planner_msgs/srv/SetService
    /terrain_planner/trigger_planning: planner_msgs/srv/SetVector3
  Service Clients:
    /mavros/cmd/command: mavros_msgs/srv/CommandLong
  Action Servers:

  Action Clients:

Tasks

Residual issues to resolve:

  • Fix GridMap display in rviz (not showing even with reload, is working for ROS 2 in grid_map_geo)

@srmainwaring srmainwaring marked this pull request as draft November 6, 2023 21:57
@srmainwaring srmainwaring changed the base branch from main to ros2 November 7, 2023 10:01
@srmainwaring srmainwaring marked this pull request as ready for review November 7, 2023 15:49
@srmainwaring srmainwaring force-pushed the prs/pr-ros2-humble branch 3 times, most recently from 776df76 to 94e0018 Compare November 15, 2023 09:58
@srmainwaring srmainwaring force-pushed the prs/pr-ros2-humble branch 6 times, most recently from 9fbaa63 to e6a1486 Compare November 27, 2023 18:47
Signed-off-by: Rhys Mainwaring <[email protected]>

ros2: port terrain_navigation to ros2 humble

Signed-off-by: Rhys Mainwaring <[email protected]>

- Updates to terrain_navigation

Signed-off-by: Rhys Mainwaring <[email protected]>

- Updates to terrain_navigation

Signed-off-by: Rhys Mainwaring <[email protected]>

ros2: port terrain_planner to ros2 humble

- Disable unused params.
- Reorder class initialisers.

Signed-off-by: Rhys Mainwaring <[email protected]>

- Port visualisation.
- Port test_rrt_node

Signed-off-by: Rhys Mainwaring <[email protected]>

- Update test_rrt_node
- Port test_ompl_dubins

Signed-off-by: Rhys Mainwaring <[email protected]>

- Port test_ompl_dubins_to_circle

Signed-off-by: Rhys Mainwaring <[email protected]>

- Port test_ompl_dubins_to_circle

Signed-off-by: Rhys Mainwaring <[email protected]>

- Update test_ompl_dubins_to_circle

Signed-off-by: Rhys Mainwaring <[email protected]>

- Install terrain_planner launch files

Signed-off-by: Rhys Mainwaring <[email protected]>

- Update terrain_planner rtt node

Signed-off-by: Rhys Mainwaring <[email protected]>

- Update terrain_planner launch files

Signed-off-by: Rhys Mainwaring <[email protected]>

- Update terrain_planner cmake file

Signed-off-by: Rhys Mainwaring <[email protected]>

ros2: port terrain_navigation_ros to ros2 humble

- Update package.xml and CMakeLists.txt for ROS 2

Signed-off-by: Rhys Mainwaring <[email protected]>

- Update message and service types.

Signed-off-by: Rhys Mainwaring <[email protected]>

- Update message and service headers and types.

Signed-off-by: Rhys Mainwaring <[email protected]>

- Update publishers.

Signed-off-by: Rhys Mainwaring <[email protected]>

- Update subscriptions and services.

Signed-off-by: Rhys Mainwaring <[email protected]>

- Update service callback interfaces.
- Create services.

Signed-off-by: Rhys Mainwaring <[email protected]>

- Declare params.

Signed-off-by: Rhys Mainwaring <[email protected]>

ros2: resolve duplicate symbol issue in terrain_planner

- Move implementation to cpp.

Signed-off-by: Rhys Mainwaring <[email protected]>

ros2: port terrain_navigation_ros to ros2 humble

- Add node to build.

Signed-off-by: Rhys Mainwaring <[email protected]>

- Install targets.

Signed-off-by: Rhys Mainwaring <[email protected]>

- Implement timer callbacks.

Signed-off-by: Rhys Mainwaring <[email protected]>

- Implement initialisation.

Signed-off-by: Rhys Mainwaring <[email protected]>

ros2: update terrain_planner config.rviz

Signed-off-by: Rhys Mainwaring <[email protected]>

ros2: update terrain_planner_ros launch file

Signed-off-by: Rhys Mainwaring <[email protected]>

ros2: remove duplicate find_package in terrain_planner cmake file

Signed-off-by: Rhys Mainwaring <[email protected]>

ros2: update terrain_planner_ros

- Correct service client call.

Signed-off-by: Rhys Mainwaring <[email protected]>

ros2: use recommended ament install destinations

Signed-off-by: Rhys Mainwaring <[email protected]>

- Update compile options for terrain_planner

Signed-off-by: Rhys Mainwaring <[email protected]>
@Jaeyoung-Lim Jaeyoung-Lim merged commit 8c24075 into ethz-asl:ros2 Nov 27, 2023
0 of 2 checks passed
@srmainwaring srmainwaring deleted the prs/pr-ros2-humble branch November 27, 2023 20:44
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

Successfully merging this pull request may close these issues.

2 participants