-
Notifications
You must be signed in to change notification settings - Fork 6
Home
Hanzhe Teng edited this page Mar 15, 2018
·
5 revisions
This is just a summary for all the steps to set up a new robot, details for each step are shown in the following chapters.
- Install Ubuntu (16.04 LTS) operating system for the onboard computer.
- Login into the onboard computer, run
update-manager
to make system up-to-date. - Run commands
sudo apt-get update
andsudo apt-get upgrade
to make your software up-to-date. - Follow ROS installation instructions to install (desktop-full) ROS Kinetic.
- Follow ROSARIA tutorial to create a new workspace, install ARIA library, git clone rosaria package and catkin_make it. For further convenience, don't forget to add
source xxx
command to.bashrc
file. - Add your Linux user to
dialout
group so that you could get access to serial port likettyS0
. This is an essential requirement for the communication with the microcontroller on pioneer robot. - Configure the network such that robots could automatically connect to the network when powered on.
- Modify your hosts file to make further connections easier.
- Install SSH by
sudo apt-get install openssh-server
for further SSH connections from your laptop or other hosts. - Make a SSH keygen on your laptop and copy it to this onboard computer by
ssh-copy-id username@hostname
. - Git clone and
catkin_make
this repository on all the robots and your laptop. Enjoy working with your robots!
- Type: Renesas SH2-based microcontroller
- Firmware: Advanced Robotics Control and Operations (ARCOS)
- Type: Corvalent Q87 mini-ITX single board computer
- Operating System: updated to Ubuntu 16.04 LTS
- CPU: intel core 2 duo, P8400
- RAM: 2GB
- Disk: 150GB
- BIOS Supplier: Phoenix (press
DEL
key when booting)
- SDK Name: MobileRobots' Advanced Robot Interface for Applications (ARIA)
- Language: C++
- Name: RoboWare
- Version: 1.1
- Main Page: http://robots.mobilerobots.com/wiki/Main_Page
- Manuals: http://robots.mobilerobots.com/wiki/Manuals
- ARCOS: http://robots.mobilerobots.com/wiki/ARCOS
- Onboard Computer: http://robots.mobilerobots.com/wiki/Onboard_Computers
- ARIA: http://robots.mobilerobots.com/wiki/ARIA
- ROSARIA: http://wiki.ros.org/ROSARIA/Tutorials
- Beeps Info: http://robots.mobilerobots.com/wiki/Robot_Beeps
- RoboWare Official Website: http://www.roboware.me
- Make a bootable USB stick (URL shows as below)
- Modify BIOS to let USB boot first (press DEL to enter BIOS)
- Boot from your USB stick
- You may see a prompt
Not a COM32R image
, then pressTab
key and the computer will provide a text menu. - You may see a prompt
live live-install test
, then typelive
and hitenter
key; this will lead to a boot option of Live CD [sic]. - When you login into the Ubuntu desktop, you can start the installation.
- If you see an error prompt
end kernel panic - not syncing: vfs: unable to mount root fs on unknown block(2,0)
, then your USB stick may have some problem and you need to remake it. - If the
install now
button is of grep color that cannot be clicked, you may pressback
andnext
again to solve it. - If your Onboard computer only has 2GB RAM, even though the CPU could support 64-bit operating system (amd64), it is better to install a 32-bit one.
- Boot from your USB stick, run the command
sudo gparted
- Boot from your USB stick, run the installation program, and select
something else
instead ofErase disk and install Ubuntu
when you have to chooseinstallation type
.
- How to uninstall the operating system: https://lifehacker.com/how-to-uninstall-windows-or-linux-after-dual-booting-508710422
- How to install your ubuntu system: https://tutorials.ubuntu.com/tutorial/tutorial-install-ubuntu-desktop#0
- How to create a bootable USB stick: https://tutorials.ubuntu.com/tutorial/tutorial-create-a-usb-stick-on-ubuntu#0
- One possible problem: https://askubuntu.com/questions/67780/not-a-com32r-image-error-when-trying-to-install-from-a-usb-key
- One possible problem: https://askubuntu.com/questions/592213/setup-error-end-kernel-panic-not-syncing-vfs-unable-to-mount-root-fs-on-unk
- Connect to an existing wifi network
- Edit ipv4 settings
- Change method from
DHCP
toManual
- Add address, netmask and gateway (e.g. 192.168.1.xxx, 255.255.255.0 or 24, 192.168.1.1)
- Add DNS server (you can find these info on your router) (e.g. a DNS server of WAN, or directly add the same address as gateway)
- Check
requiring IPv4 addressing ...
- Switch to
General
tab and checkautomatically connect to this network ...
andall users may connect ...
Notice: if you are running a virtual machine, the network settings of this virtual machine must be set to Bridge
mode instead of NAT
.
By command nmap -sP 192.168.1.0/24
, where /24
means to use 24 bits subnet mask.
- Make sure two computers have a static IP (or resolvable hostname)
- Use command
ping xxx.xxx.xxx.xxx
orping hostname
to check if they can communicate with each other. If not, there may be some problems with your IP or network configuration. - Install the SSH server program on your server computer by command
sudo apt-get install openssh-server
. (openssh-client
is already installed by default) - Basic login command:
ssh username@hostname
ssh [email protected]
-
ssh 192.168.1.201
(if the username of two computers are the same) -
ssh -p 1234 [email protected]
(if you want to change your port number to 1234, by default the port number is 22) -
ssh hao@robot1
(if you modified your hosts file) -
ssh -X hao@robot1
(-X means you can open some GUI on guest computer)
- Logout command:
exit
- You may modify your SSH server configuration (port, user type, etc.) in
/etc/ssh/sshd_config
- If you want to use hostname (instead of IP) to login other computers, modify your
hosts
file by command:sudo gedit /etc/hosts
- If you don’t want to enter password every time you login, you can make a SSH key on your client computer via command
ssh-keygen
, and then copy it to your server computer via commandssh-copy-id username@hostname
Recommend parallel-ssh (PSSH), a reference link is shown below.
Command: sudo systemctl restart network-manager
- How to set a static IP: http://blog.csdn.net/saviourxx/article/details/8702821 (Sorry about that this is a Chinese tutorial, if you don’t understand it, maybe you can try “translate this webpage to English” on your browser)
- How to use SSH to login: http://blog.csdn.net/netwalk/article/details/12952051
- PSSH: http://www.linuxidc.com/Linux/2013-08/88547.htm
Since Onboard computer use serial port ttyS0
to connect with microcontroller, we need to give the present user proper permission to get access to this serial port.
- Check if
ttyS0
belongs todialout
group
- by command
ls -l /dev/ttyS0
- Check how many groups the user belongs to
- by command
groups username
- Add this user to dialout group
- by command
sudo gpasswd -a username dialout
- Reboot your computer
- If you want to remove it from this group
- by command
sudo gpasswd -d username dialout
- Follow the instruction on ROS official website.
- add a newline
source ~/workspace/devel/setup.bash
to your~/.bashrc
file.
- Install rosaria_client package by the below reference link.
- Run commands
roscore
rosrun rosaria rosaria _port:="/dev/ttyS0"
rosrun rosaria_client interface
- Or you can also start it by roslaunch (port param need to be modified)
roslaunch rosaria_client rosaria_client_launcher
- Prompt
Clock skew detected
: you may change system time manually - Command line could not autocomplete when try
rosrun
orroslaunch
: it happens when a new ros package was added to the present workspace/src path
- Solve by command:
rospack profile
- There is a problem in
rosaria_client
package that the robot cannot move continuously for 3 seconds because ROSARIA will stop it if nocmd_vel
messages are received after 600ms (configurable viacmd_vel_timeout
parameter.)
- ROS Installation: http://wiki.ros.org/kinetic/Installation/Ubuntu
- Multiple Machines: http://wiki.ros.org/ROS/Tutorials/MultipleMachines
- Wiki of ROSARIA: http://wiki.ros.org/ROSARIA
- How to use ROSARIA: http://wiki.ros.org/ROSARIA/Tutorials/How%20to%20use%20ROSARIA
- Demo code of ROSARIA: https://github.com/pengtang/rosaria_client