Coder Social home page Coder Social logo

ros2-control-rb-1's Introduction

ROS2-Control for RB-1 robot

Introduction

This package contains a ROS2 robot model description for Robotnik's RB-1 mobile base with ROS2 controllers. The controllers include

  • Differential Drive Controller: control the mobile base of both linear and angular movement
  • Forward Command Controller: control the robot's lift up/down

Installation

Download this package "rb1_ros2_description", which inside the package, installation information can be found in CMakeLists.txt. This package requires the following dependencies.

  1. ament_cmake
  2. urdf
  3. xacro
  4. robot_state_publisher

Also, the following folders inside this package are necessary to be installed.

  1. launch
  2. config
  3. meshes
  4. urdf
  5. xacro

Installation Steps

1. cd ~/ros2_ws
2. colcon build --packages-select rb1_ros2_description
3. source install/setup.bash

Get start the Simulation

Launch the following command after compiling the package.

ros2 launch rb1_ros2_description rb1_ros2_xacro.launch.py

This command will launch the mobile base in Gazebo simulation, together with the controllers mentioned above. Wait the gazebo to getup and running.

Controller Activation

Before controlling the robot in simulation, check if the controllers are up and activated by using the following command in a different shell.

ros2 control list_controllers

expected output:

forward_effort_controller[forward_command_controller/ForwardCommandController] active
joint_state_broadcaster[joint_state_broadcaster/JointStateBroadcaster] active
diffbot_base_controller[diff_drive_controller/DiffDriveController] active

Note: if not all controllers show up, use ctrl+c to shutdown the nodes and relaunch again.

Moving the robot's lifting unit

To move the robot's lifting unit, publish to the following topic.

/forward_effort_controller/commands

This topic is available when the forward_effort_controller is active. Use ros2 topic list to confirm the availability.
To publish the topic use the following command.

ros2 topic pub /forward_effort_controller/commands std_msgs/msg/Float64MultiArray data:\ [1.0]\

if the number is positive, the lift moves up. Otherwise, the lift moves down.

ros2-control-rb-1's People

Contributors

ptientho avatar rfzeg avatar

Stargazers

 avatar

Watchers

 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.