Nvidia Jeston TX2/Xavier/XavierNX have CAN controller(s) integrated in the main SOC. If you're using a dev kit, you need to add a CAN transceiver for proper CAN communication.
Install dependent libraries
$ sudo apt install -y libasio-dev $ sudo apt install -y ros-$ROS_DISTRO-teleop-twist-keyboard
Clone the packages into your catkin workspace and compile
(the following instructions assume your catkin workspace is at: ~/catkin_ws/src)
$ cd ~/catkin_ws/src $ git clone <https://github.com/agilexrobotics/ugv_sdk.git> $ git clone <https://github.com/agilexrobotics/scout_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 scout_bringup setup_can2usb.bash
if not the first time use scout-ros package(Run this command every time you turn off the power)
$ rosrun scout_bringup bringup_can2usb.bash
Testing command
# receiving data from can0 $ candump can0
Start the base node for scout
$ roslaunch scout_bringup scout_robot_base.launch
The scout_bringup/scout_minimal.launch has 5 parameters:
Start the base node for scout-mini
$ roslaunch scout_bringup scout_mini_robot_base.launch
Start the base node for scout-min(omni mode)
$ roslaunch scout_bringup scout_miniomni_robot_base.launch
Start the keyboard tele-op node
$ roslaunch scout_bringup scout_teleop_keyboard.launch