Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
hardware:rb1_quickstart [2021/02/12 11:28]
cedric.lb
hardware:rb1_quickstart [2021/02/12 14:22]
cedric.lb [From the rb1 directly]
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 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_plan.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.
 +    ​
 +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.txt
  • Last modified: 2021/02/12 14:25
  • by cedric.lb