Turtlebot3 Burger SBC Foxy Bringup Processes 20210303

From wikidb
Jump to: navigation, search

Process Running on the RPi

The ROS2 nodes created by bringup on the SBC (RPi). This is the rqt_graph representation

RosgraphBringupBrief.png

The processes created in the RPi. These are the execute commands.

 ps -au
     /usr/bin/python3 /opt/ros/foxy/bin/ros2 launch turtlebot3_bringup robot.launch.py
     /opt/ros/foxy/lib/robot_state_publisher/robot_state_publisher 
           /home/ubuntu/turtlebot3_ws/install/turtlebot3_description/share/turtlebot3_description/urdf/turtlebot3_burger.urdf 
           --ros-args -r __node:=robot_state_publisher 
           --params-file /tmp/launch_params_a7lmxzoy
     /opt/ros/foxy/lib/hls_lfcd_lds_driver/hlds_laser_publisher 
           --ros-args -r __node:=hlds_laser_publisher -r __node:=hlds_laser_publisher 
           --params-file /tmp/launch_params_b55p9bi2
     /home/ubuntu/turtlebot3_ws/install/turtlebot3_node/lib/turtlebot3_node/turtlebot3_ros -i /dev/ttyACM0 
           --ros-args 
           --params-file /home/ubuntu/turtlebot3_ws/install/turtlebot3_bringup/share/turtlebot3_bringup/param/burger.yaml

Burger URDF

This is a graphical representation of the Burger URDF. The URDF is one of the parameters of the robot_state_publisher above located at:

 ~/turtlebot3_ws/install/turtlebot3_description/share/turtlebot3_description/urdf/turtlebot3_burger.urdf
 $ urdf_to_graphiz turtlebot3_burger.urdf 
       Created file turtlebot3_burger.gv
       Created file turtlebot3_burger.pdf

This is the resulting turtlebot3_burger.pdf graph.

Turtlebot3 burger.pdf

Reference

TBD

System Integration Parameters

A set of parameters passed to the turtlebot3_node extablish, for example, physical characteristics of the Burger (wheel diameters and separation) and link the URDF frames to odometry. The parameter files is located here on the SBC:

 ~/turtlebot3_ws/install/turtlebot3_bringup/share/turtlebot3_bringup/param/burger.yaml

The file is copied here: Turblebot3 Burger Foxy Turtlebot3_node Parameters 20210303

Note this declaration targeted at the diff_drive_controller which links the "odom" parent frame to its child "base_footprint". It is necessary so odometry information can be mapped to the location of the laser scanner's frame named "base_scan'. See

 Make sure all transforms from odom are present. (odom->base_link->base_scan)
 diff_drive_controller:
   ros__parameters:
 
     odometry:
       publish_tf: true
       use_imu: true
       frame_id: "odom"
       child_frame_id: "base_footprint"

TF: Transform Topics

Transform topics published by the robot_state_publisher can be captured by

$ ros2 topic echo tf
transforms:
- header:
    stamp:
      sec: 1614792208
      nanosec: 280959974
    frame_id: odom
  child_frame_id: base_footprint
  transform:
    translation:
      x: 0.13462753501481928
      y: 3.9344604215855566e-05
      z: 0.0
    rotation:
      x: 0.0
      y: 0.0
      z: 0.000571099078903287
      w: 0.9999998369229077
---
$ ros2 topic echo tf_static
---
transforms:
- header:
    stamp:
      sec: 1614799211
      nanosec: 126169544
    frame_id: base_footprint
  child_frame_id: base_link
  transform:
    translation:
      x: 0.0
      y: 0.0
      z: 0.01
    rotation:
      x: 0.0
      y: 0.0
      z: 0.0
      w: 1.0
- header:
    stamp:
      sec: 1614799211
      nanosec: 126179909
    frame_id: base_link
  child_frame_id: caster_back_link
  transform:
    translation:
      x: -0.081
      y: 0.0
      z: -0.004
    rotation:
      x: -0.706825181105366
      y: 0.0
      z: 0.0
      w: 0.7073882691671998
- header:
    stamp:
      sec: 1614799211
      nanosec: 126187096
    frame_id: base_link
  child_frame_id: imu_link
  transform:
    translation:
      x: -0.032
      y: 0.0
      z: 0.068
    rotation:
      x: 0.0
      y: 0.0
      z: 0.0
      w: 1.0
- header:
    stamp:
      sec: 1614799211
      nanosec: 126190638
    frame_id: base_link
  child_frame_id: base_scan
  transform:
    translation:
      x: -0.032
      y: 0.0
      z: 0.172
    rotation:
      x: 0.0
      y: 0.0
      z: 0.0
      w: 1.0
---

Notes and Logs