Difference between revisions of "Turtlebot3 Burger SBC Foxy Bringup Processes 20210303"

From wikidb
Jump to: navigation, search
(Burger URDF)
 
(5 intermediate revisions by the same user not shown)
Line 32: Line 32:
  
 
[[File:turtlebot3_burger.pdf | 800px]]
 
[[File:turtlebot3_burger.pdf | 800px]]
 +
 +
== Reference ==
 +
 +
'''TBD'''
 +
* See [[Hood_NUC_URDF_202011]]
 +
* Display a 3D representation of Burger
  
 
= System Integration Parameters =
 
= System Integration Parameters =
Line 37: Line 43:
 
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:
 
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
 
   ~/turtlebot3_ws/install/turtlebot3_bringup/share/turtlebot3_bringup/param/burger.yaml
The file is copied here:
+
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
 +
* [https://intel.github.io/robot_devkit_doc/pages/navigation.html  Intel's Navigation2 tutorial] Section 2.2 "Launch navigation2 on a Robot" for running RVIZ.
 +
 
 +
  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
 +
 
 +
<pre>
 +
$ 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
 +
---
 +
</pre>
  
[[Turblebot3 Burger Foxy Turtlebot3_node Parmaters 20210303]]
+
<pre>
 +
$ 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
 +
---
 +
</pre>
  
 
= Notes and Logs =
 
= Notes and Logs =

Latest revision as of 12:06, 4 March 2021

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