iri_ana_how_to
The Ana robot is based on a Pioneer 3 AT platform which has been updated with:
-
Custom 250Wh motor battery from AMOPACK with monitoring electronics.
-
Custom 500Wh payload battery from AMOPACK with monitoring electronics.
The expected autonomy of the robot is around 5 hours, and it can operate on its own with the embedded computer.
In addition to the standard Pioneer sensors (sonars and bumpers) the Ana robot provides:
-
A low cost IMU sensor Adafruit BNO055
-
A 3d Lidar Velodyne VLP-16 PUCK
-
A depth camera Intel RealSense D435
All theses sensors are mainly used for navigation and mapping purposes.
The upper part of the robot provides additional sensors and computers to detect and track people in urban environments. These sensors include:
and are placed on top of a custom pan&tilt platform.
A fully featured gazebo model is also provided to test the robot in simulation.
Procedures
Here are the basic precedures to use the robot. Please follow them carefully whenever you need to use the robot.
-
Startup, operation and shutdown
How to use the simulated robot
A Gazebo model for the Ana platform and all its sensors is provided to speed up the testing process.
To set up the simulator, please follow the next steps:
Install the following system dependencies:
sudo apt-get install ros-kinetic-velodyne-description ros-kinetic-velodyne-gazebo-plugins ros-kinetic-hector-gazebo-plugins
Install the iri_core dependencies following the instructions in the iri_ros_how_to repository.
Install all IRI ros dependencies:
If you want to use a new ROS workspace:
-
Create a new workspace following the steps in this tutorial.
-
Copy the ana_sim.rosinstall file to the src folder of the new workspace.
-
Initialize the wstool tool on the src folder following the steps in this tutorial using the ana_sim.rosinstall file available on this repository. From the src folder, execute:
roscd
cd ../src
wstool init ana_sim.rosinstall
If you want to use an existing ROS workspace:
-
Copy the ana_sim.rosinstall file to the src folder of the existing workspace.
-
Merge the ana_sim.rosinstall file available on this repository with the existing rosinstall file following the steps in this tutorial. From the src folder, execute:
roscd
cd ../src
wstool merge ana_sim.rosinstall
Download the simulator packages by executing the following command from the src folder:
wstool update
Compile the newly downloaded packages with the following command:
cd ..
catkin_make
Once the setup process is complete, start the simulator with the following command:
roslaunch iri_ana_gazebo sim_sample.launch
This command should launch the robot with all its sensors in an empty environment with the RVIZ pre-configured to show all sensor data. The name and namespace of all topics, services and actions are exactly the same as in the real robot, although not all of them are available.
A complete list of all ROS interfaces is shown here.
How to use the real robot
The robot's on-board computer has all the necessary ROS nodes to operate the robot and it is fully configured.
IMPORTANT: when using the real robot, make sure you follow all the procedures listed here to start, operate, shut down and handle the batteries.
There are two ways to connect to the robot using an external computer:
-
Wireless: the robot creates a hot spot
-
Cable:
Once connected to the same network, configure the external computer following the instructions in this tutorial.
At this point, you should have acces to all the topic, services and actions provided by the robot. A complete list of all ROS interfaces is shown here.
What to do next
All the tutorial included in this section can be used both in simulation or with the real robot.
-
To teleoprate the robot, follow the instructions in this tutorial
-
To create a map of the simulated environment, follow the instructions in this tutorial[]
-
To navigate the robot in the new environment, follow the instructions in this tutorial[]
Some tutorials specific to the simulated robot:
- To change the simulated environment edit the [] file and
Developers
For advanced users and developers, here there is a more in depth information about the Ana robot and all its dependencies.