$30 off During Our Annual Pro Sale. View Details »

Yet Another ROS 2 Navigation Robot: Raspberry Pi Mouse

Yutaka Kondo
October 31, 2019

Yet Another ROS 2 Navigation Robot: Raspberry Pi Mouse

I've made a LT on #ROSCon2019 about "Yet Another ROS 2 Navigation Robot: Raspberry Pi Mouse" and a call for collaboration to translate my ROS 2 book into English.

Yutaka Kondo

October 31, 2019
Tweet

More Decks by Yutaka Kondo

Other Decks in Technology

Transcript

  1. Yet Another ROS 2 Navigation Robot:
    Raspberry Pi Mouse
    Yutaka Kondo @youtalk
    https://www.youtalk.jp

    View Slide

  2. ROS 2 Navigation Robots
    TurtleBot3
    from ROBOTIS
    OpenRover
    from Rover Robotics
    2

    View Slide

  3. Yet Another ROS 2 Navigation Robot
    3
    ● RPLiDAR A1M8
    ○ $100 2D LiDAR
    ● RPLiDAR mount
    ○ Made by 3D printer
    ○ STL file
    ● Raspberry Pi Mouse
    ○ Mobile platform using
    Raspberry Pi’s sysfs
    ○ Made by RT

    View Slide

  4. System Configuration
    4
    Raspberry Pi 3 B PC
    description
    robot_state_
    publisher
    RasPi Mouse
    driver
    RPLiDAR
    driver
    static_transform
    _publisher
    bringup
    Navigation 2
    Google
    Cartgrapher
    rviz2
    rosbag2
    teleop_twist_
    joy / keyboard
    Only for bringup Navigation 2 and teleop
    https://github.com/youtalk/raspimouse_ros2

    View Slide

  5. Bring Up Raspi Mouse
    1. Bring up Raspi and RPLiDAR A1M8 drivers
    $ ros2 launch raspimouse_bringup robot.launch.py
    2. Set up Raspi Mouse lifecycle
    $ ros2 lifecycle set raspimouse_driver configure
    $ ros2 lifecycle set raspimouse_driver activate
    3. Turn on the motors
    $ ros2 service call /motor_power std_srvs/SetBool '{data: true}'
    5

    View Slide

  6. Bring Up Raspi Mouse (con’t)
    4. Visualize by RViz2
    $ ros2 launch raspimouse_bringup rviz2.launch.py
    6

    View Slide

  7. SLAM with rosbag2 File
    7
    1. Launch the Cartographer nodes
    $ ros2 launch raspimouse_cartographer
    cartographer.launch.py
    2. Play the recorded rosbag2 file
    $ ros2 bag play XXX.bag
    3. After making 2D map, save it
    $ ros2 run nav2_map_server map_saver -f ~/.ros/map

    View Slide

  8. 8
    https://youtu.be/OUnz8rO132Q

    View Slide

  9. Launch ROS 2 Navigation
    9
    1. Launch navigation nodes
    $ ros2 launch raspimouse_navigation2 navigation2.launch.py
    map:=/home/$USER/.ros/map.yaml
    2. Click the “2D Pose Estimate” button to adjust the current robot location
    3. Click the “Navigation2 Goal” button to give the target robot location

    View Slide

  10. 10
    https://youtu.be/iDeybhXFpAI

    View Slide

  11. Thank You!
    ● More detail: https://discourse.ros.org/t/yet-another-ros-2-
    navigation-robot-raspberry-pi-mouse/10670
    ● GitHub repository:
    https://github.com/youtalk/raspimouse_ros2
    ● About me:
    11
    [email protected]
    Name Nationality
    Web page

    View Slide

  12. 12
    ROS2ではじめよう 次世代ロボットプログラミング
    ● World first ROS 2 Book
    ● 1 of the reviewers is Geoff (Tier IV)
    ● ROS 2 Dashing Diademata
    ● It also contains ROS 1 summary
    ● Call for collaboration for English
    translation
    https://amzn.to/2Ji8mQl
    12

    View Slide

  13. 13
    Mission:
    • Make the real world computable
    • Robots for everyone

    View Slide