Setup the project and run the ROS Connection
IMPORTANT This project was done with a rasperryPi 4 running ubuntu server 18 and ROS melodic on a 32GB sd card. This project may not work with other configurations.
RaspberryPi Setup
- download the raspberrypi image
- copy the image to an sd card
- since it is compressed use this command
gunzip --stdout AGTECH.img.gz | sudo dd bs=4M of=/dev/SDCARD
- where SDCARD represents the sd card label in the system
- the raspberrypi will automatically generate a WiFi network AGTECH
- the raspberry pi will also create a local ethernet connection
- this should be used for connecting to the robot
- the raspberry pi can be connected to over ssh or plugged into a monitor
- username:
agtech
- password:
RobotLab
- username:
- plug in an Ethernet cable between the robot and the pi or configure the robot to connect to the AGTECH WiFi
Ubuntu 18 Desktop
- have a installation of Ubuntu 18
- install ROS Melodic
- setup a ROS workspace
- use the ROS Tutorials
- name the workspace
Workspace
- clone this project into your workspace
cd Workspace/src/
mkdir agtech
git clone git@gitsvn-nt.oru.se:hkan/harvest-automation.git agtech
Connecting to the Harvest Automation Robots
- connect over shh
ssh agtech@10.42.0.1
- password:
RobotLab
- connect over wifi
- connect your computer running a configured Ubuntu 18 installation (see Ubuntu 18 Desktop) to the same WiFi network as the robot
- use the Harvest Automation instructions for configuring WiFi
Configuring the project
- update agtech code
cd Workspace/src/agtech
git pull
cd ~/Workspace
catkin_make
Running the project
- run ROS bridge
roslaunch hv_launch hv_bridge.launch
- run Demo & bridge
roslaunch hv_launch harvey.launch
- run Teleop & bridge
roslaunch hv_launch teleop.launch
- NOTE:
CTRL
+C
must be pressed twice to end this for some reason
- run ALL nodes
roslaunch hv_launch all.launch
All the nodes can also be launched with rosrun
, however when running the hv_bridge
use the -h
input argument to get information about options.
-
--hostname ROBOT_NAME
is used to set the name of the robot to connect to. this is that name that is set on the hv robot. -
--all
will set the connection to use all the connection classes with the robot -
--all-controllers
will use all the controllers -
--controllers [#, ...]
will use the specified controllers -
--all-sensors
will use all sensors -
--sensors [#, ...]
will use specified sensors -
--services
will add all ros services, and--services [SERV...]
will add specified services