1.1 What you need
1 x XV-11 Lidar with Controller or any supported 2D lidar.
1 x Ubuntu Installed laptop/desktop (Development Computer)
1 x Radxa Rock Pro (Robot’s computer) or any supported dev boards
1 x Teensy 3.1 Board or latest.
1 x GY-85 IMU
2 x L298 Beakout Board or any motor driver that has PWM (EN) and input pins (IN1 and IN2)
1 x Breadboard or Prototyping Board
1 x 12V Battery (Preferably 3S Li-Po Battery)
1 x Caster Wheels (only for 2WD)
2 x Robot Wheels (only for 2WD)
4 x Robot Wheels (only for 4wD)
4 x Mecanum Wheels (only for Mecanum Drive)
1 x Servo (only for Ackermann Steering)
1 x Wood or Acrylic sheet for the robot’s base
1.2.1 Dev Tools
Download the setup packages on your development computer and the robot’s computer:
Install the dev-tools on the robot’s computer:
1.2.2 uDev Rules
The serial ports for XV-11 lidar and Teensy board are defined using its static names on the roslaunch files. In order for the serial ports to be remembered and linked to its static names, a udev rule must be created.
Run lino’s uDev tool on the robot’s computer.
Plug in the Teensy board and key in “linobase”. Do the same thing for the XV-11 lidar and name it as “linolidar”. Save your uDev rules by pressing CTRL+C. Make sure to reboot the robot’s computer to reinitialize the rules.
After rebooting, run the following commands to confirm your uDev rules worked.
1.2.3 Network Setup
Configure your ROS network so your development computer know where the ROS Master(robot’s computer) is in your local network.
First, know the hostnames of your development computer and the robot’s computer. Run hostname on both computers:
Run lino_network.sh on the development computer:
and the robot’s computer:
1.3 Installing ROS Indigo
You need to install ROS Indigo on two Linux computers(Ubuntu 14.04). One computer to power the robot and another one for development.
Alternatively you can run the install scripts.
On your development computer, run:
On the robot’s computer:
After ROS installation, create and configure your ROS environment.
ROS needs to know which catkin workspace you want to use to find the right packages and dependencies. It would be convenient to automate this every time you open a new terminal.
1.4 Installing ROS Packages
On your robot’s computer, run ros_packages_install.sh to download all the ROS packages needed. Go to lino_setup folder and run:
Build the packages using catkin_make:
Next, clone the Linorobot platform you want to build. Replace linorobot* with the right Linorobot package:
linorobot https://github.com/grassjelly/linorobot (2WD Platform)
linorobot_4wd https://github.com/grassjelly/linorobot_4wd (4WD Platform)
linorobot_ackermann https://github.com/grassjelly/linorobot_ackermann (Ackermann Steering Platform)
linorobot_mecanum https://github.com/grassjelly/linorobot_mecanum (Mecanum Drive Platform)
For example you want to build an Ackermann steering robot:
Download the remaining ROS packages on your development computer:
1.5 Launching and editing files
Linorobot supports different ROS based platforms (2WD, 4WD, Ackermann Steering, and Mecanum Drive). The examples in this tutorial is based on the 2WD platform (https://github.com/grassjelly/linorobot) package so you need to change the launch files or directory accordingly based on the platform you are working on.
For example if you are launching bringup.launch for linorobot_ackermann,
The tutorial will ask you to run:
Since you’re working on linorobot_ackermann, you need to run this instead:
The same for editing files or changing directories. Instead of following the default instruction:
Change to this:
1.6 ROS Tutorials
It is recommended to read through the ROS Tutorials to get you familiarize with ROS’s jargons, standards, and methodologies used in this tutorial.
2. Base Controller
Now you’re ready to build the hardware. Please proceed to base-controller page.