ros_whill_arc is a modified version of ros_whill for NUS ME5400 ARC project. The main differences comparing with the original version are:
- Tested on ROS Noetic
- Modified Joystick Control
- Modified CMD_VEL Control
- Add Lidar to xacro file
- Add laser scan fusion node
- Add SLAM launch files
- Add AMCL and MOVE_BASE launch files
ros_whill is a ROS package for WHILL Model CR.
We also have a FAQ and developers community website for current and potential Model CR users.
For general questions and requests, please visit https://whill.zendesk.com/hc/ja .
- ROS Noetic
install required ros pkg
sudo apt-get install ros-noetic-serial ros-noetic-pointcloud-to-laserscan ros-noetic-tf2-sensor-msgs
~controller/joy (sensor_msgs/Joy)
- Virtual WHILL joystick input. You can controll WHILL via this topic.
~controller/cmd_vel (geometry_msgs/Twist)
- cmc_vel input. You can controll WHILL via this topic.
- This command is only available Model CR firmware updatedd after 2019.12. If you want to use this cmd_vel, please update firmware of Model CR by contact to sales of WHILL.
~states/joy (sensor_msgs/Joy)
- Joystick status
~states/jointState (sensor_msgs/JointState)
- Wheel rotate position(rad) and rotation velocity(rad/s)
~states/imu (sensor_msgs/Imu)
- IMU measured data.
~states/batteryState (sensor_msgs/BatteryState)
- Battery information
Clear Odometry
True to send power on command, false to power off.
You can set WHILL speed profile for ~controller/joy
topic.
ros_whill/SpeedPack forward
float32 speed # m/s
float32 acc # m/ss
float32 dec # m/ss
ros_whill/SpeedPack backward
float32 speed # m/s
float32 acc # m/ss
float32 dec # m/ss
ros_whill/SpeedPack turn
float32 speed # rad/s
float32 acc # rad/ss
float32 dec # rad/ss
---
bool success
string status_message
See: https://github.com/WHILL/ros_whill/blob/melodic-devel/params/initial_speedprofile.yaml
Set true to try to keep connected by re-opening port and sending power-on command. Though the WHILL automticarry wakes up even you turn off manualy or by power-off command.
False to stop publishing odom
to base_link
tf. If other node publishs, set value to false.
The ros_whill.launch
is using environmental variable TTY_WHILL
for specify which serial port to be used.
Edit your ~/.bashrc
(bash) or ~/.zshrc
(zsh) to add this line:
export TTY_WHILL=/dev/[YOUR SERIAL PORT DEVICE]
for example
echo "export TTY_WHILL=/dev/ttyUSB0" >> ~/.bashrc
Setting will be applied automatically from next shell starting or booting up.
In your shell:
(bash)
source ~/.bashrc
(zsh)
source ~/.zshrc
echo $TTY_WHILL # -> Should be /dev/[YOUR SERIAL PORT DEVICE]
Edit
/lib/udev/rules.d/50-udev-default.rules
And add:
KERNEL=="ttyUSB[0-9]*", MODE="0666"
$ roslaunch ros_whill ros_whill.launch
roslaunch ros_whill ros_whill.launch serialport:=/dev/[YOUR SERIAL PORT DEVICE]