This repository contains ROS support packages for the Ranger robot bases to provide a ROS interface to the robot.
- Ranger Mini V1.0
- Ranger Mini V2.0
- Ranger
- Install dependencies
$ sudo apt install libasio-dev libboost-all-dev
$ sudo apt install -y ros-$ROS_DISTRO-teleop-twist-keyboard
- Clone and build the packages in a catkin workspace
$ cd ~/catkin_ws/src
$ git clone https://github.com/agilexrobotics/ugv_sdk.git
$ git clone https://github.com/agilexrobotics/ranger_ros.git
$ cd ..
$ catkin_make
- Setup CAN-To-USB adapter
-
Enable gs_usb kernel module(If you have already added this module, you do not need to add it)
$ sudo modprobe gs_usb
-
first time use scout-ros package
$ rosrun ranger_bringup setup_can2usb.bash
-
if not the first time use scout-ros package(Run this command every time you turn off the power)
$ rosrun ranger_bringup bringup_can2usb.bash
-
Testing command
# receiving data from can0 $ candump can0
- Launch ROS nodes
-
Start the base node for ranger
$ roslaunch ranger_bringup ranger.launch #for ranger
-
Start the base node for ranger_mini_v1
$ roslaunch ranger_bringup ranger_mini_v1.launch #for ranger_mini 1.0
-
Start the base node for ranger_mini_v2
$ roslaunch ranger_bringup ranger_mini_v2.launch #for ranger_mini 2.0
-
Use keyboard to control ranger
$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py
- can_device (string): can0
- robot_model (string): ranger/ranger_mini_v1/ranger_mini_v2
- update_rate (int): 50
- base_frame (string): base_link
- odom_frame (string): odom
- publish_odom_tf (bool): true
- odom_topic_name (string): odom
- /system_state (ranger_msgs::SystemState)
- /motion_state (ranger_msgs::MotionState)
- /actuator_state (ranger_msgs::ActuatorStateArray)
- /odom (nav_msgs::Odometry)
- /battery_state (ranger_msgs::BatteryState)
- /cmd_vel (geometry_msgs::Twist)