GithubHelp home page GithubHelp logo

arashsm79 / eddiebot-ros Goto Github PK

View Code? Open in Web Editor NEW
8.0 2.0 6.0 42.62 MB

ROS2 packages for Parallax Eddie robot along with simulations using Gazebo (formerly ignition gazebo)

CMake 9.60% C++ 58.93% Python 31.47%
eddie gazebo ignition-gazebo parallex ros2 turtlebot bringup differential-drive nav2 navigation

eddiebot-ros's Introduction

Eddiebot ROS

ROS2 packages for Parallax Eddie robot along with simulations using Gazebo (formerly ignition gazebo)

For an in depth tutorial on how to use this package check out the accompanying tutorial: robotics lab

Packages

  • eddiebot_bringup: The driver for the Eddie robot board. It establishes a connection to the board using UART and acts as a bridge between ROS2 and Eddie commands that the firmware on the board understands. For more details about the commands please checkout the documentation directory.
  • eddiebot_description: This package defines structure of the robot using URDF modelsf for every component of the robot. These models are used for generating kinematic and tf information. It uses the diff_drive plugin for differential drive control of the robot. The launch files start robot_state_publisher that reads the URDF model and generates static TF transforms, and joint_state_publisher that sends out dynamic TF transforms for joint position updates.
  • eddiebot_gazebo: Contains some sample worlds to test the robot in, along with a bunch of launch files that are able to setup Gazebo, spawn Eddie into the world, and necessary bridges for ROS2 and Gazebo communication.
  • eddiebot_nav: Contains the launch files for the setup and launch of the navigation stack using nav2, slam_toolbox, depthimage_to_laserscan, and various other packages.
  • eddiebot_msgs: Definition of specific topics and services for Eddie robot.
  • eddiebot_odom: Publishes odometry information useful for mapping and localization. It publishes the transform between the frames /odom and /base_footprint.
  • eddiebot_rviz: Rviz configurations and launch files for visualizing and monitoring various aspects of Eddie.
  • eddiebot_vel_controller: A converter between different velocity types.

Screeenshots

gaz rviz maze nav

eddie-rviz.mp4

Features

  • How to convert a legacy ROS1 codebase to ROS2
  • Example of hooks for setting GZ_SIM_RESOURCE_PATH
  • Robot description launch with robot_state_publisher, joint_state_publisher, and joint_state_publisher_gui
  • Kinect, Depth, Ultrasonic and infrared sensors in new Gazebo (gpu_lidar, gz::sim::systems::Sensors, rgbd_camera, gz-sim-sensors-system)
  • Use of gz-sim-diff-drive-system gz::sim::systems::DiffDrive for differential drive control.
  • Employing xacro files for easier management of robot structure defitnition.
  • Launch files for launching Gazebo and Spawning a robot using ros_gz_sim and ros_gz
  • Use of pointcloud_to_laserscan for depth camera.
  • Examples of ros_gz_bridge for bridging ROS2 with Gazebo.
  • Modern nav2, slam_toolbox, and rtabmap launch and configuration files.
  • Computation and publishing of odometry.
  • rviz launch files with proper TF transformation along with different configuration files.
  • Use of the new Gazebo (formerly ignition gazebo)

eddiebot-ros's People

Contributors

arashsm79 avatar arya-ebrahimi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.