Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags. |
Installation and Usage
Description: Install Caster sotfware with ROS kineticKeywords: iquotient-robotics Caster
Tutorial Level: INTERMEDIATE
Contents
This tutorial mainly includes installation and usage, following this tutorial and you will be able to use Caster. This will be helpful in your development.
Installation
1. Download the github package
cd ~/catkin_ws/src curl https://raw.githubusercontent.com/I-Quotient-Robotics/caster_ros/master/caster_desktop_install.sh | sh
2. Compile
cd .. || catkin_make
Preparation
Network Information
Network info
Network segment |
192.168.33.0/24 |
Device List
Device |
Host |
IP |
Caster-PC |
caster-pc |
192.168.33.5 |
Hokuyo LX-20 |
none |
192.168.33.7 |
External Device Settings
Address |
192.168.33.x |
Subnet mask |
255.255.255.0 |
Network Connections
Now we need a Ubuntu computer with ROS Kinetic, called external PC. Refer to the network information section above, setting the IP address of the external PC, and connecting the network cable to the chassis switch.
Test Network
1. Ping IP address
ping 192.168.33.5
2. Using domain name
ping caster-pc.local
Setup External PC
Following these steps to complete the link and restarting the terminal.
echo 'export ROS_MASTER_URI="http://caster-pc.local:11311"' >> ~/.bashrc
Startup with ROS
1. Login Caster PC using SSH.
2. Start base control program on caster pc.
roslaunch caster_base base.launch
3. Start ROS diagnostic monitor on external PC.
rosrun rqt_runtime_monitor rqt_runtime_monitor
4. Use rviz to view Caster sensor information on external PC.
roslaunch caster_viz display.launch type:=view
Joystick Control
Joystick Function Definition
See github wiki Definition
Move
1. Start up Caster's ROS function and connecting the joystick to the external PC.
2. On external PC, run the following command to start Caster's joystick control program
roslaunch caster_teleop teleop.launch
3. Control Caster according to the definition of joystick function.
Create Map
1. Run gmapping in Caster-PC.
roslaunch caster_navigation gmapping.launch
2. In the external PC, run the following command to view the gmapping.
roslaunch caster_viz display.launch type:=gmapping
3. Start joystick Control, Moving Caster to finish gmapping, login Caster-PC and run the following command to save the map.
roscd caster_navigation/map rosrun map_server map_saver -f [map name]
Navigation
1. run the following command to start navigation on Caster-PC
roslaunch caster_navigation navigation.launch map_file:=$(rospack find caster_base)/map/home.yaml
Using the map_file parameter to load the map, such as home.yaml.
2. In the external PC, run rviz with navigation config
roslaunch caster_viz display.launch type:=navigation
3.In rviz, setting the initial position of the robot and giving a goal.
Auto Charge
1. Start the navigation, set the initial position and dock position correctly.
2. run the following command to start the automatic charging
roslaunch caster_app caster_app.launch
3. Press START button on the joystick to start auto charge process. Press BACK button on the joystick if you want undock the robot.
Note: Do not use navigation when caster is on charging. Make sure Caster is properly undocked when using navigation.