A repository for a 6-wheel rocker bogie rover, based on Robotic Operative System ROS and Python to control the perception and action systems.
This repository contents:
- Source codes
- Dev scripts
- Data files
/your_root / path
|--README.md / Instructions to configure the AlphaROVER
|--src / scripts for the system
|--APPS
|--Arduinio_gps+imu
|--Arm / Based on: https://github.com/FRC4564/Maestro/
|--Config
|--Control
|--EKF
|--GPIO
|--data
|--mechanics
|--alpha_full.pdf
|--inventor_files
|--photos
|--electronics
|--diagrams
|--proteus_files
|--user_pc
|--cam_bridge.py
- NVIDIA Jetson TK1 or NANO
- Ion Motion Roboclaw, Dual DC motor driver
- Pololu USB servo Control [POL-1353]
- Logitech Wireless Gamepad F710
- Hokuyo UTM-30LX-EW Scanning Laser Rangefinder
- Xsens MTi 10-series
- PC host running Ubuntu
- AlphaROVER platform
- OpenCV
- Hamachi
Follow the isntructions from NVIDIA
- Download the las SD card image
- Insert the SD and open the temrinal application
dmesg | tail | awk '$3 == "sd" {print}'
/usr/bin/unzip -p ~/Downloads/jetson_nano_devkit_sd_card.zip | sudo /bin/dd of=/dev/sd<x> bs=1M status=progress
sudo eject /dev/sd<x>
$ rosdep apt autoremove thunderbird*
$ sudo apt autoremove libreoffice*
$ sudo apt-get remove --purge libreoffice*
$ sudo apt-get remove libreoffice-core
$ sudo apt-get remove snapd lightdm cups chromium*
$ sudo apt-get remove libcurlpp0
$ sudo apt autoremove transmission-gtk
$ sudo systemctl set-default multi-user.target
$ rosdep update
$ rosdep upgrade
$ sudo apt install htop
$ sudo apt install screen
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
$ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
$ sudo apt update
#sudo apt install ros-melodic-desktop
$ sudo apt install ros-melodic-ros-base
$ apt search ros-melodic
$ sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
$ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
$ sudo rosdep init
$ rosdep update
$ sudo apt-get install nano
$ sudo apt-get install cmake python-catkin-pkg python-empy python-nose python-setuptools libgtest-dev $ python-rosinstall python-rosinstall-generator python-wstool build-essential git
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/
$ catkin_make
$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
- Install LiDAR
sudo apt install ros-melodic-urg-node
- Install Joy
sudo apt install ros-melodic-joy
- Install tf
sudo apt install ros-melodic-tf
- Install MS Kinect V1
sudo apt-get install libfreenect-dev
sudo apt-get install ros-melodic-freenect-launch
- Install the MTi USB Serial Driver
$ git clone https://github.com/xsens/xsens_mt.git $ cd ~/xsens_mt $ make $ sudo modprobe usbserial $ sudo insmod ./xsens_mt.ko
- Install gps_common or gps_umd as available based on the ROS distributable
sudo apt-get install ros-melodic-gps-umd
orsudo apt-get install ros-melodic-gps-common
- Isntall MTi rosnode
$ cd ~/catkin_ws/src $ git clone https://github.com/HaroldMurcia/xsens_mti_ros_node.git $ cd ~/catkin_ws/ $ catkin_make
- Install Dynamixel rosnode
$ cd ~/catkin_ws/src $ git clone https://github.com/HaroldMurcia/dynamixel_motor.git $ cd ~/catkin_ws/ $ catkin_make
- Install gscam rosnode
$ cd ~/catkin_ws/src $ git clone https://github.com/HaroldMurcia/gscam.git $ cd ~/catkin_ws/ $ catkin_make
- Install orbit camera actuation rosnode
$ cd ~/catkin_ws/src $ git clone https://github.com/HaroldMurcia/orbit_camera_actuation.git $ cd ~/catkin_ws/ $ catkin_make
- Install roboclaw rosnode
$ cd ~/catkin_ws/src $ git clone https://github.com/HaroldMurcia/roboclaw_ros.git $ cd ~/catkin_ws/ $ catkin_make
- Install vidsrv rosnode
$ cd ~/catkin_ws/src $ git clone https://github.com/HaroldMurcia/vidsrv.git $ cd ~/catkin_ws/ $ catkin_make
- Install Maestro rosnode
$ cd ~/catkin_ws/src $ git clone https://github.com/HaroldMurcia/Maestro.git $ cd ~/catkin_ws/ $ catkin_make
$ cd ~/catkin_ws/src
$ git clone https://github.com/HaroldMurcia/AlphaROVER.git
$ cd ~/catkin_ws/
$ catkin_make
$ cd ~/catkin_ws/src/AlphaROVER/src/Config/
$ sudo chmod -R 777 config_init.sh
$ sudo ./config_init.sh
$ sudo reboot
- Install hamachi and haguichi.
- Install the package:
sudo apt-get install ros-melodic-joy
- Connect the joystick to your computer and let's see if Linux recognized it:
ls /dev/input/
- The joystick will be referred to by jsX, you can test it by running:
sudo jstest /dev/input/jsX
Move the joystick around to see the data change. - Give permissions on the joystick port:
sudo chmod a+rw /dev/input/jsX
- To start the joy node:
roscore rosparam set joy_node/dev "/dev/input/jsX" rosrun joy joy_node
- To see the data from the joystick:
rostopic echo joy
source /opt/ros/melodic/setup.bash
function pilot
{
ls -l /dev/input/jsX
sudo chmod a+rw /dev/input/jsX
rosparam set joy_node/dev "/dev/input/jsX"
rosrun joy joy_node &
}
# If want to connect through hamachi
function exportar_hamachi
{
export ROS_IP = {pcIP}
}
function exportar
{
export ROS_IP = {pcIP}
}
# To access Jetson webcam image
function webcam
{
python ~/cam_bridge.py
}
Universidad de Ibagué - Ingeniería Electrónica.