Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
hardware:rb1_quickstart [2021/02/12 10:26]
cedric.lb created
hardware:rb1_quickstart [2021/02/12 14:25] (current)
cedric.lb [Controlling the kinova-arm only]
Line 7: Line 7:
 ===== Prerequisites ===== ===== Prerequisites =====
  
-Installing ​ROS.+==== ROS ==== 
 + 
 +ROS 
 + 
 +If it hasn't been done already, the first step is to install ​ROS. The installation process and required ROS version vary depending on the OS. The simulation has been tested on ROS melodic and kinetic. 
 + 
 +ROS Melodic (Ubuntu 18.04): http://​wiki.ros.org/​melodic/​Installation 
 +ROS Kinetic (Ubuntu 16.04): http://​wiki.ros.org/​kinetic/​Installation 
 + 
 +If this is your first time using ROS, it is recommended to follow the tutorials at: http://​wiki.ros.org/​ROS/​Tutorials 
 + 
 +The next step is to create a catkin workspace to put all the simulation packages. Details are provided here: http://​wiki.ros.org/​ROS/​Tutorials/​InstallingandConfiguringROSEnvironment 
  
 ===== Initializing the Robot ===== ===== Initializing the Robot =====
Line 13: Line 25:
 Starting the robot and initializing the CPU requires pressing buttons at the back of the robot in a certain order. Starting the robot and initializing the CPU requires pressing buttons at the back of the robot in a certain order.
  
-{{hardware:​rb1_starting?​500}}+{{hardware:​rb1_starting.png?500}}
  
 The green switch corresponds to the ON/OFF button and is responsible for providing energy to the rest of the system. The yellow button resets the motors. The blue button turns the CPU on/​off. ​ The green switch corresponds to the ON/OFF button and is responsible for providing energy to the rest of the system. The yellow button resets the motors. The blue button turns the CPU on/​off. ​
Line 28: Line 40:
     # add the following line     # add the following line
     192.168.0.200 ​  rb1     192.168.0.200 ​  rb1
-    ​+
 Next, the computer'​s IP has to be added to the robot'​s own /etc/hosts. This step is necessary to control several ROS topics from a remote computer. Next, the computer'​s IP has to be added to the robot'​s own /etc/hosts. This step is necessary to control several ROS topics from a remote computer.
  
Line 34: Line 46:
  
     user@remote:​~$ ifconfig     user@remote:​~$ ifconfig
-    ​+
 Once you have obtained your IP adress (192.168.x.x),​ connect to the robot and add the name of your computer (equivalent of remote in the example above) to the /etc/hosts file. Once you have obtained your IP adress (192.168.x.x),​ connect to the robot and add the name of your computer (equivalent of remote in the example above) to the /etc/hosts file.
  
Line 41: Line 53:
     # add the following line     # add the following line
     192.168.x.x ​ name_of_computer     192.168.x.x ​ name_of_computer
 +
 +Note: As a security measure, super user privileges were removed from the rb1 user. To access an account with the required permissions and edit the file, contact Panagiotis.
  
 ===== Using ROS to control the RB1 ===== ===== Using ROS to control the RB1 =====
 +
 +ROS packages are available to control the RB1 robot with ROS. They can be used to move the robot'​s arm around. They require using MoveIt and rviz.
  
 ==== From the rb1 directly ==== ==== From the rb1 directly ====
  
 +In order to control the robot directly using rviz, it is necessary to connect a screen and keyboard to the robot. A ssh connection to the robot isn't enough as the rviz interface won't be displayed.
 + 
 +Once the screen is connected, a Ubuntu 14 interface will be displayed.
 +
 +In order to start manipulating the robot'​s arm, open a terminal: ​
 +
 +    rb1@rb1:~$ cd catkin_ws/
 +    rb1@rb1:~$ source devel/​setup.bash
 +    rb1@rb1:~$ roslaunch rb1_jaco_3fg_moveit_config demo_rtc.launch
 +
 +This will open rviz and moveit. In Motion Planning > Planning Request > Planning Group, select '​rb1_arm'​. By default, it is on '​gripper'​ and they cannot be controlled via the moveit interface.
 + 
 +{{hardware:​rb1_real_moveit_indigo_arm.png?​500}}
 +
 +The arm can now be moved as wanted.
  
 +{{hardware:​rb1_real_moveit_rviz.png?​500}}
 ==== From a remote computer ==== ==== From a remote computer ====
  
 +The rb1 can also be controlled remotely from a computer. First, connect to the robot'​s Wifi, open a terminal and type:
 +
 +    user@remote:​~$ export ROS_MASTER_URI=http://​rb1:​11311
 +
 +Typing this command is necessary to communicate with the ROS topics on the robot. It has be typed every time a new terminal is opened. If frequent use is necessary, consider adding this line to ~/.bashrc. However, don't forget to remove it when you are no longer using the RB1 as this will prevent ROS from starting locally.
 +
 +To check whether it worked, type in the same terminal:
 +
 +   ​user@remote:​~$ rostopic list
 +
 +If everything is working correctly, this will display the different topics from the rb1 robot.
 +
 +The packages necessary to control the rb1 can be copied from the robot.  ​
 +
 +   ​user@remote:​~$ mkdir -p ~/​catkin_rb1_ws/​src
 +   ​user@remote:​~$ scp -r rb1@rb1:​~/​catkin_ws/​src/​* ~/​catkin_rb1_ws/​src/​
 +   ​user@remote:​~$ cd ~/​catkin_rb1_ws
 +   ​user@remote:​~/​catkin_rb1_ws$ catkin_make ​  
 +
 +Some robot-specific packages may fail compiling (missing dynamixel.h / libpcan.h). If those are the only errors, you may continue.
 +
 +Rviz and move it can now be started to control the robot:
 +
 +   ​user@remote:​~/​catkin_rb1_ws$ source devel/​setup.bash
 +   ​user@remote:​~/​catkin_rb1_ws$ roslaunch rb1_jaco_3fg_moveit_config demo_rtc.launch
  
 ===== Controlling the kinova-arm only ===== ===== Controlling the kinova-arm only =====
  
 +The kinova'​s arm can be controlled individually. The required packages can be downloaded as followed:
 +
 +    user@remote:​~$ mkdir -p ~/​catkin_kinova/​src
 +    user@remote:​~$ cd catkin_kinova/​src
 +    user@remote:​~/​catkin_kinova/​src$ git clone https://​github.com/​Kinovarobotics/​kinova-ros
 +    user@remote:​~/​catkin_kinova/​src$ catkin_make
 +
 +Next, it is first necessary to connect the computer to the arm via USB. This requires an USB-A to USB-B cable.
 +
 +In the computer network settings, select wired settings, and create a new configuration. The connection has to be **Link-Local Only**.
 +
 +ROS can now be started:
 +
 +    user@remote:​~$ cd ~/​catkin_kinova
 +    user@remote:​~/​catkin_kinova$ source devel/​setup.bash
 +    user@remote:​~/​catkin_kinova$ roslaunch kinova_bringup kinova_robot.launch kinova_robotType:​=j2n6s300 ​
 +
 +This will start rviz and moveit and allow control of the arm.
 +
 +{{hardware:​kinova_rviz.png?​500}}
 +    ​
 +More further information and additional launchfiles:​ {{ https://​github.com/​Kinovarobotics/​kinova-ros/​wiki/​MoveIt }}
 +    ​
 ===== Known issues ===== ===== Known issues =====
 +
 +** The torso isn't working.**
 +
 +Work in progress.
 +
 +** Remote controller: "​Unable to connect to move_group action server '​move_group'​ within allotted time (30s)"
 +and "​Action client not connected: rt_traj_exe/​follow_joint_trajectory"​**
 +
 +First, check whether the rt_traj_exe/​follow_joiny_tractory is visible on the computer.
 +
 +   ​user@remote:​~$ rostopic list
 +
 +If they are not visible, type '​export ROS_MASTER_URI=http://​rb1:​11311'​ and retry.
 +
 +If they are visible but the simulation still doesn'​t work, it means that the rb1's etc/hosts file is missing the computer'​s IP and name or that the information are incorrect.
  
  
  • hardware/rb1_quickstart.1613125601.txt.gz
  • Last modified: 2021/02/12 10:26
  • by cedric.lb