Skip to content

UCR-Robotics/rosbot_description

 
 

Repository files navigation

rosbot_description

URDF model for Gazebo integrated with ROS.

Installation

We assume that you are working on Ubuntu 16.04 and already have installed ROS Kinetic. If not, follow the ROS install guide

Prepare the repository:

cd ~
mkdir ros_workspace
mkdir ros_workspace/src
cd ~/ros_workspace/src
catkin_init_workspace
cd ~/ros_workspace
catkin_make

Above commands should execute without any warnings or errors.

Clone this repository to your workspace:

cd ~/ros_workspace/src
git clone https://github.com/husarion/rosbot_description.git

Install depencencies:

cd ~/ros_workspace
rosdep install --from-paths src --ignore-src -r -y

Build the workspace:

cd ~/ros_workspace
catkin_make

From this moment you can use rosbot simulations. Please remember that each time, when you open new terminal window, you will need to load system variables:

source ~/ros_workspace/devel/setup.sh

How to use

Simulation

In Terminal 1, launch the Gazebo simulation:

roslaunch rosbot_description rosbot.launch

If Rviz is needed, then run the following instead:

roslaunch rosbot_description rosbot_rviz.launch

Real Robot

In Terminal 1, launch sensors:

roslaunch rosbot_description rosbot_hardware.launch

In Terminal 2, launch mobile base and estimator:

roslaunch rosbot_ekf all.launch rosbot_pro:=true

Keyboard Teleop

In addition to previous steps (in Simulation or Real Robot), open a new terminal and run:

roslaunch rosbot_navigation keyboard_teleop.launch

APIs

According to ROSbot manual, we have the following APIs available.

TopicMessage typeDirectionNode            Description        
/mpu9250rosbot_ekf/Imupublisher/serial_nodeRaw IMU data in custom message type
/range/flsensor_msgs/Rangepublisher/serial_nodeFront left range sensor raw data
/range/frsensor_msgs/Rangepublisher/serial_nodeFront right range sensor raw data
/range/rlsensor_msgs/Rangepublisher/serial_nodeRear left range sensor raw data
/range/rrsensor_msgs/Rangepublisher/serial_nodeRear right range sensor raw data
/joint_statessensor_msgs/JointStatepublisher/serial_nodeWheels rotation angle
/batterysensor_msgs/BatteryStatepublisher/serial_nodeBattery voltage
/buttonsstd_msgs/UInt8publisher/serial_nodeUser buttons state, details in User buttons section
/posegeometry_msgs/PoseStampedpublisher/serial_nodePosition based on encoders
/odom/wheelnav_msgs/Odometrypublisher/msgs_conversionOdometry based on wheel encoders
/velocitygeometry_msgs/Twistpublisher/serial_nodeOdometry based on encoders
/imusensor_msgs/Imupublisher/msgs_conversionIMU data wrapped in standard ROS message type
/odomnav_msgs/Odometrypublisher/rosbot_ekfOdometry based on sensor fusion
/tftf2_msgs/TFMessagepublisher/rosbot_ekfROSbot position based on sensor fusion
/set_posegeometry_msgs/ PoseWithCovarianceStampedsubscriber/rosbot_ekfAllow to set custom state of EKF
/cmd_velgeometry_msgs/Twistsubscriber/serial_nodeVelocity commands
/configrosbot_ekf/Configurationservice server/serial_nodeAllow to control behaviour of CORE2 board, detaild in CORE2 config section

Releases

No releases published

Packages

No packages published

Languages

  • Python 88.6%
  • CMake 8.8%
  • Shell 2.6%